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

ব্যবহারকারীর প্রপার্টি আপনার ব্যবহারকারী বেসের বিভিন্ন অংশকে বর্ণনা করে, যেমন, ভাষা সংক্রান্ত পছন্দ বা ভৌগোলিক লোকেশন। 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-এর মধ্যে যেকোনও একটি হতে পারে। আপনার রিপোর্টে এই ব্যবহারকারীর প্রপার্টি পেতে, আপনাকে নিচে উল্লেখ করা কাজগুলি করতে হবে:

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

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

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

তারপরে আপনার সার্ভার, পরিমাপ প্রোটোকল ব্যবহার করে customer_tier ব্যবহারকারীর প্রপার্টির মাধ্যমে পরিমাপকে আরও উন্নত করে:

সার্ভার কোড

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 নিম্নলিখিত তালিকায় পাওয়া প্রথম টাইমস্ট্যাম্প ব্যবহার করে:

  1. user_properties-এ এন্ট্রির timestamp_micros।
  2. অনুরোধের timestamp_micros.
  3. মেজারমেন্ট প্রোটোকল যে সময়ে অনুরোধটি পায়।

নিচের উদাহরণে অনুরোধ-লেভেল টাইমস্ট্যাম্প পাঠানো হয়েছে যা অনুরোধের মধ্যে থাকা ব্যবহারকারীর সব প্রপার্টির ক্ষেত্রে প্রযোজ্য। এর ফলে, 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
    }
}