Tổng quan về Thư viện Google Play Core

Trang này mô tả Thư viện Google Play Core và cách thêm thư viện đó vào dự án của bạn.

Play Core là gì?

Thư viện Play Core là giao diện thời gian chạy của ứng dụng trên Cửa hàng Google Play. Sau đây là một số việc bạn có thể làm với Play Core:

Thư viện Play Core có ở ngôn ngữ Java, gốcUnity. Để biết thêm thông tin về bản phát hành mới nhất của Thư viện Play Core, xem Ghi chú phát hành.

Hãy thêm Thư viện Play Core vào dự án của bạn

Để có thể bắt đầu sử dụng Thư viện Play Core, trước tiên, bạn cần thêm thư viện đó vào dự án ứng dụng của mình. Các bước bạn cần thực hiện sẽ tùy thuộc vào việc bạn đang phát triển ứng dụng bằng ngôn ngữ Java, Kotlin, gốc (native) hay đang sử dụng Unity.

Java hoặc Kotlin

Nếu đang phát triển dự án bằng Java hoặc Kotlin, bạn có thể nhập Thư viện Play Core vào dự án Android dưới dạng một phần phụ thuộc Gradle như sau:

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")
    ...
}

Bạn không bắt buộc phải sử dụng thư viện Play Core KTX và cung cấp các phiên bản coroutine Kotlin cho các lệnh gọi phương thức không đồng bộ trong Thư viện Play Core thông thường cũng như các tiện ích hữu dụng khác có thể giúp các API có tính thành ngữ hơn từ Kotlin.

Gốc

SDK gốc Play Core cung cấp giao diện API C/C++ cho Play Asset Delivery. SDK này được thiết kế để xây dựng các thư viện gốc ARM và x86 bằng CMake và để sử dụng Gradle để tạo các Bundle và APK của Ứng dụng Android.

Thiết lập môi trường phát triển

  1. Thực hiện một trong hai cách sau:

    • Cài đặt Android Studio phiên bản 4.0 trở lên. Sử dụng giao diện người dùng Trình quản lý SDK để cài đặt Nền tảng SDK Android phiên bản 10.0 (API cấp độ 29).
    • Cài đặt các công cụ dòng lệnh của SDK Android và sử dụng sdkmanager để cài đặt Nền tảng SDK Android phiên bản 10.0 (API cấp độ 29).
  2. Chuẩn bị Android Studio cho phát triển gốc bằng cách sử dụng Trình quản lý SDK để cài đặt CMake và Công cụ phát triển gốc Android (NDK) mới nhất. Để biết thêm thông tin về việc tạo hoặc nhập các dự án gốc, xem Bắt đầu với NDK.

  3. Tải tệp zip xuống và giải nén cùng dự án của bạn.

    Đường liên kết để tải xuống Kích thước Giá trị tổng kiểm SHA-256
    55.6 MB 058b4069f09714da938656d43b6dc28d3bc6f821c9d406e9c96a1c3af014dc45
  4. Cập nhật tệp build.gradle của ứng dụng như minh họa dưới đây:

    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")
    
            // Use the following dependency for the Play Integrity API.
            implementation("com.google.android.play:integrity:1.0.0")
            ...
        }
        

    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. Cập nhật các tệp CMakeLists.txt của ứng dụng như hình ảnh bên dưới:

    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

Bạn có thể sử dụng các trình bổ trợ bằng Unity cho một số API Play Core, bao gồm cả Play Asset Delivery. Tải bản phát hành mới nhất xuống từ các Trình bổ trợ Google Play dành cho các bản phát hành Unity. Đây là gói duy nhất bao gồm các trình bổ trợ Play Core cũng như các trình bổ trợ Play khác, chẳng hạn như Thanh toán trong ứng dụng Play và Play Instant.

Download Play Core Native SDK

Before downloading, you must agree to the following terms and conditions.

Terms and Conditions

