مقدمة عن وضع العلامات من جهة الخادم

تُعدّ ميزة "وضع العلامات من جهة الخادم" طريقة جديدة لاستخدام أداة "إدارة العلامات من Google" لقياس أداء تطبيقك على جميع الأجهزة. تستخدم حاويات الخادم نفس العلامة وعامل التفعيل ونموذج المتغيّر الذي اعتدت عليه، مع توفير أدوات جديدة تتيح لك إمكانية قياس نشاط المستخدم أينما حدث.

إنّ الضبط النموذجي لوضع العلامات بدون وضع العلامات من جهة الخادم يعتمد على حاوية في الصفحة لإرسال بيانات القياس إلى خوادم جمع مختلفة. يوضّح الشكل 1 مثالاً على كيفية إرسال حاوية الويب في أداة "إدارة العلامات من Google" التي يتم تشغيلها في متصفّح الويب البيانات إلى خوادم متعدّدة.

مخطّط بياني لموقع إلكتروني تم قياسه لاستخدام حاوية ويب في أداة "إدارة العلامات من Google"

الشكل 1: رسم بياني لموقع إلكتروني تم إعداده لاستخدام حاوية ويب في أداة "إدارة العلامات من Google".

على النقيض من ذلك، لا تعمل حاوية الخادم في متصفح المستخدم أو على هاتفه. وإنما يتم تشغيله على خادم يمكنك التحكم فيه.

رسم بياني لموقع تم قياسه باستخدام حاوية وضع علامات من جهة الخادم.

الشكل 2: مثال على إعدادات وضع العلامات التي تستخدم حاوية خادم

يعمل الخادم في مشروعك على Google Cloud Platform، أو في بيئة مختلفة من اختيارك، ولا يمكن لأحد غيرك الوصول إلى البيانات على الخادم، حتى تختار إرسالها إلى مكان آخر. ويمكنك التحكم بشكلٍ كامل في كيفية تشكيل تلك البيانات، وفي مكان توجيهها من الخادم. يتم إنشاء العلامات باستخدام تقنية JavaScript المحمية. وتمنحك الأذونات مستوى رؤية لما يمكن أن تفعله العلامة، وتسمح لك السياسات بوضع حدود حول الحاوية.

يتلقّى الخادم طلبات الويب من جهاز المستخدم ويحوِّل هذه الطلبات إلى أحداث. تتم معالجة كل حدث بواسطة علامات الحاوية والمشغلات والمتغيرات. تعمل العلامات والعوامل المُشغِّلة والمتغيرات في حاوية الخادم تمامًا كما تعمل في الأنواع الأخرى من الحاويات: تعمل العوامل المشغِّلة على فحص كل حدث للبحث عن شروط معيّنة، وعند الاقتضاء، تنشيط العلامات التي تُرسل بيانات الأحداث المطلوب معالجتها.

يقدم هذا النموذج سؤالين مهمين لحاويات الخوادم:

  • كيف تنتقل بيانات القياس من جهاز المستخدم إلى حاوية الخادم؟
  • كيف يتم تحويل بيانات القياس المرسلة إلى حاوية الخادم إلى حدث؟

الإجابة عن كلا السؤالين هي نوع جديد من الكيانات لاستخدامه في حاويات الخادم: عميل.

كيفية عمل العملاء

البرامج هي محوّلات بين البرنامج الذي يعمل على جهاز المستخدم وحاوية الخادم. يتلقّى العميل بيانات القياس من أحد الأجهزة، ويحوِّل هذه البيانات إلى حدث واحد أو أكثر، ويوجِّه البيانات إلى أن تتم معالجتها في الحاوية، ويجمِّع النتائج لإرسالها مرة أخرى إلى مقدِّم الطلب.

تعد هذه معلومات كثيرة. لنلقِ نظرة فاحصة على كل جزء على حدة. يوضح الشكل 3 تدفق البيانات إلى حاوية الخادم من متصفح الويب للمستخدم، ومن خادم الويب إلى حاوية الخادم.

رسم بياني لموقع تم قياسه باستخدام حاوية وضع علامات من جهة الخادم.

