fetchAndJoinCustomAudience
API를 사용하면 구매자가 파트너 MMP 또는 SSP의 기기 내 존재를 활용하여 맞춤 잠재고객 참여를 위임할 수 있습니다.
개요
대략적인 작동 방식은 기기 내 호출자(MMP 또는 SSP SDK)가 다음과 같은 fetchAndJoinCustomAudienceRequest
를 만드는 것입니다.
Kotlin
/**
* @param fetchUri The URL to retrieve the CA from.
* (optional)@param name The name of the CA to join.
* (optional)@param activationTime The time when the CA will activate.
* (optional)@param expirationTime The time when the CA will expire,
must be a time in the future otherwise this will fail
* (optional)@param userBiddingSignals The user bidding signals used at auction.
*/
val request = FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
.setName(name)
.setActivationTime(activationTime)
.setExpirationTime(expirationTime)
.setUserBiddingSignals(userBiddingSignals)
.build()
Java
/**
* @param fetchUri The URL to retrieve the CA from.
* (optional)@param name The name of the CA to join.
* (optional)@param activationTime The time when the CA will activate.
* (optional)@param expirationTime The time when the CA will expire,
must be a time in the future otherwise this will fail
* (optional)@param userBiddingSignals The user bidding signals used at auction.
*/
FetchAndJoinCustomAudienceRequest request =
new FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
.setName(name) //Optional
.setActivationTime(activationTime) //Optional
.setExpirationTime(expirationTime) //Optional
.setUserBiddingSignals(userBiddingSignals) //Optional
.build();
모든 선택적 매개변수에 관한 중요한 사항은 가져오기 요청 내에 설정되어 있는 경우 구매자가 반환한 값으로 데이터를 재정의할 수 없으므로 기기 내 호출자가 맞춤 잠재고객 유지하는 요인을 추가로 제어한다는 점입니다.
fetchUri
는 구매자가 운영하는 서버 엔드포인트를 가리켜야 하며,
이 엔드포인트는 여기에 표시된 형식과 일치하는 맞춤 잠재고객 JSON 객체를
반환합니다.
//Return a 200 response with data matching the format of the following in the body
{
"daily_update_uri": "https://js.example.com/bidding/daily",
"bidding_logic_uri": "https://js.example.com/bidding",
"user_bidding_signals": {
"valid": true,
"arbitrary": "yes"
},
"trusted_bidding_data": {
"trusted_bidding_uri": "https://js.example.com/bidding/trusted",
"trusted_bidding_keys": [
"key1",
"key2"
]
},
"ads": [
{
"render_uri": "https://js.example.com/render/fetch_and_join_ad1",
"metadata": {
"valid": 1
}
},
{
"render_uri": "https://js.example.com/render/fetch_and_join_ad2",
"metadata": {
"valid": 2
}
}
]
}
API 측에서 이 문제를 해결하는 방법에 관한 자세한 내용은 CA 참여 위임을 위한 설계 제안을 참고하세요.
테스트
클라이언트 코드 내에 가져오기 호출을 구현하고 맞춤 잠재고객 데이터를 반환하도록 DSP 측에 엔드포인트를 설정한 후 맞춤 잠재고객 참여 위임을 테스트할 수 있습니다. 앱을 실행하기 전에 다음 명령어를 실행하여 UI를 열고 개인 정보 보호 샌드박스를 사용 설정해야 합니다.
adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity
UI가 표시되면 개인 정보 보호 샌드박스를 사용 설정하도록 전환한 후 다음 ADB 명령어를 실행하여 테스트용으로 기기 설정을 완료합니다.
adb shell device_config set_sync_disabled_for_tests persistent
adb shell device_config put adservices ppapi_app_signature_allow_list \"\*\"
adb shell device_config put adservices ppapi_app_allow_list \"\*\"
adb shell device_config put adservices adservice_system_service_enabled true
adb shell device_config put adservices adservice_enabled true
adb shell device_config put adservices adservice_enable_status true
adb shell device_config put adservices global_kill_switch false
adb shell device_config put adservices fledge_js_isolate_enforce_max_heap_size false
adb shell device_config put adservices fledge_custom_audience_service_kill_switch false
adb shell device_config put adservices fledge_select_ads_kill_switch false
adb shell device_config put adservices adid_kill_switch false
adb shell setprop debug.adservices.disable_fledge_enrollment_check true
adb shell device_config put adservices fledge_fetch_custom_audience_enabled true
이러한 명령어를 실행하면 Fetch API를 사용하여 호출을 시작할 수 있습니다.
이 흐름의 예를 확인할 수 있도록 GitHub의 개인 정보 보호 샌드박스 샘플 저장소의 개발자 프리뷰 브랜치에 가져오기 호출이 추가되었습니다.