Ringkasan Library Google Play Core

Halaman ini menjelaskan Library Google Play Core dan cara menambahkannya ke project Anda.

Apa itu Play Core?

Library Play Core adalah antarmuka runtime aplikasi Anda dengan Google Play Store. Beberapa hal yang dapat Anda lakukan dengan Play Core mencakup hal berikut:

Library Play Core tersedia di Java, native, dan Unity. Untuk informasi selengkapnya tentang rilis Library Play Core terbaru, lihat Catatan rilis.

Menambahkan Library Play Core ke project Anda

Sebelum dapat mulai menggunakan Library Play Core, Anda harus menambahkannya terlebih dahulu ke project aplikasi Anda. Langkah-langkah yang perlu Anda lakukan bergantung pada apakah Anda melakukan pengembangan di Java, Kotlin, native, atau menggunakan Unity.

Java atau Kotlin

Jika Anda mengembangkan project menggunakan Java atau Kotlin, Anda dapat mengimpor Library Play Core ke project Android sebagai dependensi Gradle, seperti yang ditunjukkan di bawah:

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.2'

    // 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.2")

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

Library Play Core KTX bersifat opsional dan menyediakan versi coroutine Kotlin untuk panggilan metode asinkron di Library Play Core reguler, serta ekstensi berguna lainnya yang menjadikan penggunaan API lebih idiomatis dari Kotlin.

Native

Play Core Native SDK menyediakan antarmuka API C/C++ untuk Play Asset Delivery. SDK didesain untuk membuat library native ARM dan x86 dengan CMake dan untuk menggunakan Gradle guna membuat Android App Bundle dan APK.

Menyiapkan lingkungan pengembangan Anda

  1. Lakukan salah satu hal berikut:

    • Instal Android Studio versi 4.0 atau yang lebih tinggi. Gunakan UI SDK Manager untuk menginstal Android SDK Platform versi 10.0 (API level 29).
    • Instal alat command line Android SDK dan gunakan sdkmanager untuk menginstal Android SDK Platform versi 10.0 (API level 29).
  2. Siapkan Android Studio untuk pengembangan native dengan menggunakan SDK Manager untuk menginstal CMake dan Android Native Development Kit (NDK) terbaru. Untuk informasi selengkapnya tentang membuat atau mengimpor project native, lihat Mulai Menggunakan NDK.

  3. Download file zip dan ekstrak bersama project Anda.

    Link Download Ukuran SHA-256 Checksum
    43,4 MB ce312a423d2284be1ca114f242b61e3c52c490d1fffc25573e9ab4e75079aeed
  4. Perbarui file build.gradle aplikasi Anda seperti yang ditunjukkan di bawah ini:

    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. Perbarui file CMakeLists.txt aplikasi Anda seperti yang ditunjukkan di bawah ini:

    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

Plugin Unity tersedia untuk Play Core API tertentu, termasuk Play Asset Delivery. Download rilis terbaru Plugin Google Play untuk Unity. Ini adalah paket tunggal yang menyertakan plugin Play Core serta plugin Play lainnya, seperti Penagihan via Google Play dan Play Instan.

Download Play Core Native SDK

Sebelum mendownload, Anda harus menyetujui ketentuan dan persyaratan berikut.

Persyaratan dan Ketentuan

Terakhir diubah: 24 September 2020
  1. Dengan menggunakan Software Development Kit Play Core, Anda menyetujui persyaratan ini selain Persyaratan Layanan Google API ("ToS API"). Jika persyaratan ini bertentangan dengan ToS API, persyaratan ini akan lebih diutamakan. Baca persyaratan ini dan ToS API dengan saksama.
  2. Untuk tujuan persyaratan ini, "API" berarti API Google, layanan developer lainnya, dan software terkait, termasuk Kode yang Dapat Didistribusikan Ulang.
  3. “Kode yang Dapat Didistribusikan Ulang” berarti kode objek atau file header yang disediakan Google yang memanggil API.
  4. Dengan tunduk pada persyaratan ini dan persyaratan pada ToS API, Anda dapat menyalin dan mendistribusikan Kode yang Dapat Didistribusikan Ulang hanya untuk disertakan sebagai bagian dari Klien API Anda. Google dan pemegang lisensinya memiliki semua hak, kuasa, dan kepentingan, termasuk setiap dan semua hak atas kekayaan intelektual dan hak kepemilikan lainnya, dalam dan untuk Kode yang Dapat Didistribusikan Ulang. Anda tidak akan memodifikasi, menerjemahkan, atau membuat karya turunan dari Kode yang Dapat Didistribusikan Ulang.
  5. Google dapat melakukan perubahan pada persyaratan ini kapan saja dengan pemberitahuan dan kesempatan untuk menolak penggunaan Software Development Kit Play Core lebih lanjut. Google akan memposting pemberitahuan terkait perubahan persyaratan ini di https://developer.android.com/guide/playcore/license. Perubahan tidak berlaku surut.

DownloadPlay Core Native SDK

Download Play Core Native SDK

play-core-native-sdk-1.10.2.zip

Persyaratan Layanan Software Development Kit Play Core

