সুরক্ষিত দর্শকদের সাথে কাস্টম শ্রোতা প্রতিনিধি দলে যোগ দিন

fetchAndJoinCustomAudience API ক্রেতাদের তাদের অংশীদার MMPs বা SSP-এর অন-ডিভাইস উপস্থিতি ব্যবহার করে কাস্টম দর্শকদের সাথে যোগদানের প্রতিনিধিত্ব করতে দেয়।

ওভারভিউ

এটি কীভাবে কাজ করে তার একটি সাধারণ ওভারভিউ হল যে ডিভাইসে কলকারী (সেটি একটি MMP বা একটি SSP SDK হোক না কেন) একটি fetchAndJoinCustomAudienceRequest তৈরি করে যা নিচের মত দেখায়:

কোটলিন

/**
 * @param fetchUri The URL to retrieve the CA from.
 * (optional)@param name The name of the CA to join.
 * (optional)@param activationTime The time when the CA will activate.
 * (optional)@param expirationTime The time when the CA will expire,
    must be a time in the future otherwise this will fail
 * (optional)@param userBiddingSignals The user bidding signals used at auction.
*/

val request = FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
    .setName(name)
    .setActivationTime(activationTime)
    .setExpirationTime(expirationTime)
    .setUserBiddingSignals(userBiddingSignals)
    .build()

জাভা

/**
 * @param fetchUri The URL to retrieve the CA from.
 * (optional)@param name The name of the CA to join.
 * (optional)@param activationTime The time when the CA will activate.
 * (optional)@param expirationTime The time when the CA will expire,
    must be a time in the future otherwise this will fail
 * (optional)@param userBiddingSignals The user bidding signals used at auction.
*/

FetchAndJoinCustomAudienceRequest request =
 new FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
  .setName(name) //Optional
  .setActivationTime(activationTime) //Optional
  .setExpirationTime(expirationTime) //Optional
  .setUserBiddingSignals(userBiddingSignals) //Optional
  .build();

সমস্ত ঐচ্ছিক প্যারামিটার সম্পর্কে একটি গুরুত্বপূর্ণ দ্রষ্টব্য হল যে যদি সেগুলি আনার অনুরোধের ভিতরে সেট করা থাকে, তবে ক্রেতার কাছ থেকে যা ফেরত দেওয়া হয় তার দ্বারা তাদের ডেটা ওভাররাইড করা যাবে না, যা কাস্টম দর্শকদের বজায় থাকবে তার উপর অন-ডিভাইস কলারকে অতিরিক্ত নিয়ন্ত্রণ দেয়৷

fetchUri ক্রেতার দ্বারা পরিচালিত একটি সার্ভারের শেষ পয়েন্টে নির্দেশ করা উচিত যা এখানে দেখা বিন্যাসের সাথে মেলে এমন একটি কাস্টম অডিয়েন্স JSON অবজেক্ট ফিরিয়ে দেবে:

//Return a 200 response with data matching the format of the following in the body
{
  "daily_update_uri": "https://js.example.com/bidding/daily",
  "bidding_logic_uri": "https://js.example.com/bidding",
  "user_bidding_signals": {
    "valid": true,
    "arbitrary": "yes"
  },
  "trusted_bidding_data": {
    "trusted_bidding_uri": "https://js.example.com/bidding/trusted",
    "trusted_bidding_keys": [
      "key1",
      "key2"
    ]
  },
  "ads": [
    {
      "render_uri": "https://js.example.com/render/fetch_and_join_ad1",
      "metadata": {
        "valid": 1
      }
    },
    {
      "render_uri": "https://js.example.com/render/fetch_and_join_ad2",
      "metadata": {
        "valid": 2
      }
    }
  ]
}

এপিআই সাইডে কীভাবে এটি সমাধান হয় সে সম্পর্কে আরও তথ্য CA প্রতিনিধিত্বে যোগদানের জন্য ডিজাইন প্রস্তাবে পাওয়া যাবে।

টেস্টিং

