মোবাইল ওভারভিউ জন্য বিষয় API

মতামত প্রদান

বিষয় API সম্পর্কে

মোবাইল বিজ্ঞাপনে, বিজ্ঞাপনদাতারা ব্যবহারকারীর আগ্রহের সাথে সম্পর্কিত প্রাসঙ্গিক বিজ্ঞাপন পরিবেশন করতে চায়। বিষয় API তৃতীয় পক্ষের বিজ্ঞাপন SDK গুলিকে সমর্থন করার জন্য ডিজাইন করা হয়েছে যা সাধারণত একাধিক অ্যাপ জুড়ে কাজ করে৷ এই সমর্থনটি কিছু ক্রস-অ্যাপ আগ্রহের সারফেসিং আকারে আসে যা সেই SDKগুলি সাধারণত পর্যবেক্ষণ করে। স্বতন্ত্র অ্যাপ বিকাশকারীদের তাদের ব্যবহারকারীদের সম্পর্কে অতিরিক্ত তথ্য জানার আশা করা উচিত নয়। বিষয়গুলি কীভাবে আগ্রহ-ভিত্তিক বিজ্ঞাপনকে সক্ষম করে তা জানুন৷

মূল ধারণা

  • একটি বিষয় হল এই ব্যবহারকারীর আগ্রহের একটি মানব-পাঠযোগ্য বিষয় এবং এটি বিষয় শ্রেণীকরণের অংশ।
  • একজন কলার দ্বারা একটি বিষয় পর্যবেক্ষণ করা হয় (অ্যাপটিতে ব্যবহৃত একটি অ্যাপ বা তৃতীয় পক্ষের SDK) যদি কলকারী গত 3টি যুগে এই বিষয়ের সাথে যুক্ত একটি অ্যাপ থেকে একটি বিষয় API অনুরোধ করে থাকে।
  • একটি যুগ হল বিষয় গণনার একটি সময়কাল, যেমন এক সপ্তাহ।

এটা কিভাবে কাজ করে

এই প্রস্তাবের সাথে, টপিক এপিআই ব্যবহারকারীর অ্যাপ ব্যবহারের উপর ভিত্তি করে কলারদের মোটা দানাদার বিজ্ঞাপনের বিষয় প্রদান করতে চায়। কোড উদাহরণগুলির জন্য বিষয় API বিকাশকারী নির্দেশিকা পড়ুন যা প্রদর্শন করে যে কীভাবে আগ্রহ-ভিত্তিক বিজ্ঞাপনের জন্য বিষয়গুলি আনার ক্ষমতা সেট আপ করতে হয়৷ দ্রষ্টব্য: APIs এখনও চূড়ান্ত করা হয় নি.

বিষয়গুলি একটি পূর্বনির্ধারিত ওপেন সোর্স শ্রেণীবিন্যাস থেকে নির্বাচন করা হয়েছে।

প্ল্যাটফর্মটি বিষয়গুলি অনুমান করার জন্য একটি শ্রেণিবদ্ধ মডেল ব্যবহার করে। টপিকস এপিআই বাস্তবায়ন এবং ক্লাসিফায়ার এর ব্যবহার অ্যান্ড্রয়েড ওপেন সোর্স প্রজেক্টের অংশ হবে এবং সময়ের সাথে সাথে উন্নত হবে।

দৃষ্টান্তমূলক উদ্দেশ্যে, নিম্নলিখিত কোড উদাহরণটি একটি আগ্রহ-ভিত্তিক বিজ্ঞাপন আনার জন্য বিষয়গুলির ব্যবহার প্রদর্শন করে৷ এখানে ব্যবহৃত APIs চূড়ান্ত নয়।

// Initialize the Topics API.
…
topicsFuture = AdvertisingTopicsClient.getTopics();

// Retrieve Topics and use them in Ad request.
Futures.addCallback(
    topicsFuture,
    new FutureCallback<AdvertisingTopicsInfo>() {
        @Override
        public void onSuccess(@Nullable AdvertisingTopicsInfo topicsInfo) {
            // Sanitize Topics result.
            ...
            // Initialize ad request with Topics obtained.
            AdRequest adRequest = AdRequest.initialize(topicsInfo);
        }

        @Override
        public void onFailure(Throwable t) {
            // Handle error.
            ...
        }
});