Sửa đổi lần cuối: ngày 24 tháng Chín năm 2020
  1. Bằng việc sử dụng Bộ công cụ phát triển phần mềm Play Core, bạn đồng ý với các điều khoản này ngoài Điều khoản dịch vụ API của Google ("API ToS"). Nếu các điều khoản này xung đột nhau, các điều khoản này sẽ được ưu tiên áp dụng hơn Điều khoản dịch vụ API. Vui lòng đọc kỹ các điều khoản này và Điều khoản dịch vụ API.
  2. Trong phạm vi các điều khoản này, "API" có nghĩa là API của Google, các dịch vụ dành cho nhà phát triển và phần mềm liên kết khác, gồm cả Mã có thể phân phối lại.
  3. “Mã có thể phân phối lại” có nghĩa là mã đối tượng hoặc tệp tiêu đề do Google cung cấp có gọi đến API.
  4. Theo các điều khoản này và các điều khoản của Điều khoản dịch vụ API, bạn chỉ được sao chép và phân phối Mã có thể phân phối lại để đưa vào Ứng dụng API khách của mình. Google và người cấp phép của Google sở hữu tất cả quyền, quyền sở hữu và lợi ích, bao gồm mọi tài sản sở hữu trí tuệ cũng như các quyền sở hữu riêng khác nằm trong và đối với Mã có thể phân phối lại. Bạn không được sửa đổi, dịch hoặc tạo tác phẩm phái sinh của Mã có thể phân phối lại.
  5. Google có thể thay đổi các điều khoản này bất cứ lúc nào và sẽ đưa ra thông báo, đồng thời cho phép bạn lựa chọn ngừng sử dụng Bộ công cụ phát triển phần mềm Play Core. Google sẽ đăng thông báo về các điều khoản sửa đổi tại https://developer.android.com/guide/playcore/license. Nội dung thay đổi sẽ không có hiệu lực hồi tố.
Download Play Core Native SDK

play-core-native-sdk-1.11.0.zip

Điều khoản dịch vụ của Bộ công cụ phát triển phần mềm Play Core

Lần sửa đổi gần đây nhất: Ngày 24 tháng Chín năm 2020
  1. Bằng việc sử dụng Bộ công cụ phát triển phần mềm Play Core, bạn đồng ý với các điều khoản này ngoài Điều khoản dịch vụ API của Google ("API ToS"). Nếu các điều khoản này xung đột nhau, các điều khoản này sẽ được ưu tiên áp dụng hơn Điều khoản dịch vụ API. Vui lòng đọc kỹ các điều khoản này và Điều khoản dịch vụ API.
  2. Trong phạm vi các điều khoản này, "API" có nghĩa là API của Google, các dịch vụ dành cho nhà phát triển và phần mềm liên kết khác, gồm cả Mã có thể phân phối lại.
  3. “Mã có thể phân phối lại” có nghĩa là mã đối tượng hoặc tệp tiêu đề do Google cung cấp có gọi đến API.
  4. Theo các điều khoản này và các điều khoản của Điều khoản dịch vụ API, bạn chỉ được sao chép và phân phối Mã có thể phân phối lại để đưa vào Ứng dụng API khách của mình. Google và người cấp phép của Google sở hữu tất cả quyền, quyền sở hữu và lợi ích, bao gồm mọi tài sản sở hữu trí tuệ cũng như các quyền sở hữu riêng khác nằm trong và đối với Mã có thể phân phối lại. Bạn không được sửa đổi, dịch hoặc tạo tác phẩm phái sinh của Mã có thể phân phối lại.
  5. Google có thể thay đổi các điều khoản này bất cứ lúc nào và sẽ đưa ra thông báo, đồng thời cho phép bạn lựa chọn ngừng sử dụng Bộ công cụ phát triển phần mềm Play Core. Google sẽ đăng thông báo về các điều khoản sửa đổi tại https://developer.android.com/guide/playcore/license. Nội dung thay đổi sẽ không có hiệu lực hồi tố.

An toàn dữ liệu SDK của Play Core

Google Play có một mục an toàn dữ liệu dành cho nhà phát triển để công bố các phương pháp thu thập, chia sẻ và phương pháp bảo mật dữ liệu của ứng dụng. Để giúp bạn hoàn thành các yêu cầu trong mục an toàn dữ liệu, bạn có thể xem thông tin dưới đây về cách SDK Play Core xử lý dữ liệu.

SDK Play Core là giao diện thời gian chạy của ứng dụng trên Cửa hàng Google Play. Do đó, khi bạn sử dụng Play Core trong ứng dụng của mình, Cửa hàng Play sẽ chạy các quy trình riêng, trong đó có việc xử lý dữ liệu được điều chỉnh bởi Điều khoản dịch vụ của Google Play. Thông tin bên dưới mô tả cách SDK của Play Core xử lý dữ liệu để xử lý các yêu cầu cụ thể từ ứng dụng của bạn.

API ngôn ngữ bổ sung