একবার আপনি ক্লায়েন্ট কোডের ভিতরে ফেচ কলটি প্রয়োগ করলে এবং কাস্টম অডিয়েন্স ডেটা ফেরত দেওয়ার জন্য DSP পাশে একটি এন্ডপয়েন্ট সেট আপ করলে, আপনি একটি কাস্টম অডিয়েন্সে যোগদানের প্রতিনিধিত্ব পরীক্ষা করতে পারেন। আপনার অ্যাপটি চালানোর আগে, আপনাকে গোপনীয়তা স্যান্ডবক্স সক্ষম করতে UI খুলতে নিম্নলিখিত কমান্ডটি চালাতে হবে:

adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity

একবার UI পপ আপ হয়ে গেলে, নিশ্চিত করুন যে আপনি গোপনীয়তা স্যান্ডবক্স সক্ষম করতে টগল করুন, তারপরে পরীক্ষার জন্য ডিভাইস সেট আপ করতে নিম্নলিখিত ADB কমান্ডগুলি চালান:

adb shell device_config set_sync_disabled_for_tests persistent
adb shell device_config put adservices ppapi_app_signature_allow_list \"\*\"
adb shell device_config put adservices ppapi_app_allow_list \"\*\"
adb shell device_config put adservices adservice_system_service_enabled true
adb shell device_config put adservices adservice_enabled true
adb shell device_config put adservices adservice_enable_status true
adb shell device_config put adservices global_kill_switch false
adb shell device_config put adservices fledge_js_isolate_enforce_max_heap_size false
adb shell device_config put adservices fledge_custom_audience_service_kill_switch false
adb shell device_config put adservices fledge_select_ads_kill_switch false
adb shell device_config put adservices adid_kill_switch false
adb shell setprop debug.adservices.disable_fledge_enrollment_check true
adb shell device_config put adservices fledge_fetch_custom_audience_enabled true

একবার আপনি এই কমান্ডগুলি চালানোর পরে, আপনি ফেচ API ব্যবহার করে সফলভাবে কল করা শুরু করতে সক্ষম হবেন।

এই প্রবাহের একটি উদাহরণ দেখতে, Github-এ প্রাইভেসি স্যান্ডবক্স স্যাম্পল রিপোজিটরির ডেভেলপার প্রিভিউ শাখায় কল আনয়ন যোগ করা হয়েছে।

,

fetchAndJoinCustomAudience API ক্রেতাদের তাদের অংশীদার MMPs বা SSP-এর অন-ডিভাইস উপস্থিতি ব্যবহার করে কাস্টম দর্শকদের সাথে যোগদানের প্রতিনিধিত্ব করতে দেয়।

ওভারভিউ

এটি কীভাবে কাজ করে তার একটি সাধারণ ওভারভিউ হল যে ডিভাইসে কলকারী (সেটি একটি MMP বা একটি SSP SDK হোক না কেন) একটি fetchAndJoinCustomAudienceRequest তৈরি করে যা নিচের মত দেখায়:

কোটলিন

/**
 * @param fetchUri The URL to retrieve the CA from.
 * (optional)@param name The name of the CA to join.
 * (optional)@param activationTime The time when the CA will activate.
 * (optional)@param expirationTime The time when the CA will expire,
    must be a time in the future otherwise this will fail
 * (optional)@param userBiddingSignals The user bidding signals used at auction.
*/

val request = FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
    .setName(name)
    .setActivationTime(activationTime)
    .setExpirationTime(expirationTime)
    .setUserBiddingSignals(userBiddingSignals)
    .build()

জাভা

/**
 * @param fetchUri The URL to retrieve the CA from.
 * (optional)@param name The name of the CA to join.
 * (optional)@param activationTime The time when the CA will activate.
 * (optional)@param expirationTime The time when the CA will expire,
    must be a time in the future otherwise this will fail
 * (optional)@param userBiddingSignals The user bidding signals used at auction.
*/

FetchAndJoinCustomAudienceRequest request =
 new FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
  .setName(name) //Optional
  .setActivationTime(activationTime) //Optional
  .setExpirationTime(expirationTime) //Optional
  .setUserBiddingSignals(userBiddingSignals) //Optional
  .build();