ক্লাসিফায়ার মডেল কীভাবে কাজ করে তা আরও ভালভাবে বোঝার জন্য, আপনি Android টপিক ক্লাসিফায়ার Colab ব্যবহার করে সিস্টেমে বিভিন্ন অ্যাপ ডেটা কীভাবে প্রতিক্রিয়া দেখায় তা পরীক্ষা করতে পারেন।

বিষয় API-এ অ্যাক্সেস পান

অ্যাড টেক প্ল্যাটফর্মগুলিকে টপিক এপিআই অ্যাক্সেস করার জন্য নথিভুক্ত করতে হবে, আরও তথ্যের জন্য একটি গোপনীয়তা স্যান্ডবক্স অ্যাকাউন্টের জন্য নথিভুক্ত করুন দেখুন।

বিস্তারিত

  • প্রতিটি যুগে একবার (যেমন সপ্তাহে একবার), ব্যবহারকারীর শীর্ষ 5টি বিষয়গুলি ডিভাইসের তথ্য ব্যবহার করে গণনা করা হয়৷

    • যখন টপিক্স এপিআই কল করা হয়, তখন প্ল্যাটফর্মটি পরীক্ষা করবে যে অ্যাপটিতে একটি বিষয় বরাদ্দ করা হয়েছে কিনা যা এপিআই চালু করে। যদি কোনও নির্দিষ্ট বিষয় না থাকে, তাহলে একটিকে নিম্নরূপ বেছে নেওয়া হবে এবং নির্বাচিত বিষয় এই অ্যাপে এই যুগের বাকি সময়ের জন্য বরাদ্দ করা হবে।
      • 95% সম্ভাবনা সহ, সেই যুগের জন্য গণনা করা শীর্ষ 5 টি বিষয়ের তালিকা থেকে একটি বিষয় এলোমেলোভাবে বেছে নেওয়া হয়।
      • 5% সম্ভাবনার সাথে, শ্রেণীবিন্যাস থেকে এলোমেলোভাবে একটি বিষয় বেছে নেওয়া হয়।
      • একজন কলার নির্দিষ্ট করতে পারেন যে তারা shouldRecordObservation = false প্যারামিটার ব্যবহার করে getTopics কল করে রাজ্য পরিবর্তন না করেই বিষয়গুলি পুনরুদ্ধার করতে চান। এর অর্থ হল বিষয়গুলি ফেরত দেওয়া যেতে পারে, কিন্তু কলটি সাপ্তাহিক যুগের গণনায় অন্তর্ভুক্ত করা হবে না বা এটি কলারের জন্য পর্যবেক্ষণ করা বিষয়গুলির তালিকা আপডেট করবে না৷
    • প্রতিটি অ্যাপের একাধিক বিষয়ের একটি পাওয়ার কারণ হল যে বিভিন্ন অ্যাপ বিভিন্ন বিষয় পায় তা নিশ্চিত করা, অ্যাপগুলির জন্য একই ব্যবহারকারীকে ক্রস-রিলেট করা কঠিন করে তোলে।
      • উদাহরণস্বরূপ, অ্যাপ A ব্যবহারকারীর জন্য বিষয় T1 দেখতে পারে, কিন্তু অ্যাপ B বিষয় T2 দেখতে পারে। এই তথ্যটি একই ব্যবহারকারীর সাথে যুক্ত তা নির্ধারণ করা দুটি অ্যাপের জন্য এটি আরও কঠিন করে তোলে।
  • বিষয় API 3টি বিষয়ের একটি তালিকা প্রদান করে, বিগত 3টি যুগের প্রতিটির জন্য 1টি।

    • 3টি বিষয় পর্যন্ত প্রদান করার মাধ্যমে, কদাচিৎ ব্যবহৃত অ্যাপগুলিতে প্রাসঙ্গিক বিজ্ঞাপনগুলি খুঁজে পাওয়ার জন্য যথেষ্ট বিষয় থাকবে, তবে প্রায়শই ব্যবহৃত অ্যাপগুলি প্রতি সপ্তাহে সর্বাধিক 1টি নতুন বিষয় শিখবে।
    • প্রত্যাবর্তিত বিষয় তথ্য অন্তর্ভুক্ত একটি বিষয় ID (int) শ্রেণীবিন্যাস, একটি শ্রেণীবিন্যাস সংস্করণ, এবং একটি ক্লাসিফায়ার মডেল সংস্করণের একটি এন্ট্রির সাথে সম্পর্কিত৷
    • শুধুমাত্র কলকারীরা যারা ব্যবহারকারীকে পর্যবেক্ষণ করেছেন তারা বিগত 3 যুগের মধ্যে প্রশ্নযুক্ত বিষয়ের সাথে সম্পর্কিত একটি অ্যাপ ব্যবহার করেন তারা বিষয়টি গ্রহণ করতে পারেন।
    • প্রত্যাবর্তিত সমস্ত বিষয় ব্যবহারকারীর আগ্রহের প্রতিনিধিত্ব করে, এবং আপনি আপনার বিজ্ঞাপনের অনুরোধে বিজ্ঞাপন ব্যক্তিগতকরণের জন্য এই বিষয়গুলির যেকোনো একটি বা সমস্ত নির্বাচন করতে পারেন৷
  • টপিক এপিআই চালু করে এমন অ্যাপে একটি বিষয় বরাদ্দ করার পরে, প্ল্যাটফর্ম নির্ধারণ করবে যে কলকারী এই বিষয়টি গ্রহণ করতে পারবে কিনা।

    • শুধুমাত্র কলকারীরা যারা বিগত 3 যুগের মধ্যে প্রশ্নযুক্ত বিষয়ের সাথে যুক্ত একটি অ্যাপের ব্যবহারকারীর ব্যস্ততা পর্যবেক্ষণ করেছেন তারা বিষয়টি গ্রহণ করতে পারবেন।
    • যদি কলকারী অতীতে সেই বিষয় সম্পর্কে একটি অ্যাপে সেই ব্যবহারকারীর জন্য API-কে কল না করে, তাহলে API দ্বারা প্রত্যাবর্তিত তালিকায় বিষয়টি অন্তর্ভুক্ত করা হবে না।
    • যদি কলকারী গত 3টি যুগে কোনো বিষয় না পান, তাহলে বিষয় API একটি খালি তালিকা ফিরিয়ে দেবে।

    উদাহরণ স্বরূপ, বলুন যে ব্যবহারকারীর ডিভাইসে 7টি অ্যাপ ইনস্টল করা আছে: A, B, C, D, E, F এবং G। অনুমান করুন যে অ্যাপটির বিষয় শ্রেণীবিভাগ এবং এই অ্যাপগুলিতে বিজ্ঞাপন প্রযুক্তি SDK গুলি নিম্নরূপ:

    অ্যাপ বিষয় শ্রেণীবিভাগ বিজ্ঞাপন প্রযুক্তি SDK
    T1, T5 ad-sdk1, ad-sdk2
    T2 ad-sdk2
    T3, T6 ad-sdk3, ad-sdk4
    ডি T1, T4 ad-sdk1
    T5 ad-sdk4, ad-sdk5
    T6 ad-sdk2, ad-sdk3, ad-sdk4
    জি T7 ad-sdk2
    • সপ্তাহ 1 এর শেষ: টপিক এপিআই এই যুগের জন্য ব্যবহারকারীর শীর্ষ 5টি বিষয় তৈরি করে।
    টপ টপিক বিষয় সম্পর্কে জানতে পারেন যে কলার
    T1 ad-sdk1, ad-sdk2
    T2 ad-sdk2
    T3 ad-sdk3, ad-sdk4
    T4 ad-sdk1
    T5 ad-sdk1, ad-sdk2, ad-sdk4, ad-sdk5
    • সপ্তাহ 2-এ, যদি কোনও অ্যাপে একজন কলার API-কে কল করে, তাহলে প্রত্যাবর্তিত বিষয় তালিকায় শুধুমাত্র সেই বিষয়গুলি অন্তর্ভুক্ত করা হবে যেগুলির জন্য কলকারী সেই যুগের জন্য সেই অ্যাপের জন্য সেই বিষয়ের জন্য "কলার যারা বিষয় সম্পর্কে জানতে পারে" কলামে থাকবে।
    • প্রতিটি কলারের জন্য উপলব্ধ বিষয়গুলির গণনার মধ্যে অন্তর্ভুক্ত ইতিহাস উইন্ডো হল 3টি যুগ (বা 3 সপ্তাহ)।
    • বিজ্ঞাপন SDK-এর মাধ্যমে টপিক API চালু করে এমন অ্যাপের সাথে সংশ্লিষ্ট বিষয়গুলিই ব্যবহার করা হয়। এর মানে হল যে যদি কোনও অ্যাপে এমন কোনও বিজ্ঞাপন SDK অন্তর্ভুক্ত না থাকে যা টপিক এপিআই বলে, সেই অ্যাপের সাথে যুক্ত বিষয়গুলি বিজ্ঞাপন SDK দ্বারা অ্যাক্সেসযোগ্য বিষয়গুলির পুলে অবদান রাখে না।
    • একটি অ্যাপ ঘোষণামূলকভাবে নতুন ম্যানিফেস্ট এবং XML উপাদানগুলির মাধ্যমে টপিক এপিআই থেকে অপ্ট আউট করতে পারে, যাতে সেই অ্যাপের জন্য এপিআই ব্যবহার করা থেকে বিজ্ঞাপন SDK-কে অনুমতি দেওয়া হয় না। অপ্ট-আউট অ্যাপগুলির সাথে সম্পর্কিত বিষয়গুলি সাপ্তাহিক বিষয় গণনায় অবদান রাখবে না৷ এই নথিটি সম্পর্কিত বাস্তবায়নের বিবরণ অন্তর্ভুক্ত করার জন্য আপডেট করা হবে।
  • যদি প্ল্যাটফর্মের জন্য 5টি বিষয় অনুমান করার জন্য পর্যাপ্ত অ্যাপ ব্যবহার না হয়, তাহলে প্ল্যাটফর্মটি এলোমেলোভাবে অবশিষ্ট বিষয়গুলি তৈরি করার মতো বিকল্পগুলি বিবেচনা করতে পারে।

