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.
- Projenize Maven deposu ekleyin.
- Ads-adservices Jetpack kitaplığı bağımlılıklarını
Uygulamanız veya modülünüz için
build.gradle
dosyası. androidx.privacysandbox.ads.adservices.*
paketlerindeki API'leri kullanın.- 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
.