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는 추가하거나 삭제할 신호를 설명하는 JSON을 URI에서 검색합니다.

상속된 메서드

공개 메서드

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 객체입니다. 여기서 키는 입력할 키에 해당하는 base64 문자열이고 값은 입력할 값에 해당하는 base64 문자열입니다.

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

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

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

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

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

인코더 엔드포인트를 제공하는 하위 키는 '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일 수 없습니다.