SDK Runtime API: 統合ガイド

Android 版プライバシー サンドボックスのドキュメントをご覧になる際は、[デベロッパー プレビュー] または [ベータ版] ボタンで対象のプログラム バージョンを選択してください(手順が異なる場合があります)。


このガイドでは、統合の計画に役立つように、統合プロセスの全体像を提供します。これには、Android 版プライバシー サンドボックス デベロッパー プレビューの、現段階では実装されていない機能が含まれている可能性があります。その場合は、タイムラインのガイダンスが提供されます。

下図は、SDK ランタイムの統合に関する最新の開発ワークフローを示しています。同じ列に記載されているセクションは、並行して作業できます。たとえば、パートナー エンゲージメントはテスト環境のセットアップと同時に行うことができます。

SDK ランタイム統合のワークフローを表す図。
SDK ランタイムの統合のワークフロー。

前提条件と準備

この事前作業のセクションを完了すると、SDK ランタイムを十分に理解でき、広告テクノロジー エコシステムで API を使用する際に有意義な結果が得られるようになります。

API をよく理解する

まず設計案を読み、SDK ランタイム、その機能、制限事項をよく理解します。

デベロッパー ガイドを読み、ユースケースに必要なコードや API の呼び出しを組み込む方法を確認します。

ドキュメント、特に未解決の質問に関してフィードバックがあればお送りください。

登録して、Android 版プライバシー サンドボックスに関する最新情報を受け取ります。これにより、今後のリリースで追加される新機能を常に把握しておくことができます。

サンプルアプリのセットアップとテスト

統合を開始する準備ができたら、こちらに記載されている手順に沿って、Android Studio の最新のデベロッパー プレビューをダウンロードします。このガイドでは、Android Studio の最新の Canary バージョンを使用する必要があります。このバージョンの Android Studio は、使用する他のバージョンと並行して実行できるため、この要件が適していない場合は、Google までお知らせください

サンプルアプリのコードをフォークして実行し、「example-sdk」"example-sdk"という RE SDK と「client-app」というクライアント アプリをデバイスまたはエミュレータにインストールして、サンプル広告が読み込まれるようにする方法を確認します。

既存の SDK を SDK ランタイムに対応させる

このセクションの目標は、既存の SDK からバナー広告の表示などの機能をランタイム対応 SDK(RE SDK)に実装し、アプリと RE SDK の間の通信をセットアップすることです。

  • sdk-example と sdk-implementation を作成または更新して、RE SDK の機能を実装します。

  • アーキテクチャの観点から、RE SDK を既存の 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 Remote Config などのサーバーベースの動的構成フラグを使用して、転送条件を動的に制御します。
  • 基本的に、既存の SDK は、アプリが操作する唯一のインターフェースとなり、新しい RE SDK への SDK リクエストのルーティングを担います。
  • コードは、RE SDK で処理できるリクエストのみをリダイレクトする必要があります。たとえば、広告フォーマットが SDK ランタイムでサポートされていることを確認します。
  • こちらの手順に沿って SDK コードを更新し、RE 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 のクローズド ベータ版プログラムを提供しています。参加をご希望の場合は、こちらからご登録ください。