الشكل 3: يعالج برنامج مختلف كل مصدر من البيانات.

يتلقّى العملاء بيانات القياس من أحد الأجهزة. لنفترض أنك تريد قياس نشاط المستخدم في ثلاثة أماكن: موقع ويب، وتطبيق هاتف، ومحمصة خبز ذكية. يستخدم موقعك الإلكتروني "إحصاءات Google"، في حين يستخدم تطبيق الهاتف "إحصاءات Firebase"، وتستخدم محمصة الخبز بروتوكولاً خاصًا يسمى "ToastMeasurement".

وعادةً ما يتطلب قياس حالة هذه الأجهزة الثلاثة باستخدام أداة "إدارة العلامات من Google" حاوية مختلفة لكل نظام أساسي. بما أن حاوية الخادم لا تعمل على الجهاز، يمكن للحاوية نفسها التعامل مع أدوات الإحصاءات لجميع الأنظمة الأساسية الثلاثة للأجهزة. لَكِنْ هُنَاكَ مُشْكِلَة. هذه الأجهزة لا تتواصل جميعها بالطريقة ذاتها. إن بروتوكول "إحصاءات Google" ليس هو نفسه بروتوكول Toastmeasure. هنا يأتي دور العملاء.

بدلاً من هذه الحاويات الثلاثة، تحتوي حاوية الخادم على ثلاثة عملاء. سيعالج كل عميل كل طلب يأتي في الحاوية ترتيبًا حسب الأولوية، على أن يكون له أولوية قصوى أولاً. أول شيء سيفعله كل عميل هو أن يقرر ما إذا كان يعرف كيفية معالجة هذا النوع من الطلبات. وإذا تمكّن العميل من "المطالبة" بالطلب، وينتقل إلى المرحلة التالية من المعالجة. تؤدي المطالبة بالطلب إلى منع العملاء اللاحقين من العمل. وإذا لم يتمكن العميل من معالجة الطلب، لن يفعل أي شيء ويسمح للعملاء الآخرين بتحديد ما إذا كان سيتم التعامل مع الطلب أم لا.

يحوِّل العملاء بيانات الطلب إلى حدث واحد أو أكثر. بعد أن يطالب عميل ToastMeasurement بطلب، عليه تحويل الطلب إلى طلب تفهمه بقية الحاوية. هذا شيء ما عبارة عن مجموعة من الأحداث.

الأحداث هي الأشياء التي تريد قياسها. ويمكن أن تكون أي نوع: start_toasting أو finish_toasting أو buy_bread. هناك بعض الاقتراحات حول بنية الأحداث التي ينشئها العميل، ولكن الشرط الوحيد هو أن تفهمها باقي الحاوية.

يشغّل العملاء الحاوية. طالب العميل بالطلب وحوّله إلى أحداث. حان الوقت الآن للعلامات والمشغلات والمتغيرات. يمرر العميل كل حدث إلى بقية الحاوية لإجراء مزيد من المعالجة.

يجمع العملاء النتائج لإرسالها إلى الجهاز مرة أخرى. بمجرد تشغيل الحاوية، يحين وقت الاستجابة لتحميص الخبز. يمكن أن تتخذ الاستجابة العديد من الأشكال. ربما يقول العميل "حسنًا، لقد تم". ربما تريد إحدى العلامات إعادة توجيه الطلب إلى خادم مجموعة آخر. أو ربما تخبر إحدى العلامات الأضواء الموجودة على محمصة الخبز لتغيير ألوانها. أيًا كان ما يفترض أن يحدث، فإن مهمة العميل هي تجميع النتائج وإرسالها مرة أخرى إلى مقدم الطلب.

لحسن الحظ، تعالج أداة "إدارة العلامات من Google" الكثير من هذه المشاكل. تأتي حاويات الخادم مع ثلاثة برامج عملاء مضمّنة: "إحصاءات Google 4" و"إحصاءات Google" وUniversal Analytics وMeasurement Protocol. يوفر هؤلاء العملاء الأدوات التي تحتاجها لبدء قياس تطبيقك بمجرد إنشاء الحاوية.

