建構和使用支援執行階段的 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. 將 Privacy Sandbox Maven 網址新增至專案的頂層 build.gradle 檔案。

        allprojects {
            repositories {
                google()
                maven {
                    url "https://maven.privacysandbox.com/v1/repository"
                    }
                }
            }
    
  4. 保留現有廣告程式庫 (您的執行階段感知 SDK) Maven 目標的 Maven 依附元件。

  5. 在專案 build.gradle 中新增 privacySandbox 區塊,並依附 SDK 程式庫,然後將 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. 現在應用程式可以使用 SDK 的 API,方式與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. 按一下「活動」旁的三點圖示選單,然後為用戶端選取「主要活動」。
  5. 依序按一下「Apply」和「OK」
  6. 按一下「Run」圖示 ,在測試裝置上安裝用戶端應用程式和 SDK。

建構 SDK 以供發布

您必須先將 SDK 建構為 Android SDK 套件 (ASB),才能發布至應用程式商店。ASB 是未簽署的發布套件,相當於 Android App Bundle。

ASB 或其衍生版本 Android SDK 封存檔 (ASAR) 會連同應用程式的 AAB,由 Bundletool 轉換為一組可安裝的 APK。應用程式開發人員可以直接在 Android Studio (目前為 Canary 版) 中使用 BundleTool,輸出所有 APK 變體。

Bundletool 會接收 AAB 和 ASB,並輸出 APK 變化版本組合:

  1. 為在 SDK 執行階段回溯相容模式中執行而建構的 APK,適用於不相容於 SDK 執行階段的裝置 (Android 13 以下版本)。這個 APK 包含應用程式和 SDK 所需的所有程式碼。
  2. 這個 APK 適用於在與 SDK 執行階段相容的裝置 (Android 14 以上版本) 上,以 SDK 執行階段模式執行。這個 APK 只包含應用程式程式碼,以及適用於啟用執行階段的 SDK 的 API 存根。
  3. 這個 SDK APK 包含支援執行階段的 SDK 程式碼,目的是在安裝上一個步驟所述的應用程式 APK 之前安裝。

您可以透過下列兩種方式建構 ASB:

  • Android Studio
    1. 建構專案。只要呼叫「Build」>「Rebuild」專案,即可達成這個效果。
    2. ASB 檔案位於啟用執行階段的 ASB 模組中,路徑為 build/outputs/asb/single/<your-asb-module-name>.asb
  • Bundletool 的指令列 - 請按照這些操作說明操作。

您必須先使用上傳金鑰簽署 SDK,才能發布。使用這個上傳金鑰簽署 ASB,然後上傳至 SDK 管理中心。Google 會使用上傳憑證驗證您的身分。

以下簡要說明簽署 ASB 的步驟:

  1. 產生 KeyStore 和上傳金鑰。這與為應用程式產生 KeyStore 和上傳金鑰的做法相同。
  2. 使用上傳金鑰簽署 ASB。如要這麼做,請在 build.gradle 檔案中新增 signingConfig 區塊,指定新建立的金鑰和金鑰儲存區:
android {
  signingConfig {
    storeFile file(path-to-keystore.jks)
    storePassword "keystorePassword"
    keyAlias "UploadKey"
    keyPassword "keyPassword"
  }
}

應用程式商店可以制定不同的策略,使用這些元件支援啟用執行階段的應用程式發布作業。SDK 執行階段會持續與應用程式商店合作,擴大支援支援執行階段的 SDK。

步驟 4:使用已啟用執行階段的 SDK