Android এর জন্য AdServices কনফিগার করুন

API-নির্দিষ্ট অনুমতিগুলি ঘোষণা করতে এবং লক্ষ্যযুক্ত API দ্বারা পরিচালিত সংস্থানগুলিতে SDK অ্যাক্সেস কনফিগার করতে নীচের নির্দেশাবলী অনুসরণ করুন৷

AdServices API-নির্দিষ্ট অনুমতি ঘোষণা করুন

প্রতিটি PPAPI-এ অ্যাক্সেসের জন্য একটি বিজ্ঞাপন পরিষেবার normal অনুমতি প্রয়োজন। আপনার ম্যানিফেস্টে, আপনার অ্যাপ বা SDK-এ প্রয়োজনীয় API-এর সাথে সম্পর্কিত উপযুক্ত অ্যাক্সেসের অনুমতিগুলি ঘোষণা করুন৷

অ্যাট্রিবিউশন রিপোর্টিং API:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />

অ্যাট্রিবিউশন রিপোর্টিং API (ডিবাগ রিপোর্ট সহ):

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />

সুরক্ষিত শ্রোতা / কাস্টম দর্শক API:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE" />

বিষয় API:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS" />

ঐচ্ছিকভাবে, অ্যাট্রিবিউশন রিপোর্টিং API এর সাথে ডিবাগ রিপোর্ট পেতে, AD_ID অনুমতি অন্তর্ভুক্ত করুন:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />

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

আপনি যদি SDK-এর মতো নির্ভরতার মাধ্যমে আপনার অ্যাপে একীভূত হওয়া থেকে কোনও অনুমতি আটকাতে চান তবে নির্দিষ্ট অনুমতিগুলির জন্য remove নোড মার্কার অন্তর্ভুক্ত করুন। নিম্নলিখিত উদাহরণ দেখায় কিভাবে বিষয়ের অনুমতি একত্রিত করা প্রতিরোধ করা যায়।

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"
    tools:node="remove" />

API-নির্দিষ্ট বিজ্ঞাপন পরিষেবাগুলি কনফিগার করুন৷

PPAPI অ্যাক্সেস অনুমতির মতো, প্রতিটি API-এর বিজ্ঞাপন পরিষেবা কনফিগারেশনে একটি সংশ্লিষ্ট এন্ট্রি থাকে। এই কনফিগারেশনটি আপনাকে আপনার অ্যাপ বা এম্বেড করা SDK-এ API-এর দ্বারা পরিচালিত সংস্থানগুলিতে সূক্ষ্ম নিয়ন্ত্রণের অ্যাক্সেস দেয়। আপনার ম্যানিফেস্টে, নিম্নলিখিত উদাহরণে দেখানো হিসাবে একটি adservicesConfig সম্পত্তি নির্দিষ্ট করুন:

<application ...>
      ...
    <property android:name="android.adservices.AD_SERVICES_CONFIG"
        android:resource="@xml/ad_services_config" />

      ...
</application>

ম্যানিফেস্টে উল্লেখ করা বিজ্ঞাপন পরিষেবাগুলির XML সংস্থানগুলি নির্দিষ্ট করুন, যেমন res/xml/ad_services_config.xml । আপনার অ্যাপে (বা এম্বেড করা SDK) প্রযোজ্য প্রতিটি গোপনীয়তা-সংরক্ষণকারী API-এর জন্য, যেকোনও কলারকে অ্যাক্সেস দেওয়ার জন্য allowAllToAccess অ্যাট্রিবিউটটিকে true সেট করুন।

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

বিজ্ঞাপন প্রযুক্তি প্ল্যাটফর্মগুলিকেও নিশ্চিত করা উচিত যে তাদের অ্যাপ ক্লায়েন্টরা বিজ্ঞাপন পরিষেবার কনফিগারেশনে প্রয়োজনীয় গোপনীয়তা-সংরক্ষণকারী APIগুলিতে সঠিকভাবে অ্যাক্সেস প্রদান করে।

নিম্নলিখিত উদাহরণ দেখায় যে সমস্ত গোপনীয়তা-সংরক্ষণকারী API-তে যেকোন তালিকাভুক্তি অ্যাকাউন্ট আইডি অ্যাক্সেসের অনুমতি দেওয়ার জন্য কীভাবে বিস্তৃত অ্যাক্সেস নির্দিষ্ট করতে হয়:

