ব্যবহারকারীর প্রপার্টি পাঠানো

ব্যবহারকারীর প্রপার্টি আপনার ব্যবহারকারীর বেসের বিভাগ বর্ণনা করে, যেমন পছন্দের ভাষা বা ভৌগোলিক অবস্থান। Analytics অটোমেটিক কিছু ব্যবহারকারীর প্রপার্টি লগ করে। আপনি অতিরিক্ত প্রপার্টি সংগ্রহ করতে চাইলে, প্রতিটি প্রোজেক্টে সর্বাধিক ২৫টি অতিরিক্ত ব্যবহারকারীর প্রপার্টি সেট-আপ করতে পারবেন। ব্যবহারকারীর প্রপার্টি কীভাবে সেট ও রেজিস্টার করবেন তা জানতে কাস্টম ব্যবহারকারীর প্রপার্টি দেখুন।

ব্যবহারকারীর প্রপার্টি ব্যবহারকারী বিভাগিকরণ উন্নত করে, তবে ব্যবহারকারীর প্রপার্টি ডেটা প্রায়শই শুধুমাত্র সার্ভার-সাইডে উপলভ্য থাকে। Measurement Protocol আপনাকে সার্ভার-সাইড ডেটার সাথে ক্লায়েন্ট-সাইড পরিমাপ বৃদ্ধি করতে দেয়, যা সাধারণত শুধুমাত্র ক্লায়েন্ট-সাইড সমাধান ব্যবহার করে করা সম্ভব নয়।

সংরক্ষিত নাম

কিছু ব্যবহারকারীর প্রপার্টির নাম রিজার্ভ করা আছে এবং পরিমাপে ব্যবহার করা যাবে না:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

এছাড়াও, ব্যবহারকারীর প্রপার্টির নাম এগুলি দিয়ে শুরু হতে পারবে না:

  • google_
  • ga_
  • firebase_

ব্যবহারের উদাহরণ

নিচের উদাহরণে, আপনার CRM-এ একটি ব্যবহারকারীর প্রপার্টি (customer_tier) আছে যা আপনি আপনার পরিমাপে যোগ করতে চান। customer_tier-কে premium অথবা standard-এর মধ্যে একটিতে সেট করা যেতে পারে। আপনার রিপোর্টে এই ব্যবহারকারীর প্রপার্টি পেতে, আপনাকে নিম্নলিখিত কাজ করতে হবে:

প্রথমে, ক্লায়েন্টকে একটি add_payment_info ইভেন্ট পাঠাতে বলুন, সাথে একটি সার্ভার API-তে কল করুন যা আপনার CRM সিস্টেম অ্যাক্সেস করতে পারে:

ক্লায়েন্ট কোড

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. user_properties-এ এন্ট্রির timestamp_micros।
  2. অনুরোধের timestamp_micros।
  3. Measurement Protocol যে সময়ে অনুরোধ পায়।

নিম্নলিখিত উদাহরণটি একটি অনুরোধ-লেভেল টাইমস্ট্যাম্প পাঠায় যা অনুরোধে থাকা সমস্ত ব্যবহারকারীর প্রপার্টির ক্ষেত্রে প্রযোজ্য। এর ফলে, Measurement Protocol, customer_tier এবং customer_group উভয় ব্যবহারকারীর প্রপার্টিতে requestUnixEpochTimeInMicros টাইমস্ট্যাম্প অ্যাসাইন করে।

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

নিচের উদাহরণে অনুরোধ-লেভেল টাইমস্ট্যাম্প এবং customer_tier ব্যবহারকারীর প্রপার্টির জন্য টাইমস্ট্যাম্প, দুটিই পাঠানো হয়। এর ফলে, Measurement Protocol, customer_tier-কে customerTierUnixEpochTimeInMicros-এর টাইমস্ট্যাম্প এবং customer_group-কে requestUnixEpochTimeInMicros-এর টাইমস্ট্যাম্প অ্যাসাইন করে।

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