Play Core Native SDK

ダウンロード: Play Core Native SDK

ダウンロードする前に、次の利用規約に同意する必要があります。

利用規約

Last modified: September 24, 2020
  1. By using the Play Core Software Development Kit, you agree to these terms in addition to the Google APIs Terms of Service ("API ToS"). If these terms are ever in conflict, these terms will take precedence over the API ToS. Please read these terms and the API ToS carefully.
  2. For purposes of these terms, "APIs" means Google's APIs, other developer services, and associated software, including any Redistributable Code.
  3. “Redistributable Code” means Google-provided object code or header files that call the APIs.
  4. Subject to these terms and the terms of the API ToS, you may copy and distribute Redistributable Code solely for inclusion as part of your API Client. Google and its licensors own all right, title and interest, including any and all intellectual property and other proprietary rights, in and to Redistributable Code. You will not modify, translate, or create derivative works of Redistributable Code.
  5. Google may make changes to these terms at any time with notice and the opportunity to decline further use of the Play Core Software Development Kit. Google will post notice of modifications to the terms at https://developer.android.com/guide/playcore/license. Changes will not be retroactive.
ダウンロード Play Core Native SDK

play-core-native-sdk-1.14.0.zip

Google Play Core Native SDK をダウンロードして使用すると、Play Core ソフトウェア開発キット利用規約に同意したことになります。

Play Core Native SDK には、Play Asset Delivery などの一部の Google Play ライブラリ用の C / C++ API インターフェースが用意されています。CMake を使用して ARM と x86 のネイティブ ライブラリをビルドしたり、Gradle で Android App Bundle や APK を生成したりするための SDK です。

開発環境をセットアップする

  1. 次のいずれかの操作を行います。

    • 最新バージョンの Android Studio をインストールします。SDK Manager UI を使用して、Android SDK Platform バージョン 10.0(API レベル 29)をインストールします。
    • Android SDK コマンドライン ツールをインストールし、sdkmanager を使用して Android SDK Platform バージョン 10.0(API レベル 29)をインストールする。
  2. Android Studio をネイティブ開発で使用できるようにするため、SDK Manager を使用して最新の CMake と Android Native Development Kit(NDK)をインストールします。ネイティブ プロジェクトの作成やインポートの詳細については、NDK のスタートガイドをご覧ください。

  3. zip ファイルをダウンロードして、プロジェクトと同じ場所に展開します。

    ダウンロード リンク サイズ SHA-256 チェックサム
    36 MiB 782a8522d937848c83a715c9a258b95a3ff2879a7cd71855d137b41c00786a5e
  4. アプリの build.gradle ファイルを以下のように更新します。

    Groovy

        // App build.gradle
    
        plugins {
          id 'com.android.application'
        }
    
        // Define a path to the extracted Play Core SDK files.
        // If using a relative path, wrap it with file() since CMake requires absolute paths.
        def playcoreDir = file('../path/to/playcore-native-sdk')
    
        android {
            defaultConfig {
                ...
                externalNativeBuild {
                    cmake {
                        // Define the PLAYCORE_LOCATION directive.
                        arguments "-DANDROID_STL=c++_static",
                                  "-DPLAYCORE_LOCATION=$playcoreDir"
                    }
                }
                ndk {
                    // Skip deprecated ABIs. Only required when using NDK 16 or earlier.
                    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
                }
            }
            buildTypes {
                release {
                    // Include Play Core Library proguard config files to strip unused code while retaining the Java symbols needed for JNI.
                    proguardFile '$playcoreDir/proguard/common.pgcfg'
                    proguardFile '$playcoreDir/proguard/gms_task.pgcfg'
                    proguardFile '$playcoreDir/proguard/per-feature-proguard-files'
                    ...
                }
                debug {
                    ...
                }
            }
            externalNativeBuild {
                cmake {
                    path 'src/main/CMakeLists.txt'
                }
            }
        }
    
        dependencies {
            // Import these feature-specific AARs for each Google Play Core library.
            implementation 'com.google.android.play:app-update:2.0.0'
            implementation 'com.google.android.play:asset-delivery:2.2.1'
            implementation 'com.google.android.play:integrity:1.3.0'
            implementation 'com.google.android.play:review:2.0.0'
    
            // Import these common dependencies.
            implementation 'com.google.android.gms:play-services-tasks:18.0.2'
            implementation files("$playcoreDir/playcore-native-metadata.jar")
            ...
        }
        

    Kotlin

    // App build.gradle.kts
    
    plugins {
        id("com.android.application")
    }
    
    // Define a path to the extracted Play Core SDK files.
    // If using a relative path, wrap it with file() since CMake requires absolute paths.
    val playcoreDir = file("../path/to/playcore-native-sdk")
    
    android {
        defaultConfig {
            ...
            externalNativeBuild {
                cmake {
                    // Define the PLAYCORE_LOCATION directive.
                    arguments += listOf("-DANDROID_STL=c++_static", "-DPLAYCORE_LOCATION=$playcoreDir")
                }
            }
            ndk {
                // Skip deprecated ABIs. Only required when using NDK 16 or earlier.
                abiFilters.clear()
                abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
            }
        }
        buildTypes {
            release {
                // Include Play Core Library proguard config files to strip unused code while retaining the Java symbols needed for JNI.
                proguardFile("$playcoreDir/proguard/common.pgcfg")
                proguardFile("$playcoreDir/proguard/gms_task.pgcfg")
                proguardFile("$playcoreDir/proguard/per-feature-proguard-files")
                ...
            }
            debug {
                ...
            }
        }
        externalNativeBuild {
            cmake {
                path = "src/main/CMakeLists.txt"
            }
        }
    }
    
    dependencies {
        // Import these feature-specific AARs for each Google Play Core library.
        implementation("com.google.android.play:app-update:2.0.0")
        implementation("com.google.android.play:asset-delivery:2.2.1")
        implementation("com.google.android.play:integrity:1.3.0")
        implementation("com.google.android.play:review:2.0.0")
    
        // Import these common dependencies.
        implementation("com.google.android.gms:play-services-tasks:18.0.2")
        implementation(files("$playcoreDir/playcore-native-metadata.jar"))
        ...
    }
    
  5. アプリの CMakeLists.txt ファイルを以下のように更新します。

    cmake_minimum_required(VERSION 3.6)
    
    ...
    
    # Add a static library called “playcore” built with the c++_static STL.
    include(${PLAYCORE_LOCATION}/playcore.cmake)
    add_playcore_static_library()
    
    // In this example “main” is your native code library, i.e. libmain.so.
    add_library(main SHARED
            ...)
    
    target_include_directories(main PRIVATE
            ${PLAYCORE_LOCATION}/include
            ...)
    
    target_link_libraries(main
            android
            playcore
            ...)
    