مثال قصير

لنستعرض مثالاً سريعًا لنرى كيف تتلاءم جميع القطع معًا. في هذا المثال، ستنشئ ما يلي:

  1. موقع إلكتروني بسيط يستخدم gtag.js لإرسال حدث click إلى حاوية خادم.
  2. عميل "إحصاءات Google 4" يتلقّى الحدث.
  3. عامل تشغيل يتم تنشيطه عند حدوث حدث click.
  4. علامة "إحصاءات Google 4" التي تُرسل بيانات الأحداث إلى "إحصاءات Google" لمعالجتها.

في هذا المثال، نفترض أنّك أنشأت ونشرت حاوية الخادم.

ضبط gtag.js

أولاً، عليك ضبط gtag.js لإرسال البيانات إلى حاوية الخادم. باستخدام gtag.js، يعمل إرسال البيانات إلى حاوية الخادم تمامًا مثل إرسال البيانات إلى "إحصاءات Google"، مع تعديل واحد. كما هو موضّح في صفحة المثال أدناه، اضبط خيار الإعداد server_container_url للإشارة إلى حاوية الخادم.

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });
</script>

استبدِل TAG_ID برقم تعريف العلامة الخاص بك. استبدلhttps://analytics.example.com بعنوان URL لحاوية الخادم.

بعد ذلك، أضِف دالة sendEvent() للتعامل مع أحداث click:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });

  function sendEvent() {
    gtag('event', 'click');
  }
</script>

<button onclick="javascript:sendEvent()">Send Event</button>

استبدِل TAG_ID برقم تعريف العلامة الخاص بك. استبدلhttps://analytics.example.com بعنوان URL لحاوية الخادم.

من خلال هذه الإعدادات، سترسل معالجات الأحداث مثل دالة sendEvent() المضمّنة في هذا المثال حدث click إلى حاوية الخادم.

عميل "إحصاءات Google 4"

تحتاج الحاوية إلى برنامج لتلقّي الحدث بعد وصوله إلى الخادم. لحسن الحظ، تأتي حاويات الخوادم مع برنامج على "إحصاءات Google 4" مثبَّت مسبقًا، لذا تكون قد انتهيت من هذه الخطوة.

مشغِل النقر

بعد ذلك، أنشئ مشغِّلاً يتم تنشيطه عند حدث click. أنشئ مشغّلًا مخصّصًا يتم تنشيطه عندما يكون المتغيّر المضمّن اسم الحدث يساوي "النقر".

إعداد المشغِّل

علامة "إحصاءات Google 4"

أخيرًا، أرفِق علامة "إحصاءات Google 4" بالمشغِّل. كما هو الحال مع العملاء، تأتي حاوية الخادم مع علامة "إحصاءات Google 4" (GA4) ما عليك سوى إنشاء العلامة وضبط إعداداتك، والآن قد انتهيت من ضبط الحاوية. تمّ تصميم برامج "إحصاءات Google 4" وعلامات "إحصاءات Google 4" للعمل معًا. وهذا يعني أنّ كل ما عليك فعله هو إنشاء علامة "إحصاءات Google 4" وسيتم سحب إعداداتها تلقائيًا من الأحداث الصادرة من العميل.

معاينة الحاوية

الآن بعد أن تم إعداد الحاوية، انقر على معاينة. انتقل إلى موقعك الإلكتروني في نافذة متصفح أخرى. عند إرسال الطلبات والأحداث إلى حاوية الخادم، ستظهر لك الطلبات والأحداث مُدرجة على يمين صفحة المعاينة.

بعد أن تصبح راضيًا عن التغييرات التي أجريتها، انشر حاوية الخادم.

ضبط إعدادات خادمك لاستخدام وضع الإنتاج مع عرض إعلانات الطرف الأول

قبل إرسال أي زيارات إنتاج إلى حاوية الخادم، ننصحك بشدة بتثبيت الخادم على نطاق الطرف الأول الخاص بك وترقية الخادم إلى وضع الإنتاج.