Google Play Core Library の概要

このページでは、Google Play Core Library と、プロジェクトへの追加方法について説明します。

Play Core とは

Play Core Library は、Google Play ストアに対するアプリのランタイム インターフェースです。Play Core を使用すると、次のようなことができます。

Play Core Library は、JavaネイティブUnity で利用できます。Play Core Library の最新リリースについて詳しくは、リリースノートをご覧ください。

Play Core Library をプロジェクトに追加する

Play Core Library の使用を開始するには、まずアプリ プロジェクトに追加する必要があります。必要な手順は、開発環境(Java、Kotlin、ネイティブ、または Unity)によって異なります。

Java または Kotlin

Java または Kotlin を使用してプロジェクトを開発する場合は、次に示すように、Gradle の依存関係として Play Core Library を Android プロジェクトにインポートできます。

Groovy

// In your app’s build.gradle file:
...
dependencies {
    // This dependency is downloaded from the Google’s Maven repository.
    // So, make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.play:core:1.10.3'

    // For Kotlin users also add the Kotlin extensions library for Play Core:
    implementation 'com.google.android.play:core-ktx:1.8.1'
    ...
}

Kotlin

// In your app’s build.gradle file:
...
dependencies {
    // This dependency is downloaded from the Google’s Maven repository.
    // So, make sure you also include that repository in your project's build.gradle file.
    implementation("com.google.android.play:core:1.10.3")

    // For Kotlin users also import the Kotlin extensions library for Play Core:
    implementation("com.google.android.play:core-ktx:1.8.1")
    ...
}

Play Core KTX ライブラリはオプションです。このライブラリには、通常の Play Core Library の非同期メソッド呼び出しを Kotlin コルーチンにしたバージョンなど、Kotlin から自然な形で API を使用できる拡張が用意されています。

ネイティブ

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

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

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

    • Android Studio バージョン 4.0 以降をインストールし、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 チェックサム
    43.4 MB ce312a423d2284be1ca114f242b61e3c52c490d1fffc25573e9ab4e75079aeed
  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/per-feature-proguard-files"
                    ...
                }
                debug {
                    ...
                }
            }
            externalNativeBuild {
                cmake {
                    path 'src/main/CMakeLists.txt'
                }
            }
        }
    
        dependencies {
            // Use the Play Core AAR included with the SDK.
            implementation files("$playcoreDir/playcore.aar")
            ...
        }
        

    Kotlin

    // 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.
    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/per-feature-proguard-files")
                ...
            }
            debug {
                ...
            }
        }
        externalNativeBuild {
            cmake {
                path = "src/main/CMakeLists.txt"
            }
        }
    }
    
    dependencies {
        // Use the Play Core AAR included with the SDK.
        implementation(files("$playcoreDir/playcore.aar"))
        ...
    }
    
  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
            ...)
    

Unity

Unity プラグインは、Play Asset Delivery などの一部の Play Core API で使用できます。Google Play の Unity 向けプラグインのリリースから最新のリリースをダウンロードします。 Play Core プラグインとともに、Play In-app Billing や Play Instant などの Play プラグインを含んだ単一のパッケージです。

Play Core Native SDKのダウンロード

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

利用規約

最終更新日: 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

ダウンロードする: Play Core Native SDK

play-core-native-sdk-1.10.2.zip

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 SDK のデータ セーフティ

Google Play には、デベロッパーがアプリデータの収集、共有、セキュリティ対策を開示するためのデータ セーフティ セクションがあります。データ セーフティ セクションの要件を満たすために、Play Core SDK でのデータの取り扱いに関する以下の情報をお役立てください。

Play Core SDK は、Google Play ストアにおけるアプリのランタイム インターフェースです。そのため、アプリで Play Core を使用すると、Play ストア独自のプロセスが実行され、Google Play 利用規約に則ってデータが処理されます。ここでは、Play Core SDK でデータを処理して、アプリからの特定のリクエストを処理する方法について説明します。

追加言語 API

使用量について収集されたデータ インストールされている言語のリスト
データ収集の目的 収集されたデータは、アプリのさまざまな言語のバージョンを提供し、アプリのアップデート後にインストール済みの言語を保持するために使用されます。
データの暗号化 データは暗号化されています。
データの共有 データが第三者に転送されることはありません。
データの削除 一定の保持期間が経過するとデータが削除されます。

Play Feature Delivery

使用量について収集されたデータ デバイスのメタデータ
アプリのバージョン
データ収集の目的 収集されたデータは、適切なモジュールをデバイスに配信し、更新やバックアップ、復元後にインストール済みのモジュールを保持するために使用されます。
データの暗号化 データは暗号化されています。
データの共有 データが第三者に転送されることはありません。
データの削除 一定の保持期間が経過するとデータが削除されます。

Play Asset Delivery

使用量について収集されたデータ デバイスのメタデータ
アプリのバージョン
データ収集の目的 収集されたデータは、適切なアセットパックをデバイスに配信し、更新後にインストール済みのアセットパックを保持するために使用されます。
データの暗号化 データは暗号化されています。
データの共有 データが第三者に転送されることはありません。
データの削除 一定の保持期間が経過するとデータが削除されます。

アプリ内アップデート

使用量について収集されたデータ デバイスのメタデータ
アプリのバージョン
インストール済みのモジュールとアセットパックのリスト
データ収集の目的 収集されたデータは、アップデートが利用可能かどうか、アップデートのサイズがどの程度になるかを判断するために使用されます。
データの暗号化 データは暗号化されています。
データの共有 データが第三者に転送されることはありません。
データの削除 一定の保持期間が経過するとデータが削除されます。

アプリ内レビュー

使用量について収集されたデータ ユーザーが入力したデータ(評価と自由形式のレビュー)
データ収集の目的 収集されたデータは、Play ストアでレビューを書き込むために使用されます。
データの暗号化 データは暗号化されています。
データの共有 収集されたデータは、Play ストアでの公開レビューの際に使用されます。また、アプリがクローズド テスト トラックにある場合、収集されたデータはアプリ デベロッパーと非公開で共有されます。
データの削除 ユーザーは、Google Play ストア アカウントまたは Google アカウントによるレビューを削除できます。

Play Integrity API

使用量について収集されたデータ アプリ バージョン
アプリ署名証明書
Google Play 開発者サービスによって生成されたデバイス証明書トークン
データ収集の目的 収集されたデータは、アプリの完全性、ライセンスのステータス、デバイスの完全性を検証するために使用されます。
データの暗号化 データは暗号化されています。
データの共有 データが第三者に転送されることはありません。
データの削除 一定の保持期間が経過するとデータが削除されます。

Google ではできる限り透明性を確保することを目標としていますが、アプリのユーザーデータの収集、共有、セキュリティ対策に関する Google Play のデータ セーフティ セクションのフォームに対応する責任は、デベロッパーにあります。