وضع العلامات من جهة الخادم هو طريقة جديدة لاستخدام أداة "إدارة العلامات من Google" لرصد تطبيقك على جميع الأجهزة. تستخدِم حاويات الخادم نموذج العلامة والمشغِّل والمتغيّر نفسهما اللذَين اعتدت عليهما، مع توفير أدوات جديدة تتيح لك قياس نشاط المستخدِم أينما حدث.
تعتمد عملية ضبط العلامات النموذجية بدون وضع العلامات من جهة الخادم على حاوية في الصفحة لإرسال بيانات القياس إلى خوادم جمع مختلفة. يوضّح الشكل 1 مثالاً على كيفية إرسال حاوية ويب في أداة "إدارة العلامات من Google"، والتي تعمل في متصفّح ويب، للبيانات إلى خوادم متعددة.
الشكل 1: مخطّط بياني لموقع إلكتروني تمّ إعداده لاستخدام حاوية ويب في أداة "إدارة العلامات من Google"
في المقابل، لا يتم تشغيل حاوية الخادم في متصفّح المستخدم أو على هاتف المستخدم. بدلاً من ذلك، يتم تشغيله على خادم يمكنك التحكّم فيه.
الشكل 2: مثال على إعداد وضع العلامات الذي يستخدم حاوية خادم
يتم تشغيل الخادم في مشروعك على Google Cloud Platform أو في بيئة مختلفة من اختيارك، ويكون بإمكانك وحدك الوصول إلى البيانات في الخادم إلى أن تختار إرسالها إلى مكان آخر. يمكنك التحكّم بشكل كامل في كيفية تشكيل هذه البيانات ومكان توجيهها من الخادم. يتم إنشاء العلامات باستخدام تكنولوجيا JavaScript في وضع الحماية. تمنحك الأذونات إمكانية الاطّلاع على الإجراءات التي يمكن للعلامة تنفيذها، وتتيح لك السياسات ضبط الحدود حول الحاوية.
يتلقّى الخادم طلبات الويب من جهاز المستخدم ويحوّل تلك الطلبات إلى أحداث. تتم معالجة كل حدث من خلال العلامات وعوامل التفعيل والمتغيّرات في الحاوية. تعمل العلامات وعوامل التفعيل والمتغيّرات في حاوية الخادم تمامًا كما تعمل في الأنواع الأخرى من الحاويات: تفحص عوامل التفعيل كل حدث بحثًا عن شروط معيّنة، وتُشغّل عند الاقتضاء العلامات التي تُرسِل بيانات الحدث لتتم معالجتها.
يطرح هذا النموذج سؤالَين مهمّين لحاويات الخوادم:
- كيف يتم نقل بيانات القياس من جهاز المستخدم إلى حاوية الخادم؟
- كيف يتم تحويل بيانات القياس المُرسَلة إلى حاوية خادم إلى حدث؟
الإجابة عن كلا السؤالين هي نوع جديد من الكيانات لاستخدامها في حاويات الخادم: عميل.
آلية عمل العملاء
التطبيقات العميلة هي محولات بين البرنامج الذي يعمل على جهاز المستخدم وحاوية الخادم. يتلقّى العميل بيانات القياس من جهاز معيّن، ويحوّل هذه البيانات إلى حدث واحد أو أكثر، ويوجّه البيانات ليتمّت معالجتها في الحاوية، ويجمع النتائج لإرسالها مرة أخرى إلى مقدّم الطلب.
هذا كثير. لنلقِ نظرة فاحصة على كل جزء على حدة. يعرض الشكل 3 البيانات التي تتدفق إلى حاوية الخادم من متصفّح الويب للمستخدم، ومن خادم الويب إلى حاوية الخادم.
الشكل 3: يعالج كلّ عميل مصدر بيانات مختلفًا.
يتلقّى العملاء بيانات القياس من أحد الأجهزة. لنفترض أنّك تريد قياس نشاط المستخدِم في ثلاثة مواضع: موقع إلكتروني وتطبيق هاتف وجهاز تفتيت ذكي. يستخدم موقعك الإلكتروني "إحصاءات Google"، ويستخدم تطبيق هاتفك "إحصاءات Firebase"، وتستخدم محمصة الخبز بروتوكولًا خاصًا يُعرف باسم "ToastMeasure".
إنّ تجهيز هذه الأجهزة الثلاثة باستخدام أداة "إدارة العلامات من Google" يتطلّب عادةً استخدام حاوية مختلفة لكلّ منصّة. وبما أنّ حاوية الخادم لا تعمل على الجهاز، يمكن للحاوية نفسها معالجة أدوات تحليل الأداء لجميع أنظمة التشغيل الثلاثة للأجهزة. هناك مشكلة. لا تتواصل هذه الأجهزة بالطريقة نفسها. لا يتطابق بروتوكول "إحصاءات Google" مع بروتوكول ToastMeasure. وهنا يأتي دور العملاء.
بدلاً من هذه الحاويات الثلاث، تحتوي حاوية الخادم على ثلاثة عملاء. سيعالج كل عميل كل طلب يصل إلى الحاوية بترتيب الصعوبة، أي العميل الأعلى أولوية أولاً. إنّ أول إجراء سيتّخذه كلّ عميل هو تحديد ما إذا كان يعرف كيفية معالجة هذا النوع من الطلبات. إذا كان بإمكانه، يُطالب العميل بالطلب وينتقل إلى المرحلة التالية من المعالجة. يؤدي طلب الحصول على الطلب إلى منع العميل التالي من التشغيل. إذا لم يتمكّن العميل من معالجة الطلب، لن يحدث أيّ شيء وسيسمح لعملاء آخرين بتحديد ما إذا كانوا يريدون معالجة الطلب أم لا.
تحوّل الأجهزة العميلة بيانات الطلب إلى حدث واحد أو أكثر. بعد أن يطلب عميل ToastMeasure طلبًا، عليه تحويله إلى تنسيق يمكن لبقية الحاوية فهمه. هذا الشيء هو مجموعة من الأحداث.
الأحداث هي الإجراءات التي تحدث وتريد قياسها. يمكن أن يكون أيًا مما يلي:
start_toasting
أو finish_toasting
أو buy_bread
. هناك بعض
الاقتراحات حول بنية
الأحداث التي ينشئها العميل، ولكن الشرط الوحيد هو أن تفهم بقية
الحاوية هذه الأحداث.
يشغّل العملاء الحاوية. طالب العميل بالطلب وحوّله إلى أحداث. حان الآن وقت العلامات والمشغِّلات والمتغيّرات. يُحيل العميل كل حدث إلى بقية الحاوية لإجراء المزيد من المعالجة.
يُحزم العملاء النتائج لإرسالها مرة أخرى إلى الجهاز. بعد تشغيل الحاوية، حان وقت الردّ على محمصة الخبز. يمكن أن يتّخذ الردّ أشكالًا متعدّدة. قد يقول العميل "حسنًا، تم". ربما تريد إحدى العلامات إعادة توجيه الطلب إلى خادم جمع آخر. أو ربما تُصدر إحدى العلامات إشارة تأمر مصابيح محمصة الخبز بتغيير الألوان. بغض النظر عمّا هو مطلوب أن يحدث، تقع على عاتق العميل مهمة تجميع النتائج وإرسالها مجددًا إلى مقدّم الطلب.
لحسن الحظ، تعالج أداة "إدارة العلامات من Google" الكثير من هذه الإجراءات نيابةً عنك. تأتي حاويات الخادم مع عميلَين مضمّنَين: "إحصاءات Google 4" وMeasurement Protocol. توفّر هذه العملاء الأدوات التي تحتاجها لبدء قياس أداء تطبيقك بعد إنشاء الحاوية.
مثال قصير
لنطّلِع على مثال سريع لمعرفة كيفية ملاءمة كل القطع مع بعضها. في هذا المثال، ستُنشئ ما يلي:
- موقع إلكتروني بسيط يستخدِم gtag.js لإرسال حدث
click
إلى حاوية خادم - عميل "إحصاءات Google 4" الذي يتلقّى الحدث
- عامل تشغيل يتم تشغيله عند حدوث حدث
click
. - علامة "إحصاءات Google 4" تُرسِل بيانات الحدث إلى "إحصاءات Google" لمعالجتها.
في هذا المثال، سنفترض أنّك سبق أن أنشأت حاوية الخادم و نشرتها.
ضبط مقتطف gtag.js
أولاً، عليك ضبط مقتطف gtag.js لإرسال البيانات إلى حاوية الخادم. باستخدام ملف js.gtag، يعمل إرسال البيانات إلى حاوية الخادم تمامًا مثل إرسال البيانات إلى
"إحصاءات Google"، مع إجراء تعديل واحد. كما هو موضّح في مثال الصفحة أدناه، اضبط خيار
server_container_url
config للإشارة إلى حاوية الخادم.
<!-- 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". ما عليك سوى إنشاء العلامة وضبط إعداداتك، وبذلك تكون قد ربطت الحاوية. تم تصميم عملاء "إحصاءات Google 4" وعلامات "إحصاءات Google 4" للعمل معًا. وهذا يعني أنّ كل ما عليك فعله هو إنشاء علامة "إحصاءات Google 4" وسيتم سحب إعداداتها تلقائيًا من الأحداث التي تأتي من العميل.
معاينة الحاوية
بعد ضبط الحاوية، انقر على معاينة. انتقِل إلى موقعك الإلكتروني في نافذة متصفّح مختلفة. أثناء إرسال الطلبات والأحداث إلى حاوية السيرفر، ستظهر الطلبات والأحداث مُدرَجة على يمين صفحة المعاينة.
بعد أن تصبح التغييرات مناسبة لك، انشر حاوية الخادم.
ضبط إعدادات الخادم لوضع الإنتاج مع عرض إعلانات الطرف الأول
قبل إرسال أيّ زيارات علنية إلى حاوية الخادم، ننصح بشدة بتثبيت الخادم على نطاق الطرف الأول و ترقية الخادم إلى وضع الإنتاج.