Play Core ソフトウェア開発キットの利用規約

最終更新日: 2020 年 9 月 24 日
  1. Play Core ソフトウェア開発キットを使用することにより、Google API 利用規約(「API 利用規約」)に加えて、本規約に同意したことになります。各規約の間に矛盾がある場合は、本規約が API 利用規約よりも優先されます。本規約と API 利用規約をよくお読みください。
  2. 本規約において、「API」とは Google の API、その他のデベロッパー向けサービス、および関連するソフトウェア(あらゆる再配布可能コードを含む)を意味します。
  3. 「再配布可能コード」とは、API を呼び出す Google 提供のオブジェクト コードまたはヘッダー ファイルを指します。
  4. 本規約および API 利用規約の規定に従い、API クライアントの一部として含める形でのみ、再配布可能コードをコピーして配布することができます。Google とそのライセンサーは、再配布可能コードとそれに含まれる一切の権利、権原、および利益(すべての知的財産権とその他の所有権を含む)を保有します。デベロッパーは、再配布可能コードの修正、翻訳、派生物の作成をしてはなりません。
  5. Google は、通知を行い、Play Core ソフトウェア開発キットの使用を拒否する機会を提供したうえで、いつでも本規約を変更することができます。Google は、本規約の変更の通知を https://developer.android.com/guide/playcore/license に掲載します。変更が遡って適用されることはありません。

データの収集

Play Core Native SDK は、Google がサービスを改善する目的で、バージョンに関連する次のようなデータを収集することがあります。

  • アプリのパッケージ名
  • アプリのパッケージ バージョン
  • Play Core Native SDK のバージョン

このデータは、アプリ パッケージを Google Play Console にアップロードする際に収集されます。データ収集のプロセスを無効にするには、build.gradle ファイル内の $playcoreDir/playcore-native-metadata.jar インポートを削除します。

Play Core Native SDK の使用に関連するこのデータ収集と Google によるこの収集データの使用は、Google Play Console にアプリ パッケージをアップロードする際に Gradle で宣言されるライブラリ依存関係の Google のデータ収集とは別のものであり、相互の関係はありません。