ProtectedSignalsManager

public class ProtectedSignalsManager
extends Object

java.lang.Object
   ↳ android.adservices.signals.ProtectedSignalsManager


ProtectedSignalsManager는 앱과 광고 SDK에서 보호된 신호를 관리할 수 있는 API를 제공합니다.

요약

공개 메서드

static ProtectedSignalsManager get(Context context)

ProtectedSignalsManager 인스턴스를 만드는 팩터리 메서드입니다.

void updateSignals(UpdateSignalsRequest updateSignalsRequest, Executor executor, OutcomeReceiver<ObjectException> receiver)

updateSignals API는 URI에서 추가하거나 삭제할 신호를 설명하는 JSON을 검색합니다.

상속된 메서드

공개 메서드

get

public static ProtectedSignalsManager get (Context context)

ProtectedSignalsManager 인스턴스를 만드는 팩터리 메서드입니다.

매개변수
context Context: 사용할 Context입니다. 이 값은 null일 수 없습니다.

반환 값
ProtectedSignalsManager ProtectedSignalsManager 인스턴스 이 값은 null일 수 없습니다.

updateSignals

public void updateSignals (UpdateSignalsRequest updateSignalsRequest, 
                Executor executor, 
                OutcomeReceiver<ObjectException> receiver)

updateSignals API는 URI에서 추가하거나 삭제할 신호를 설명하는 JSON을 검색합니다. 이 API를 통해 인코더 엔드포인트를 등록할 수도 있습니다. 엔드포인트는 신호를 인코딩할 수 있는 인코딩 로직을 다운로드하는 데 사용됩니다.

JSON의 최상위 키는 다음 5가지 명령어 중 하나와 일치해야 합니다.

'put' - 새 신호를 추가하여 동일한 키로 기존 신호를 덮어씁니다. 이 값의 값은 JSON 객체이며 여기서 키는 입력할 키에 해당하는 base 64 문자열이고 값은 입력할 값에 해당하는 base 64 문자열입니다.

'append' - 새 신호/신호를 신호의 시계열에 추가하고, 계열 크기가 지정된 최댓값을 초과하는 경우 가장 오래된 신호를 삭제하여 새 신호를 위한 공간을 확보합니다. 이 값은 JSON 객체이며, 여기서 키는 추가할 키에 해당하는 base 64 문자열이며 값은 'values' 및 'maxSignals'라는 두 필드가 있는 객체입니다. 'values'는 시계열에 추가할 신호 값에 해당하는 base64 문자열의 목록입니다. 'maxSignals'는 이 시계열에서 허용되는 최대 값 수입니다. 키와 연결된 현재 신호 수가 maxSignals를 초과하면 가장 오래된 신호가 삭제됩니다. put으로 추가된 키에 추가할 수 있습니다. 최대 값 수를 초과하여 추가해도 오류가 발생하지는 않습니다.

'put_if_not_present' - 동일한 키를 가진 기존 신호가 없는 경우에만 새 신호를 추가합니다. 이 값은 JSON 객체이며 여기서 키는 입력할 키에 해당하는 base 64 문자열이고 값은 입력할 값에 해당하는 base 64 문자열입니다.

'remove' - 키 신호를 삭제합니다. 이 값은 삭제해야 하는 신호의 키에 해당하는 base 64 문자열의 목록입니다.

'update_encoder' - 엔드포인트를 업데이트하는 작업 및 인코딩 로직을 검색하는 데 사용할 수 있는 URI를 제공합니다. 업데이트 작업을 제공하기 위한 하위 키는 'action'이며 현재 지원되는 값은 다음과 같습니다.

  1. 'REGISTER' : 인코더 엔드포인트를 처음 제공된 경우 등록하거나 기존 엔드포인트를 새로 제공된 엔드포인트로 덮어씁니다. 'REGISTER' 작업에 '엔드포인트'를 제공해야 합니다.

인코더 엔드포인트를 제공하기 위한 하위 키는 'endpoint'이고 값은 엔드포인트의 URI 문자열입니다.

키는 JSON당 하나의 명령어로만 조작할 수 있습니다. 두 명령어가 동일한 키로 작업을 시도하면 이 메서드는 IllegalArgumentException를 통해 실행됩니다.

다음과 같은 경우 SecurityException이 반환되고 호출이 실패합니다.

  1. ownerPackageName가 앱의 패키지 이름을 호출하지 않거나
  2. 구매자에게 API를 사용할 권한이 없습니다.

다음과 같은 경우 IllegalArgumentException이 반환되고 호출이 실패합니다.

  1. 서버에서 가져온 JSON이 잘못되었습니다.
  2. 제공된 URI가 잘못되었습니다.

호출 패키지가 허용된 비율 제한을 초과하여 제한되면 이 호출은 LimitExceededException와 함께 실패합니다.

내부 서비스 오류가 발생하면 이 호출이 IllegalStateException 오류와 함께 실패합니다.
AdServicesPermissions.ACCESS_ADSERVICES_CUSTOM_AUDIENCE 필요

매개변수
updateSignalsRequest UpdateSignalsRequest: 이 값은 null일 수 없습니다.

executor Executor: 이 값은 null일 수 없습니다. 콜백 및 리스너 이벤트가 이 Executor를 통해 전달되므로 사용되는 스레드를 쉽게 제어할 수 있습니다. 애플리케이션의 기본 스레드를 통해 이벤트를 전달하려면 Context.getMainExecutor()를 사용하면 됩니다. 그 외의 경우에는 적절한 스레드에 전달되는 Executor를 제공합니다.

receiver OutcomeReceiver: 이 값은 null일 수 없습니다.