শ্রেণীবিন্যাস

  • বর্তমান প্রস্তাবে, প্রাথমিক শ্রেণীবিন্যাসে কয়েকশ থেকে কয়েক হাজার বিষয় অন্তর্ভুক্ত করা হবে। প্রাথমিক শ্রেণীবিন্যাস প্রস্তাব এই নথির একটি ভবিষ্যতে আপডেট ভাগ করা হবে.
  • এই শ্রেণীবিন্যাস মানব-নিয়ন্ত্রিত হবে যাতে সংবেদনশীল বিষয়গুলি শ্রেণীকরণের অংশ না হয়।
  • এই শ্রেণীবিন্যাসটি বিজ্ঞাপনের বিভাগগুলির জন্য তৈরি করা হবে যা অ্যান্ড্রয়েডের মোবাইল অ্যাপগুলিতে দেখানো যেতে পারে।
  • শ্রেণীবিন্যাস সর্বজনীনভাবে উপলব্ধ , এবং পরিবর্তন সাপেক্ষে। এই পৃষ্ঠার উপরের ফিডব্যাক বোতামটি ব্যবহার করে সাজেশন ফাইল করা যেতে পারে।

বিষয় শ্রেণিবিন্যাসকারী

আগ্রহের বিষয়গুলি একটি ক্লাসিফায়ার মডেল থেকে উদ্ভূত হয় যা সর্বজনীনভাবে উপলব্ধ অ্যাপ তথ্যের উপর প্রশিক্ষিত হয় (যেমন অ্যাপের নাম, বিবরণ এবং প্যাকেজের নাম)।

  • প্রদত্ত যুগের জন্য বিষয়গুলি গণনা করার জন্য অনুমানের জন্য ক্লাসিফায়ার মডেল ব্যবহার করা হলে, ব্যবহৃত সংকেতের সেট ডিভাইসে থেকে যায়। সিগন্যালের এই সেটটিতে ইনস্টল করা বা সম্প্রতি ব্যবহৃত অ্যাপগুলি অন্তর্ভুক্ত থাকতে পারে এবং এটি পরবর্তীতে অন্যান্য সংকেতগুলি অন্তর্ভুক্ত করার জন্য প্রসারিত হতে পারে।
  • প্রাথমিক মডেলগুলিকে Google দ্বারা প্রশিক্ষিত করা হবে, যেখানে প্রশিক্ষণের ডেটাতে সর্বজনীনভাবে উপলব্ধ অ্যাপের তথ্যের জন্য মানব-নিয়োজিত লেবেল অন্তর্ভুক্ত থাকে। মডেলটি অ্যাপগুলির জন্য অবাধে উপলব্ধ হবে যে তাদের অ্যাপটি কোন বিষয়গুলিতে শ্রেণীবদ্ধ করে তা পরীক্ষা করার জন্য।
  • প্রাথমিক মডেলগুলিকে গুগল প্লে স্টোরের মতো অ্যাপ স্টোরের সীমিত সেট থেকে অ্যাপের সর্বজনীনভাবে উপলব্ধ তথ্যের উপর প্রশিক্ষণ দেওয়া হবে।
  • এটা সম্ভব যে একটি অ্যাপ 1টির বেশি বিষয়ের সাথে মানচিত্র করে, কোনো বিষয় ছাড়াই, অথবা এটি ব্যবহারকারীর বিষয় ইতিহাসে যোগ করে না। যদি একটি অ্যাপ শ্রেণীবিন্যাসে 1টির বেশি বিষয় ম্যাপ করে, এই অ্যাপের জন্য নির্বাচিত বিষয়গুলির সংখ্যা শীর্ষ 3-তে সীমাবদ্ধ থাকবে।

