AdServices 구성

안내가 다를 수 있으므로 Android의 개인 정보 보호 샌드박스 문서를 읽으면서 개발자 프리뷰 또는 베타 버튼을 사용하여 작업 중인 프로그램 버전을 선택하세요.


아래 안내에 따라 API별 권한을 선언하고 타겟팅된 API에서 관리하는 리소스에 대한 SDK 액세스를 구성합니다.

AdServices API 관련 권한 선언

각 PPAPI에 액세스하려면 광고 서비스 normal 권한이 필요합니다. 매니페스트에서 앱 또는 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/ 맞춤 잠재고객 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 빌드는 모든 매니페스트 파일을 앱에 패키징되는 단일 매니페스트 파일로 병합합니다. 병합된 매니페스트 뷰를 사용하여 올바른 권한이 사용되고 있는지 확인합니다.

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에 대한 액세스 권한을 올바르게 부여하도록 해야 합니다.

다음 예는 광범위한 액세스를 지정하여 모든 개인 정보 보호 API에 대한 등록 계정 ID 액세스를 허용하는 방법을 보여줍니다.

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