إرسال أحداث Measurement Protocol إلى "إحصاءات Google"

يوضح هذا الدليل كيفية إرسال مصدر بيانات المواقع الإلكترونية والتطبيقات في إحصاءات Google Measurement Protocol الأحداث في خادم "إحصاءات Google"، بحيث يمكنك عرض أحداث Measurement Protocol في تقارير "إحصاءات Google":

اختر النظام الأساسي الذي تريد مشاهدته في هذا الدليل:

تنسيق الطلب

لا يدعم Measurement Protocol في "إحصاءات Google" إلا طلبات HTTP POST فقط.

لإرسال حدث، استخدِم التنسيق التالي:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

يجب تقديم المعلومات التالية في عنوان URL الخاص بالطلب:

  • api_secret: سر واجهة برمجة التطبيقات الذي تم إنشاؤه في واجهة مستخدم "إحصاءات Google".

    لإنشاء مفتاح سرّي جديد، انتقِل إلى المشرف >. مصادر البيانات > اختيار البث > Measurement Protocol > إنشاء:

  • firebase_app_id: رقم تعريف تطبيق Firebase الوارد في "وحدة تحكُّم Firebase" ضمن إعدادات المشروع > الإعدادات العامة > تطبيقاتك > رقم تعريف التطبيق.

    ويختلف firebase_app_id عن app_instance_id. تشير رسالة الأشكال البيانية يعرِف firebase_app_id تطبيقك، في حين أنّ app_instance_id يتعرّف على تطبيقك. عملية تثبيت واحدة للتطبيق.

راجِع مَعلمات طلب البحث للمرجع الكامل.

يجب تقديم ما يلي في نص الطلب:

  • user_id: اختيارية. معرّف فريد للمستخدِم. لا يمكن أن تحتوي إلا على UTF-8. الأحرف. اطّلِع على User-ID للتحليل من عدّة منصات للحصول على مزيد من المعلومات. بشأن هذا المعرف.

  • consent: اختيارية. التعرّف على كيفية تحديد الموافقة الإعدادات.

  • timestamp_micros: اختيارية. وقت حقبة يونكس بالميكرو ثانية الأحداث وخصائص المستخدمين في الطلب. إذا لم يتم تحديده، فسيتم تلقائيًا ضبط وقت إرسال الطلب.

  • events: مصفوفة من عناصر الأحداث. يمكنك تضمين أحداث متعددة في حدث واحد طلبك.

    لعرض نشاط المستخدم في تقارير مثل الوقت الفعلي، يجب تقديم engagement_time_msec وsession_id كجزء من params للحصول على event. يجب أن تعكس المعلَمة engagement_time_msec مدّة تفاعل الحدث بالمللي ثانية

    وفي ما يلي مثال لذلك:

  {
   "app_instance_id": "12345678901234567890123456789012",
   "events": [
     {
        "name": "campaign_details",
        "params": {
          "campaign_id": "google_1234",
          "campaign": "Summer_fun",
          "source": "google",
          "medium": "cpc",
          "term": "summer+travel",
          "content": "logolink",
          "session_id": "123",
          "engagement_time_msec": "100"
        }
     }
   ]
  }

على الرغم من أنّ session_start حدث محجوز. name، يؤدي إنشاء session_id جديدة إلى إنشاء جلسة جديدة بدون الحاجة إلى إرسال session_start التعرُّف على مدى أهمية الجلسات .

التجربة الآن

إليك مثال يمكنك استخدامه لإرسال حدث tutorial_begin إلى حسابك على Google. خادم "إحصاءات Google":

const firebase_app_id = `1:1234567890:android:321abc456def7890`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?firebase_app_id=${firebase_app_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: 'app_instance_id',
    events: [{
      name: 'tutorial_begin',
      params: {},
    }]
  })
});

تنسيق firebase_app_id خاص بالنظام الأساسي. الاطّلاع على معرّف التطبيق ضمن ملفات إعداد Firebase وكائناته.

الطابع الزمني للإلغاء

يستخدم Measurement Protocol الطابع الزمني الأول الذي يعثر عليه في القائمة التالية لكل حدث في الطلب:

  1. تمثّل هذه السمة timestamp_micros الخاص بالفعالية.
  2. تمثّل هذه السمة timestamp_micros للطلب.
  3. الوقت الذي يتلقى فيه Measurement Protocol الطلب.

يرسل المثال التالي طابعًا زمنيًا على مستوى الطلب ينطبق على جميع الأحداث في الطلب. ونتيجةً لذلك، يُعيِّن Measurement Protocol كلاً من tutorial_begin وjoin_group حدث بطابع زمني requestUnixEpochTimeInMicros

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

يرسل المثال التالي طابعًا زمنيًا على مستوى الطلب وعلى مستوى الحدث. الطابع الزمني. ونتيجةً لذلك، يحدِّد Measurement Protocol tutorial_begin. طابعًا زمنيًا لـ tutorialBeginUnixEpochTimeInMicros، وjoin_group طابع زمني لـ requestUnixEpochTimeInMicros.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

القيود

تنطبق القيود التالية على إرسال أحداث Measurement Protocol إلى Google. إحصاءات:

  • يمكن أن تحتوي الطلبات على 25 حدثًا كحدّ أقصى.
  • يمكن أن تحتوي الأحداث على 25 معلَمة كحدّ أقصى.
  • يمكن أن تحتوي الأحداث على 25 خاصيّة مستخدم كحدّ أقصى.
  • يجب أن تحتوي أسماء خصائص المستخدمين على 24 حرفًا أو أقل.
  • يجب أن تحتوي قيم خصائص المستخدمين على 36 حرفًا أو أقل.
  • يجب أن تحتوي أسماء الأحداث على 40 حرفًا أو أقل، ويمكن أن تحتوي على أحرف أبجدية رقمية فقط. والشرطات السفلية، ويجب أن تبدأ بحرف أبجدي.
  • يجب أن يكون عدد أحرف أسماء المعلَمات، بما في ذلك معلَمات السلع، 40 حرفًا أو أقل ويمكن أن يحتوي فقط على أحرف أبجدية رقمية وشرطات سفلية، ويجب أن يبدأ بحرف أبجدي.
  • يجب أن تحتوي قيم المعلَمات، بما في ذلك قيم معلَمات السلع، على 100 حرف أقل بالنسبة إلى موقع عادي على "إحصاءات Google"، و500 حرف أو أقل لأحد مواقع "إحصاءات Google 360".
  • يمكن أن تحتوي مَعلمات العناصر على 10 مَعلمات مخصَّصة بحدٍ أقصى.
  • يجب أن يكون حجم نص المشاركة أقل من 130 كيلوبايت.
  • لا تتم تعبئة "شبكة بحث Google" بأحداث Measurement Protocol التي تم إرسالها إلى "إحصاءات Google". شرائح الجمهور في "إعلانات Google" لمستخدِمي التطبيقات.

لمعرفة المتطلبات الإضافية لكل حالة استخدام، راجِع حالات الاستخدام الشائعة.