ব্যবহারকারী নিয়ন্ত্রণ

  • ডিজাইনটি ব্যবহারকারীদের তাদের অ্যাপ ব্যবহারের সাথে সম্পর্কিত বিষয়গুলি দেখতে এবং সরানোর ক্ষমতা প্রদান করতে চায়। এই ব্যবহারকারী নিয়ন্ত্রণ ক্ষমতা বাস্তবায়নের কাজ চলছে, এবং ভবিষ্যতের আপডেটে অন্তর্ভুক্ত করা হবে।
  • ব্যবহারকারী যদি এমন একটি অ্যাপ আনইনস্টল করে যা বিগত 3টি যুগে একটি অনুমানকৃত বিষয় নির্বাচনের ক্ষেত্রে অবদান রেখেছিল, তাহলে সেই বিষয়টিকে বিগত 3টি যুগে ফেরত দেওয়া বিষয়ের তালিকা থেকে সরানো হবে না, যাতে আনইনস্টলেশন সম্পর্কে তথ্য প্রকাশ না করা যায়৷

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

//Button that launches settings UI
private Button mSettingsAppButton;
private static final String RB_SETTING_APP_INTENT = "android.adservices.ui.SETTINGS";


//Does setup for button on screen that will launch settings UI to observe Topics
private void registerLaunchSettingsAppButton() {
    mSettingsAppButton.setOnClickListener(
        new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Context context = getApplicationContext();
                Intent activity2Intent = new Intent(RB_SETTING_APP_INTENT);
                activity2Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(activity2Intent);
            }
        });
}