সমস্ত ঐচ্ছিক প্যারামিটার সম্পর্কে একটি গুরুত্বপূর্ণ দ্রষ্টব্য হল যে যদি সেগুলি আনার অনুরোধের ভিতরে সেট করা থাকে, তবে ক্রেতার কাছ থেকে যা ফেরত দেওয়া হয় তার দ্বারা তাদের ডেটা ওভাররাইড করা যাবে না, যা কাস্টম দর্শকদের বজায় থাকবে তার উপর অন-ডিভাইস কলারকে অতিরিক্ত নিয়ন্ত্রণ দেয়৷

fetchUri ক্রেতার দ্বারা পরিচালিত একটি সার্ভারের শেষ পয়েন্টে নির্দেশ করা উচিত যা এখানে দেখা বিন্যাসের সাথে মেলে এমন একটি কাস্টম অডিয়েন্স JSON অবজেক্ট ফিরিয়ে দেবে:

//Return a 200 response with data matching the format of the following in the body
{
  "daily_update_uri": "https://js.example.com/bidding/daily",
  "bidding_logic_uri": "https://js.example.com/bidding",
  "user_bidding_signals": {
    "valid": true,
    "arbitrary": "yes"
  },
  "trusted_bidding_data": {
    "trusted_bidding_uri": "https://js.example.com/bidding/trusted",
    "trusted_bidding_keys": [
      "key1",
      "key2"
    ]
  },
  "ads": [
    {
      "render_uri": "https://js.example.com/render/fetch_and_join_ad1",
      "metadata": {
        "valid": 1
      }
    },
    {
      "render_uri": "https://js.example.com/render/fetch_and_join_ad2",
      "metadata": {
        "valid": 2
      }
    }
  ]
}

এপিআই সাইডে কীভাবে এটি সমাধান হয় সে সম্পর্কে আরও তথ্য CA প্রতিনিধিত্বে যোগদানের জন্য ডিজাইন প্রস্তাবে পাওয়া যাবে।

টেস্টিং

একবার আপনি ক্লায়েন্ট কোডের ভিতরে ফেচ কলটি প্রয়োগ করলে এবং কাস্টম অডিয়েন্স ডেটা ফেরত দেওয়ার জন্য DSP পাশে একটি এন্ডপয়েন্ট সেট আপ করলে, আপনি একটি কাস্টম অডিয়েন্সে যোগদানের প্রতিনিধিত্ব পরীক্ষা করতে পারেন। আপনার অ্যাপটি চালানোর আগে, আপনাকে গোপনীয়তা স্যান্ডবক্স সক্ষম করতে UI খুলতে নিম্নলিখিত কমান্ডটি চালাতে হবে:

adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity

একবার UI পপ আপ হয়ে গেলে, নিশ্চিত করুন যে আপনি গোপনীয়তা স্যান্ডবক্স সক্ষম করতে টগল করুন, তারপরে পরীক্ষার জন্য ডিভাইস সেট আপ করতে নিম্নলিখিত ADB কমান্ডগুলি চালান:

adb shell device_config set_sync_disabled_for_tests persistent
adb shell device_config put adservices ppapi_app_signature_allow_list \"\*\"
adb shell device_config put adservices ppapi_app_allow_list \"\*\"
adb shell device_config put adservices adservice_system_service_enabled true
adb shell device_config put adservices adservice_enabled true
adb shell device_config put adservices adservice_enable_status true
adb shell device_config put adservices global_kill_switch false
adb shell device_config put adservices fledge_js_isolate_enforce_max_heap_size false
adb shell device_config put adservices fledge_custom_audience_service_kill_switch false
adb shell device_config put adservices fledge_select_ads_kill_switch false
adb shell device_config put adservices adid_kill_switch false
adb shell setprop debug.adservices.disable_fledge_enrollment_check true
adb shell device_config put adservices fledge_fetch_custom_audience_enabled true

একবার আপনি এই কমান্ডগুলি চালানোর পরে, আপনি ফেচ API ব্যবহার করে সফলভাবে কল করা শুরু করতে সক্ষম হবেন।

এই প্রবাহের একটি উদাহরণ দেখতে, Github-এ প্রাইভেসি স্যান্ডবক্স স্যাম্পল রিপোজিটরির ডেভেলপার প্রিভিউ শাখায় কল আনয়ন যোগ করা হয়েছে।