Dữ liệu thu được về mức sử dụng Danh sách các ngôn ngữ đã cài đặt
Mục đích của việc thu thập dữ liệu Dữ liệu đã thu thập được dùng để cung cấp các phiên bản ngôn ngữ khác nhau của ứng dụng và để giữ lại các ngôn ngữ đã cài đặt sau khi cập nhật ứng dụng.
Mã hóa dữ liệu Dữ liệu đã được mã hóa
Chia sẻ dữ liệu Dữ liệu không được chuyển cho bất kỳ bên thứ ba nào.
Xóa dữ liệu Dữ liệu sẽ bị xóa sau một khoảng thời gian lưu giữ cố định.

Play Feature Delivery

Dữ liệu thu được về mức sử dụng Siêu dữ liệu của thiết bị
Phiên bản ứng dụng
Mục đích của việc thu thập dữ liệu Dữ liệu thu thập được dùng để phân phối mô-đun phù hợp cho thiết bị và để bảo toàn các mô-đun đã cài đặt sau khi cập nhật, sao lưu và khôi phục.
Mã hóa dữ liệu Dữ liệu đã được mã hóa
Chia sẻ dữ liệu Dữ liệu không được chuyển cho bất kỳ bên thứ ba nào.
Xóa dữ liệu Dữ liệu sẽ bị xóa sau một khoảng thời gian lưu giữ cố định.

Play Asset Delivery

Dữ liệu thu được về mức sử dụng Siêu dữ liệu của thiết bị
Phiên bản ứng dụng
Mục đích của việc thu thập dữ liệu Dữ liệu đã thu thập được dùng để phân phối gói tài sản phù hợp tới thiết bị và để giữ lại các gói tài sản đã cài đặt sau khi cập nhật.
Mã hóa dữ liệu Dữ liệu đã được mã hóa
Chia sẻ dữ liệu Dữ liệu không được chuyển cho bất kỳ bên thứ ba nào.
Xóa dữ liệu Dữ liệu sẽ bị xóa sau một khoảng thời gian lưu giữ cố định.

Bản cập nhật trong ứng dụng

Dữ liệu thu được về mức sử dụng Siêu dữ liệu của thiết bị
Phiên bản ứng dụng
Danh sách các mô-đun và gói tài sản đã cài đặt
Mục đích của việc thu thập dữ liệu Dữ liệu đã thu thập được dùng để xác định xem có bản cập nhật hay không và kích thước của bản cập nhật dự kiến.
Mã hóa dữ liệu Dữ liệu đã được mã hóa
Chia sẻ dữ liệu Dữ liệu không được chuyển cho bất kỳ bên thứ ba nào.
Xóa dữ liệu Dữ liệu sẽ bị xóa sau một khoảng thời gian lưu giữ cố định.

Bài đánh giá trong ứng dụng

Dữ liệu thu được về mức sử dụng Dữ liệu do người dùng nhập (xếp hạng và đánh giá ở dạng văn bản tự do)
Mục đích của việc thu thập dữ liệu Dữ liệu đã thu thập được dùng để để lại bài đánh giá trên Cửa hàng Play.
Mã hóa dữ liệu Dữ liệu đã được mã hóa
Chia sẻ dữ liệu Dữ liệu thu thập được sẽ dùng trong đánh giá công khai trên Cửa hàng Play hoặc nếu ứng dụng của bạn đang trong quá trình thử nghiệm khép kín, thì dữ liệu đã thu thập sẽ được chia sẻ riêng tư với nhà phát triển ứng dụng.
Xóa dữ liệu Người dùng có thể xóa bài đánh giá của họ trong tài khoản Cửa hàng Google Play hoặc Tài khoản Google.

API Tính toàn vẹn của Play

Dữ liệu thu được về mức sử dụng Phiên bản ứng dụng
Chứng chỉ ký ứng dụng
Mã thông báo chứng thực thiết bị do Dịch vụ Google Play tạo ra
Mục đích của việc thu thập dữ liệu Dữ liệu thu thập được dùng để xác minh tính toàn vẹn của ứng dụng, trạng thái cấp phép và tính toàn vẹn của thiết bị.
Mã hóa dữ liệu Dữ liệu đã được mã hóa
Chia sẻ dữ liệu Dữ liệu không được chuyển cho bất kỳ bên thứ ba nào.
Xóa dữ liệu Dữ liệu sẽ bị xóa sau một khoảng thời gian lưu giữ cố định.

Mặc dù chúng tôi hướng đến sự minh bạch tối đa, nhưng bạn hoàn toàn chịu trách nhiệm về việc phản hồi biểu mẫu mục an toàn dữ liệu của Google Play về việc thu thập và chia sẻ dữ liệu người dùng trên ứng dụng của bạn và các phương pháp bảo mật.