詳閱 Android 版 Privacy Sandbox 說明文件時,請利用「開發人員預覽版」或「Beta 版」按鈕選取您要使用的計畫版本,因為兩者的操作說明可能不盡相同。
請按照以下操作說明宣告 API 專屬權限,並設定 SDK 對於目標 API 所管理資源的存取權。
宣告 AdServices API 專屬權限
您必須具備廣告服務 normal
權限,才能存取每個 PPAPI。在資訊清單中,請宣告應用程式或 SDK 所需 API 相應的適當存取權限。
Attribution Reporting API:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
Attribution Reporting API (含偵錯報表):
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
Protected Audience/Custom Audience API:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE" />
Topics API:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS" />
如需透過 Attribution Reporting API 接收偵錯報表,請加入 AD_ID 權限:
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />
如果專案具有模組或 SDK 的依附元件,可能已在資訊清單檔案中宣告必要的廣告服務權限。根據預設,Gradle 建構作業會將所有資訊清單檔案合併為單一檔案,封裝到應用程式中。請透過「Merged Manifest」檢視畫面確認已使用正確權限。
如果您需要避免透過 SDK 等依附元件將任何權限合併到應用程式,請為特定權限加入 remove
節點標記。以下範例說明如何避免合併 Topics 權限。
<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
,對所有呼叫端授予存取權。
或者,您可以使用 allowAdPartnersToAccess
屬性,針對每項廣告技術授予精細的 API 存取權。這時,您需要提供開發人員透過註冊取得的註冊帳戶 ID 清單。如果 allowAllToAccess
屬性設定為 true
,則此屬性的優先順序會高於 allowAdPartnersToAccess
屬性中指定的任何註冊帳戶 ID。
廣告技術平台也應確保其應用程式用戶端正確授予權限,以利存取廣告服務設定中必要的隱私權保護 API。
以下範例說明如何指定廣泛存取權,確保任何註冊帳戶 ID 都能存取所有隱私權保護 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>
以下範例說明如何針對特定註冊帳戶 ID,為每個隱私權保護 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>