একটি বিজ্ঞাপন প্রযুক্তি প্ল্যাটফর্ম নথিভুক্ত করুন

টপিকস এপিআই অ্যাক্সেস করতে, সমস্ত বিজ্ঞাপন প্রযুক্তি প্ল্যাটফর্মকে (গুগল সহ) একটি তালিকাভুক্তি প্রক্রিয়া সম্পূর্ণ করতে হবে।

অ্যাপ ডেভেলপাররা অ্যাপ ম্যানিফেস্টের ভিতরে অ্যাড টেক ডেভেলপারের এনরোলমেন্ট আইডি অন্তর্ভুক্ত করে কোন অ্যাড টেক ডেভেলপার টপিক এপিআই অ্যাক্সেস করতে পারবে তা পরিচালনা করতে পারে।

প্রত্যাবর্তিত বিষয়গুলির এনক্রিপশন

নথিভুক্ত বিজ্ঞাপন প্রযুক্তি প্ল্যাটফর্মগুলি যেগুলি টপিক এপিআইকে কল করে তাদেরও এনক্রিপশন কীগুলি প্রদান করতে হবে তা নিশ্চিত করতে যে প্রত্যাবর্তিত বিষয়গুলি শুধুমাত্র কলারের কাছে পাঠযোগ্য।