<ad-services-config>
   <!-- Attribution API -->
   <attribution allowAllToAccess="true" />

   <!-- Topics API -->
   <topics allowAllToAccess="true" />

   <!-- Protected Audience on Android API -->
   <custom-audiences allowAllToAccess="true" />
</ad-services-config>

নিম্নলিখিত উদাহরণটি দেখায় যে কীভাবে নির্দিষ্ট তালিকাভুক্তি অ্যাকাউন্ট আইডিগুলির জন্য প্রতিটি গোপনীয়তা-সংরক্ষণকারী API-তে সূক্ষ্ম অ্যাক্সেস নির্দিষ্ট করতে হয়:

<ad-services-config>
    <!-- Attribution API -->
    <attribution allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />

    <!-- Topics API -->
    <includes-sdk-library name="ENROLLMENT-ID" />
    <topics allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />

    <!-- Protected Audience on Android API -->
    <custom-audiences allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />
</ad-services-config>

জেটপ্যাক লাইব্রেরি নির্ভরতা ঘোষণা করুন

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

  1. আপনার প্রকল্পে একটি Maven সংগ্রহস্থল যোগ করুন।
  2. আপনার অ্যাপ বা মডিউলের জন্য build.gradle ফাইলে বিজ্ঞাপন-বিজ্ঞাপন পরিষেবা Jetpack লাইব্রেরি নির্ভরতা ঘোষণা করুন।
  3. androidx.privacysandbox.ads.adservices.* প্যাকেজ থেকে API ব্যবহার করুন।
  4. বিজ্ঞাপন-বিজ্ঞাপন পরিষেবা জেটপ্যাক লাইব্রেরি অন্তর্নির্মিত Kotlin coroutine সমর্থন প্রদান করে। করুটিন স্কোপগুলি পরিচালনা করার জন্য আপনাকে আপনার প্রকল্পের জন্য উপযুক্ত জীবনচক্র-সচেতন নির্ভরতাগুলিকে অন্তর্ভুক্ত করতে হতে পারে।

অ্যাড সার্ভিসেস এক্সটেনশন সংস্করণের উপলব্ধতা পরীক্ষা করুন

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

কোটলিন

import androidx.privacysandbox.ads.adservices.topics.TopicsManager

// The initialization function will return null if the requested
// functionality is not available on the device.
val topicsManager = TopicsManager.obtain(context)

জাভা

import androidx.privacysandbox.ads.adservices.topics.TopicsManager;

// The initialization function will return null if the requested
// functionality is not available on the device.
TopicsManager topicsManager = TopicsManager.obtain(context);

আপনি যদি সরাসরি এক্সটেনশন SDK-এ AdServices API ব্যবহার করেন, তাহলে AdServices এক্সটেনশন সংস্করণটি দেখুন যাতে আপনি যে AdServices APIগুলি ব্যবহার করতে চান তা অন্তর্ভুক্ত রয়েছে৷ API রেফারেন্সে, আপনি একটি নির্দিষ্ট AdServices API যে সংস্করণে প্রবর্তন করা হয়েছে তা সনাক্ত করতে পারেন। উদাহরণস্বরূপ, TopicsManager শ্রেণীর জন্য API রেফারেন্স নির্দেশ করে যে এটি "বিজ্ঞাপন পরিষেবা এক্সটেনশন 4-এ যোগ করা হয়েছে"। AdServices API আছে এমন SDK এক্সটেনশনগুলিকে যাচাই করতে নিম্নলিখিত শর্তসাপেক্ষ চেকগুলি ব্যবহার করুন৷

কোটলিন

import android.os.ext.SdkExtensions

if (SDK_INT >= Build.VERSION_CODES.R && // The extensions API is available since R.
   SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES) >= 4) {

    // AdServices API is available.
...
}

জাভা

import android.os.ext.SdkExtensions;

if (SDK_INT >= Build.VERSION_CODES.R && // The extensions API is available since R.
   SdkExtensions.getExtensionVersion(SdkExtensions.AD_SERVICES) >= 4) {

    // AdServices API is available.
...
}

ফোরগ্রাউন্ড অ্যাক্সেস সীমাবদ্ধতা

স্বচ্ছতা প্রদানের জন্য, SDK রানটাইম এবং গোপনীয়তা-সংরক্ষণকারী API-এ অ্যাক্সেস দৃশ্যমান অ্যাক্টিভিটি বা IMPORTANCE_FOREGROUND এর RunningAppProcessInfo সহ অ্যাপের মধ্যে সীমাবদ্ধ।