SDK Runtime API: 통합 가이드

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


통합 계획에 도움을 드리고자 이 가이드에는 통합 프로세스에 관한 포괄적인 뷰가 제공됩니다. 여기에는 Android의 개인 정보 보호 샌드박스 개발자 프리뷰의 현재 단계에서 아직 구현되지 않은 기능이 포함되어 있을 수 있습니다. 이러한 경우에는 일정 안내가 제공됩니다.

아래 차트는 SDK 런타임 통합의 업데이트된 개발 워크플로를 보여줍니다. 동일한 열에 나열된 섹션은 동시에 작업할 수 있습니다. 예를 들어 파트너 참여는 테스트 환경 설정과 동시에 실행할 수 있습니다.

SDK 런타임 통합 워크플로를 보여주는 다이어그램
SDK 런타임 통합의 워크플로

기본 요건 및 설정

이 사전 작업 섹션을 완료하면 SDK 런타임을 잘 이해하고 광고 기술 생태계에서 이 API를 사용할 때 유의미한 결과를 얻을 수 있습니다.

API 숙지하기

먼저 설계 제안서를 읽으면서 SDK 런타임과 그 기능, 제한사항을 숙지합니다.

사용 사례에 필요할 코드와 API 호출을 통합하는 방법은 개발자 가이드를 참고하세요.

문서에 관한, 특히 미해결된 질문에 관한 의견을 제출하세요.

가입하여 Android의 개인 정보 보호 샌드박스에 관한 최신 소식을 받아 보세요. 이렇게 하면 향후 버전에서 도입되는 새로운 기능을 계속 확인할 수 있습니다.

샘플 앱 설정 및 테스트

통합을 시작할 준비가 되면 여기에 나열된 안내에 따라 Android 스튜디오에서 최신 개발자 프리뷰를 다운로드합니다. 이 가이드를 따르려면 최신 카나리아 버전의 Android 스튜디오를 사용해야 합니다. 이 버전의 Android 스튜디오는 사용 중인 다른 버전과 동시에 실행할 수 있으므로 이 요구사항이 적합하지 않은 경우 Google에 알려주세요.

샘플 앱에서 코드를 포크하고 실행하여 "example-sdk"라는 RE SDK와 'client-app'이라는 클라이언트 앱을 기기나 에뮬레이터에 설치하여 광고 예가 로드되도록 하는 방법을 숙지합니다.

기존 SDK를 SDK 런타임에 맞게 조정

이 섹션의 목표는 런타임 지원 SDK(RE SDK)에서 기존 SDK의 기능(예: 배너 광고 표시)을 구현하고 앱과 RE SDK 간의 통신을 설정하는 것입니다.

  • sdk-example 및 sdk-implementation을 만들거나 업데이트하여 RE SDK에서 기능을 구현합니다.

  • 구조적으로는 래퍼 역할을 하는 기존 SDK에 RE SDK를 종속 항목으로 추가하는 것이 좋습니다. 이렇게 하면 클라이언트 앱에서 직접 기존 SDK 또는 래퍼를 계속 호출할 수 있습니다. 래퍼 SDK는 아래에 설명된 다양한 전략을 기반으로 API 호출을 라우팅할 수 있습니다.

SDK 런타임 통합 후의 시스템 아키텍처를 보여주는 다이어그램
SDK 런타임 통합 후의 시스템 아키텍처

PPAPI 호출과 같이 맞춤 데이터가 필요한 사용 사례의 경우 IPC를 사용하여 API 정의를 만들어야 합니다. Android의 IBinder 및 AIDL을 사용하여 필요한 정보나 작업에 관한 정보를 런타임 지원 SDK에 전송하는 통신 프로토콜을 만듭니다. 자세한 내용은 여기에서 SDK 런타임 개발자 가이드를 확인하세요.

런타임 지원 SDK로 트래픽 라우팅

API 호출 라우팅 전략

사용 사례에 따라 기존 SDK 및 RE SDK 코드 경로를 통해 SDK 호출을 라우팅하는 것이 좋습니다. 이렇게 하면 초기 출시에서 A/B 테스트를 구현할 수 있습니다. 앱 통합을 쉽게 하기 위해 이 가이드에서는 앱이 RE SDK를 사용하고 적절한 경우 기존 SDK에 위임한다는 점을 고려합니다. 다음 전략을 고려하세요.

SDK 호출의 일부를 RE SDK로 라우팅

SDK 호출의 일부만 RE SDK로 라우팅합니다. 나머지는 기존 SDK 코드 경로로 라우팅합니다. 예를 들어 배너 광고 표시와 같이 SDK 요청을 한 번만 충족해야 하는 경우 이 전략을 사용하는 것이 좋습니다.

  • 요청의 일부를 RE SDK로 라우팅하도록 기존 SDK를 수정합니다. 예를 들어 Firebase 원격 구성과 같은 서버 기반 동적 구성 플래그를 사용하여 전환 기준을 동적으로 제어합니다.
  • 이렇게 하면 기본적으로 기존 SDK가 앱과 상호작용하고 SDK 요청을 새 RE SDK로 라우팅하는 유일한 인터페이스가 됩니다.
  • 코드는 RE SDK에서 처리할 수 있는 요청만 리디렉션해야 합니다. 예를 들어 광고 형식이 SDK 런타임에서 지원되는지 확인하세요.
  • 이 안내에 따라 RE SDK와 상호작용하도록 SDK 코드를 업데이트합니다.

라우팅 로직을 위한 의사코드:

void showAd(AdRequest request) {
  if (request.isBannerAd() && enableRuntimeSdkDiversion() == true) {
    // Call showAd() from the RE SDK
  } else {
    // Call showAd() using the existing SDK code path
  }
}

모든 SDK 호출을 기존 SDK와 RE SDK로 모두 라우팅

지원되는 기기에서 모든 SDK 호출을 기존 SDK 코드 경로와 RE SDK 코드 경로로 모두 라우팅합니다. 비교 목적으로 기존 및 새 코드 경로를 모두 실행해야 하는 경우 이 전략을 사용하는 것이 좋습니다. 전환 보고 결과 비교를 예로 들 수 있습니다.

  • 모든 SDK 호출을 기존 SDK 코드 경로와 RE SDK 코드 경로로 모두 라우팅하도록 코드를 수정합니다. SDK 런타임에서 기능을 지원하고 RE SDK가 성공적으로 로드되는지 확인해야 합니다.

라우팅 로직을 위한 의사코드:

void reportAttribution(AdRequest request) {
  if (request.isFeatureSupported() && isSdkLoaded() == true) {
    // Call RE SDK
  }

  // Call existing SDK code path
}

런타임 지원 SDK 배포를 위한 비공개 베타

Google Play는 베타 프로그램에 가입하고 로컬 테스트를 실행한 개발자를 위해 광고 관련 SDK용 비공개 베타 프로그램을 제공하고 있습니다. 참여할 의향이 있다면 여기에서 가입하세요.