গোপনীয়তা স্যান্ডবক্স এই কীগুলিকে অ্যাড টেক প্রদত্ত এন্ডপয়েন্ট থেকে আনবে৷ আমরা সর্বোত্তম অনুশীলন হিসাবে সুপারিশ করি যে কীগুলি প্রায়ই আপডেট করতে হবে, তবে প্রতি 6 মাসের পরে নয়।

গোপনীয়তা স্যান্ডবক্স জিজ্ঞাসা করবে যে বিজ্ঞাপন প্রযুক্তিগুলি তালিকাভুক্তির প্রক্রিয়া চলাকালীন বিজ্ঞাপন প্রযুক্তি দ্বারা প্রদত্ত এন্ডপয়েন্টের উপলব্ধতা নিশ্চিত করে। বর্তমান এবং সদ্য নথিভুক্ত অ্যাডটেকের প্রয়োজনীয় ক্রিয়া সম্পর্কে আরও বিশদ বিবরণের জন্য, তালিকাভুক্তি বিকাশকারী নির্দেশিকা দেখুন।

এনক্রিপশন বিশদ

এনক্রিপশন প্রবর্তনের সাথে, 'GetTopics()'-এ কলগুলি এখন 'এনক্রিপ্টেড টপিক' অবজেক্টের একটি তালিকা সহ একটি প্রতিক্রিয়া তৈরি করবে। এই ফলাফলগুলি ডিক্রিপ্ট করার ফলে পূর্ববর্তী বিষয় অবজেক্টের একই JSON বিন্যাস সহ একটি অবজেক্ট আসবে।

বিষয় API HPKE (হাইব্রিড পাবলিক কী এনক্রিপশন) এর এক শট বাস্তবায়ন সমর্থন করে। আমরা আশা করি যে নথিভুক্ত কলার তালিকাভুক্তির সময় প্রদত্ত সর্বজনীন এনক্রিপশন URL এন্ডপয়েন্টে একটি 32-বিট পাবলিক কী হোস্ট করবে৷ এই কীগুলি Base64 এনকোড করা হবে বলে আশা করা হচ্ছে।

এনক্রিপ্টেড টপিক অবজেক্টের 3টি ক্ষেত্র রয়েছে। প্রত্যাবর্তিত বিষয়গুলির তালিকা পাবলিক কী-এর জন্য সংশ্লিষ্ট ব্যক্তিগত কী ব্যবহার করে প্রাপ্ত করা যেতে পারে।

উন্নয়নের উদ্দেশ্যে, আপনি তালিকাভুক্তি পরীক্ষা নিষ্ক্রিয় করে বিষয় API এনক্রিপশন পরীক্ষা করতে পারেন। এটি আপনার প্রতিক্রিয়া এনক্রিপ্ট করার জন্য এপিআইকে পরীক্ষামূলক পাবলিক কী ব্যবহার করতে বাধ্য করবে। আপনি সংশ্লিষ্ট ব্যক্তিগত কী ব্যবহার করে এনক্রিপ্ট করা বিষয়গুলি ডিক্রিপ্ট করতে পারেন।

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}