ランタイム対応 SDK をビルドして使用する

1
Key concepts
2
Set up your development environment
3
Build an RE SDK
4
Consume the RE SDK
5
Testing, and building for distribution

テストアプリをビルドして構成する

このセクションでは、ローカル テスト用にランタイム対応 SDK を使用するアプリを設定して準備する方法について説明します。

アプリの準備を整える

まず、個別のスタンドアロン プロジェクトまたはモジュールを作成します。

このシナリオでは、アプリに SDK コードは含まれていません。代わりに、Maven の依存関係として宣言されています。

ランタイム対応 SDK を使用するアプリをビルドするには、Android Studio Ladybug Canary 1 以降と Android Gradle プラグイン(AGP)8.7.0-alpha01 以降が必要です。

  1. 前述の手順に沿って、開発環境テスト用のデバイス/エミュレータを設定します。
  2. ステップ 3: SDK を準備するセクションで説明されているフラグを使用して、SDK ランタイムを有効にします。

    # This enables the Privacy Sandbox for your project on Android Studio.
    android.experimental.privacysandboxsdk.enable=true
    android.experimental.privacysandboxsdk.requireServices=false
    
  3. プロジェクトの最上位の build.gradle ファイルにプライバシー サンドボックスの Maven URL を追加します。

        allprojects {
            repositories {
                google()
                maven {
                    url "https://maven.privacysandbox.com/v1/repository"
                    }
                }
            }
    
  4. 既存の広告ライブラリ(ランタイム対応 SDK)の Maven ターゲットに対する Maven の依存関係を維持します。

  5. SDK ライブラリへの依存関係を含む privacySandbox ブロックをプロジェクトの build.gradle に追加し、enable を true に設定します。

    plugins {
        id 'com.android.application'
        id 'org.jetbrains.kotlin.android'
    }
    
    android {
        //...
        privacySandbox {
            enable true
        }
        //...
    }
    
    dependencies {
        // SDK library dependency
        implementation(<maven coordinates to SDK library>)
    }
    
  6. アプリは、API の使用に関するセクションで説明したのと同じ方法で SDK の API を使用できるようになりました。

アプリを構築

通常どおり、Android App Bundle(AAB)としてアプリをビルドできます。

SDK をローカルでテストする

テストアプリを実行するには、Android Studio を使用して、ランタイム対応の SDK とアプリをテストデバイスまたはエミュレータにインストールします。

  1. テストアプリの Android Studio プロジェクトを開きます。
  2. [Run] > [Edit Configurations] に移動します。[Run/Debug] 構成ウィンドウが表示されます。「デフォルトの APK」または「バンドルから APK」としてデプロイできます。
  3. [Launch Options] で、[Launch] を [Specified Activity] に設定します。
  4. [Activity] の横にあるその他メニューをクリックし、クライアントの [Main Activity] を選択します。
  5. [Apply]、[OK] の順にクリックします。
  6. [実行] をクリックして、テストデバイスにクライアント アプリと SDK をインストールします。

配布用の SDK をビルドする

SDK をアプリストアに公開するには、Android SDK Bundle(ASB)としてビルドする必要があります。ASB は、Android App Bundle に相当する署名なしの公開パッケージです。

ASB またはその派生である Android SDK アーカイブ(ASAR)は、アプリの AAB とともに Bundletool によってインストール可能な APK のセットに変換されます。アプリ デベロッパーは、Android Studio(現在は Canary 版)で BundleTool を直接使用して、すべての APK バリアントを出力できます。

Bundletool は AAB と ASB を受け取り、APK バリアントのセットを出力できます。

  1. SDK ランタイム(Android 13 以下)と互換性のないデバイス向けに、SDK ランタイムの下位互換モードで実行するためにビルドされた APK。この APK には、アプリと SDK の両方に必要なコードがすべて含まれています。
  2. SDK ランタイム(Android 14 以上)に対応するデバイスで SDK ランタイム モードを実行するためにビルドされた APK。この APK には、アプリコードと、ランタイム対応 SDK の API スタブのみが含まれています。
  3. ランタイム対応 SDK コードを含む SDK APK。前の手順で説明したアプリ APK の前にインストールすることを目的としています。

ASB は次の 2 つの方法で構築できます。

  • Android Studio
    1. プロジェクトをビルドします。これを行うには、[Build] > [Rebuild] プロジェクトを呼び出します。
    2. ASB ファイルは、ランタイム対応の ASB モジュールの build/outputs/asb/single/<your-asb-module-name>.asb にあります。
  • Bundletool のコマンドライン - こちらの手順に沿って操作します。

SDK を公開するには、アップロードキーで署名する必要があります。このアップロード鍵を使用して ASB に署名し、SDK コンソールにアップロードします。Google はアップロード証明書を使用して、デベロッパーの本人確認を行います。

ASB に署名するために必要な手順の概要は次のとおりです。

  1. キーストアとアップロード鍵を生成します。これは、アプリのキーストアとアップロード鍵を生成する場合と同じです。
  2. アップロード鍵で ASB に署名します。これを行うには、新しく作成したキーとキーストアを指定する signingConfig ブロックを build.gradle ファイルに追加します。
android {
  signingConfig {
    storeFile file(path-to-keystore.jks)
    storePassword "keystorePassword"
    keyAlias "UploadKey"
    keyPassword "keyPassword"
  }
}

アプリストアは、これらのコンポーネントを使用して Runtime-Enabled アプリの配信をサポートするためのさまざまな戦略を開発できます。SDK ランタイムは、ランタイム対応 SDK のサポートを拡大するため、アプリストアと継続的に連携しています。

ステップ 4: ランタイム対応 SDK を使用する