Android için AdServices'ı yapılandırma

API'ye özel izinleri beyan etmek ve yapılandırmak için aşağıdaki talimatları uygulayın Hedeflenen API tarafından yönetilen kaynaklara SDK erişimi.

AdServices API'ye özel izinleri bildirme

Her PPAPI'ye erişim için Reklam Hizmetleri normal izni gerekir. manifest'inde API'lere karşılık gelen uygun erişim izinlerini gereken çeşitli faktörler bulunur.

Attribution Reporting API:

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

Attribution Reporting API (hata ayıklama raporlarıyla):

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

Protected Audience / özel kitle API'si:

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

Topics API:

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

İsteğe bağlı olarak, hata ayıklama raporlarını İlişkilendirme Raporları ile almak için API'de AD_ID iznini ekleyin:

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

Projenizin modüllere veya SDK'lara bağımlılıkları varsa bunlar zaten gerekli Ad Services izinlerini bildirmelidir. Varsayılan olarak Gradle derlemesi, tüm manifest dosyalarını paketlenmiş halidir. Birleştirilmiş Manifest görünümünü kullanarak, doğru izinlerin kullanılması gerekir.

İzinlerden herhangi birinin uygulamanızla birleştirilmesini önlemeniz gerekiyorsa bağımlılıkları (örneğin, SDK'lar) üzerinden güncellemek için remove düğüm işaretçisini izin verebiliyorsunuz. Aşağıdaki örnekte, kırılımını önlemek için Topics izninin birleştirilmesi.

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

API'ye özel Reklam Hizmetlerini yapılandırma

PPAPI erişim izinlerine benzer şekilde, her API'nin yapılandırmanın üç yolu vardır. Bu yapılandırma sayesinde uygulamanızdaki API'ler tarafından yönetilen kaynaklara erişimi ayrıntılı biçimde kontrol edebilir yerleşik SDK'yı kullanabilirsiniz.

Manifest'inizde gösterildiği gibi bir adservicesConfig özelliği belirtin. aşağıdaki örnek:

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

      ...
</application>

Manifest'te başvurulan reklam hizmetleri XML kaynağını belirtin. Örneğin, res/xml/ad_services_config.xml Gizliliği koruyan her API için, uygulamanızda (veya yerleştirilmiş SDK'nızda) allowAllToAccess özelliğini true olarak ayarlayın ve arayanlara erişim izni ver.

Alternatif olarak, izin vermek için allowAdPartnersToAccess özelliğini ayrıntılı API erişimi sunar. Projenin gidişatı boyunca Kayıt yoluyla alınan geliştirici kaydı hesap kimlikleri. Öğe allowAllToAccess özelliği true olarak ayarlandı ve bu özellik öncelikli allowAdPartnersToAccess kapsamında belirtilen tüm kayıt hesap kimliklerinin üzerinde özelliğini gönderin.

Reklam teknolojisi platformları, uygulama müşterilerinin de Reklam hizmetleri yapılandırmasındaki gizliliği korumaya yönelik gerekli API'lere erişim

Aşağıdaki örnekte, herhangi bir kayda izin vermek için geniş erişimin nasıl belirtileceği gösterilmektedir gizliliği korumaya yönelik tüm API'lere hesap kimliği erişimi:

<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>

Aşağıdaki örnekte, her bir Belirli kayıt hesap kimlikleri için gizliliği korumaya yönelik 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>

Jetpack kitaplığı bağımlılıklarını bildirme

Entegrasyon için ads-adservices Jetpack kitaplığı 1.0.0-beta01 veya üstünü kullanın özel Korumalı Alan'ın gizliliği korumaya yönelik API'leriyle. Bu kitaplığı şunlar için kullanabilirsiniz: uygulamanızı platform düzeyindeki ayrıntılardan soyutlayın ve Google Ads ile entegrasyonu basitleştirin API'lerin kullanımı konusunda ısrarcı olabilirsiniz.

  1. Projenize Maven deposu ekleyin.
  2. Ads-adservices Jetpack kitaplığı bağımlılıklarını Uygulamanız veya modülünüz için build.gradle dosyası.
  3. androidx.privacysandbox.ads.adservices.* paketlerindeki API'leri kullanın.
  4. Ads-adservices Jetpack kitaplığı, yerleşik Kotlin eş yordamı sağlar destek. Yaşam döngüsüne duyarlı, geliştirilmeye uygun bağımlılıkları ve bağımlılıkları koordinasyon olarak yönetmenize yardımcı olur.

Reklam Hizmetleri Uzantıları sürümünün kullanılabilirliğini kontrol etme

Merchant Center'a entegre etmek için reklam hizmetleri Jetpack kitaplığını gizliliği korumaya yönelik API'lerde bulunduğunda, kitaplık obtain() işlevindeki API'ler istendi. istenen API cihazda kullanılamıyor. Aşağıdaki örnekte, Topics API için TopicsManager ilk kullanıma nasıl hazırlanır? Benzer şekilde gizliliği korumaya yönelik diğer API'lere erişme.

Kotlin

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)

Java

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);

Uzantı SDK'sında AdServices API'lerini doğrudan kullanıyorsanız Kullanmak istediğiniz AdServices API'lerini içeren AdServices Extensions sürümü. API referansında, belirli bir AdServices API kullanıma sunuldu. Örneğin, TopicsManager sınıfının API referansı "Reklam Hizmetleri Uzantıları 4'e Eklendi" olduğunu belirtir. Şunları kullanın: AdServices API'leri içeren SDK uzantılarını doğrulamaya yönelik koşullu kontroller.

Kotlin

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.
...
}

Java

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.
...
}

Ön plan erişim sınırlaması

Şeffaflık sağlamak için SDK Çalışma Zamanı'na ve gizliliği korumaya yönelik API'lere erişim yalnızca görünür bir etkinliği olan veya belirli bir RunningAppProcessInfo/IMPORTANCE_FOREGROUND.