إرسال خصائص المستخدمين

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

تساهم خصائص المستخدمين في تحسين تصنيف المستخدمين، ولكنّ بيانات خصائص المستخدمين لا تتوفّر غالبًا إلا من جهة الخادم. يتيح لك Measurement Protocol تعزيز القياسات من جهة العميل باستخدام بيانات من جهة الخادم، وهو أمر يتعذّر عادةً باستخدام حلول من جهة العميل فقط.

الأسماء المحجوزة

بعض أسماء خصائص المستخدِمين محجوزة ولا يمكن استخدامها في القياسات:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

بالإضافة إلى ذلك، لا يمكن أن تبدأ أسماء خصائص المستخدمِين بما يلي:

  • google_
  • ga_
  • firebase_

مثال على الاستخدام

في المثال التالي، يتضمّن نظام إدارة علاقات العملاء سمة مستخدم (customer_tier) تريد إضافتها إلى قياساتك. يمكن ضبط customer_tier على إحدى القيمتين premium أو standard. للحصول على خاصية المستخدم هذه في تقاريرك، عليك اتّباع الخطوات التالية:

أولاً، اطلب من العميل إرسال حدث add_payment_info مع طلب إلى واجهة برمجة تطبيقات الخادم التي يمكنها الوصول إلى نظام إدارة علاقات العملاء:

رمز العميل

FirebaseAnalytics.logEvent("add_payment_info")
ServerAPI.addCustomerTier(
  FirebaseAnalytics.getAppInstanceId(),
  "[{name: \"add_payment_info\"}"]
);

يضيف الخادم بعد ذلك خاصيّة المستخدم customer_tier إلى القياس باستخدام Measurement Protocol:

رمز الخادم

const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";

function addCustomerTier(appInstanceId, events) {

  // Request the customer tier from the CRM.
  const customerTier = getCustomerTier(appInstanceId);

  const queryParams = `?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`;
  fetch(`https://www.google-analytics.com/mp/collect${queryParams}`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "app_instance_id": "APP_INSTANCE_ID",
      "user_properties": {
        "customer_tier": {
          "value": "CUSTOMER_TIER"
        }
      },
      "events": JSON.parse(events)
    })
  });
}

تعرض خاصية المستخدم هذه الشريحتَين premium وstandard.

اطّلِع على مقالة إرسال الأحداث للحصول على التفاصيل الكاملة حول كيفية إرسال الأحداث باستخدام Measurement Protocol.

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

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

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

يرسل المثال التالي طابعًا زمنيًا على مستوى الطلب ينطبق على جميع سمات المستخدم في الطلب. نتيجةً لذلك، يحدّد Measurement Protocol الطابع الزمني requestUnixEpochTimeInMicros لكلّ من خاصيتَي المستخدِم customer_tier وcustomer_group.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "user_properties": {
      "customer_tier": {
        "value": customerTierValue
      },
      "customer_group": {
        "value": customerGroupValue
      }
  }
}

يرسل المثال التالي طابعًا زمنيًا على مستوى الطلب وطابعًا زمنيًا لخاصية المستخدم customer_tier. نتيجةً لذلك، يحدّد Measurement Protocol الطابع الزمني customerTierUnixEpochTimeInMicros للحدث customer_tier، والطابع الزمني requestUnixEpochTimeInMicros للحدث customer_group.

"timestamp_micros": requestUnixEpochTimeInMicros,
"user_properties": {
    "customer_tier": {
      "value": customerTierValue,
      "timestamp_micros": customerTierUnixEpochTimeInMicros
    },
    "customer_group": {
      "value": customerGroupValue
    }
}