Terakhir diubah: 24 September 2020
  1. Dengan menggunakan Software Development Kit Play Core, Anda menyetujui persyaratan ini selain Persyaratan Layanan Google API ("ToS API"). Jika persyaratan ini bertentangan dengan ToS API, persyaratan ini akan lebih diutamakan. Baca persyaratan ini dan ToS API dengan saksama.
  2. Untuk tujuan persyaratan ini, "API" berarti API Google, layanan developer lainnya, dan software terkait, termasuk Kode yang Dapat Didistribusikan Ulang.
  3. “Kode yang Dapat Didistribusikan Ulang” berarti kode objek atau file header yang disediakan Google yang memanggil API.
  4. Dengan tunduk pada persyaratan ini dan persyaratan pada ToS API, Anda dapat menyalin dan mendistribusikan Kode yang Dapat Didistribusikan Ulang hanya untuk disertakan sebagai bagian dari Klien API Anda. Google dan pemegang lisensinya memiliki semua hak, kuasa, dan kepentingan, termasuk setiap dan semua hak atas kekayaan intelektual dan hak kepemilikan lainnya, dalam dan untuk Kode yang Dapat Didistribusikan Ulang. Anda tidak akan memodifikasi, menerjemahkan, atau membuat karya turunan dari Kode yang Dapat Didistribusikan Ulang.
  5. Google dapat melakukan perubahan pada persyaratan ini kapan saja dengan pemberitahuan dan kesempatan untuk menolak penggunaan Software Development Kit Play Core lebih lanjut. Google akan memposting pemberitahuan terkait perubahan persyaratan ini di https://developer.android.com/guide/playcore/license. Perubahan tidak berlaku surut.

Keamanan Data Play Core SDK

Google Play memiliki bagian keamanan data bagi developer untuk mengungkapkan praktik pengumpulan, berbagi, dan keamanan data aplikasi mereka. Untuk membantu melengkapi persyaratan bagian keamanan data, Anda dapat menggunakan informasi di bawah tentang cara Play Core SDK menangani data.

Play Core SDK adalah antarmuka runtime aplikasi Anda dengan Google Play Store. Dengan demikian, saat menggunakan Play Core di aplikasi, Play Store akan menjalankan prosesnya sendiri yang mencakup penanganan data seperti yang diatur oleh Persyaratan Layanan Google Play. Informasi di bawah ini menjelaskan cara Play Core SDK menangani data untuk memproses permintaan tertentu dari aplikasi.

API bahasa tambahan

Data yang dikumpulkan selama penggunaan Daftar bahasa yang terinstal
Tujuan pengumpulan data Data yang dikumpulkan akan digunakan untuk menyampaikan berbagai versi bahasa aplikasi dan mempertahankan bahasa yang diinstal setelah aplikasi diupdate.
Enkripsi data Data dienkripsi.
Berbagi data Data tidak akan ditransfer kepada pihak ketiga mana pun.
Penghapusan data Data akan dihapus setelah periode retensi data tetap.

Play Feature Delivery

Data yang dikumpulkan selama penggunaan Metadata perangkat
Versi aplikasi
Tujuan pengumpulan data Data yang dikumpulkan akan digunakan untuk menyediakan modul yang tepat ke perangkat dan untuk mempertahankan modul yang diinstal setelah update serta pencadangan dan pemulihan.
Enkripsi data Data dienkripsi.
Berbagi data Data tidak akan ditransfer kepada pihak ketiga mana pun.
Penghapusan data Data akan dihapus setelah periode retensi data tetap.

Play Asset Delivery

Data yang dikumpulkan selama penggunaan Metadata perangkat
Versi aplikasi
Tujuan pengumpulan data Data yang dikumpulkan akan digunakan untuk menyediakan paket aset yang tepat ke perangkat dan untuk mempertahankan paket aset yang diinstal setelah update.
Enkripsi data Data dienkripsi.
Berbagi data Data tidak akan ditransfer kepada pihak ketiga mana pun.
Penghapusan data Data akan dihapus setelah periode retensi data tetap.

Update dalam Aplikasi

Data yang dikumpulkan selama penggunaan Metadata perangkat
Versi aplikasi
Daftar modul dan paket aset yang diinstal
Tujuan pengumpulan data Data yang dikumpulkan akan digunakan untuk memastikan update telah tersedia dan mengetahui ukuran update yang diharapkan.
Enkripsi data Data dienkripsi.
Berbagi data Data tidak akan ditransfer kepada pihak ketiga mana pun.
Penghapusan data Data akan dihapus setelah periode retensi data tetap.

Ulasan dalam Aplikasi

Data yang dikumpulkan selama penggunaan Data yang dimasukkan pengguna (rating dan ulasan teks bebas)
Tujuan pengumpulan data Data yang dikumpulkan akan digunakan untuk memberikan ulasan di Play Store.
Enkripsi data Data dienkripsi.
Berbagi data Data yang dikumpulkan akan digunakan dalam ulasan publik di Play Store atau, jika aplikasi berada dalam jalur pengujian tertutup, data yang dikumpulkan akan dibagikan secara pribadi kepada developer aplikasi.
Penghapusan data Pengguna dapat menghapus ulasannya di akun Google Play Store atau akun Google.

Play Integrity API

Data yang dikumpulkan selama penggunaan Versi aplikasi
Sertifikat penandatanganan aplikasi
Token pengesahan perangkat yang dibuat oleh layanan Google Play
Tujuan pengumpulan data Data yang dikumpulkan akan digunakan untuk memverifikasi integritas aplikasi, status pemberian lisensi, dan integritas perangkat.
Enkripsi data Data dienkripsi.
Berbagi data Data tidak akan ditransfer kepada pihak ketiga mana pun.
Penghapusan data Data akan dihapus setelah periode retensi data tetap.

Meskipun kami berupaya bersikap setransparan mungkin, Anda sepenuhnya bertanggung jawab untuk memutuskan cara merespons formulir bagian keamanan data Google Play terkait praktik pengumpulan, berbagi, dan keamanan data pengguna aplikasi.