SDK nativo da Play Core

Fazer o download Play Core Native SDK

Antes de fazer o download, você precisa concordar com os seguintes Termos e Condições.

Termos e Condições

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.
Fazer download Play Core Native SDK

play-core-native-sdk-1.14.0.zip

Ao fazer o download e usar o SDK nativo da Google Play Core, você concorda com os Termos de Serviço do kit de desenvolvimento de software da Play Core.

O SDK nativo da Play Core oferece uma interface C/C++ da API para algumas bibliotecas do Google Play, incluindo a Play Asset Delivery. O SDK foi projetado para criar bibliotecas nativas ARM e x86 com o CMake e para usar o Gradle para gerar Android App Bundles e APKs.

Configurar seu ambiente de desenvolvimento

  1. Realize uma das ações abaixo:

  2. Prepare o Android Studio para o desenvolvimento nativo usando o SDK Manager para instalar o CMake e o Android Native Development Kit (NDK) mais recentes. Para saber mais sobre como criar ou importar projetos nativos, consulte Começar a usar o NDK.

  3. Faça o download do arquivo ZIP e extraia ele junto com o projeto.

    Link de download Tamanho Soma de verificação SHA-256
    36 MiB 782a8522d937848c83a715c9a258b95a3ff2879a7cd71855d137b41c00786a5e
  4. Atualize o arquivo build.gradle do app como mostrado abaixo:

    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. Atualize os arquivos CMakeLists.txt do app como mostrado abaixo:

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

Termos de Serviço do kit de desenvolvimento de software da Play Core

Última modificação: 24 de setembro de 2020
  1. Ao usar o kit de desenvolvimento de software da Play Core, você concorda com estes termos, além dos Termos de Serviço das APIs do Google ("TOS da API"). Se eles entrarem em conflito, estes termos terão precedência em relação aos TOS da API. Leia estes termos e os TOS da API com atenção.
  2. Para os fins destes termos, "APIs" significa as APIs do Google, outros serviços para desenvolvedores e os softwares associados, incluindo códigos redistribuíveis.
  3. Um "código redistribuível" é um arquivo principal ou código de objeto fornecido pelo Google que chama as APIs.
  4. Sujeito a estes termos e aos TOS da API, você pode copiar e distribuir códigos redistribuíveis exclusivamente para inclusão como parte do seu cliente da API. O Google e nossos licenciantes são proprietários de todos os direitos, títulos e participações, incluindo toda e qualquer propriedade intelectual e outros direitos de propriedade relacionados aos códigos redistribuíveis. Não é permitido modificar, traduzir ou criar obras derivadas de códigos redistribuíveis.
  5. O Google pode fazer alterações nestes termos a qualquer momento, mediante aviso prévio e incluindo a possibilidade de se recusar a continuar usando o kit de desenvolvimento de software da Play Core. O Google publicará avisos de modificações nos termos em https://developer.android.com/guide/playcore/license. As mudanças não são retroativas.

Coleta de dados

O SDK nativo da Play Core pode coletar dados relacionados à versão para que o Google melhore o produto, incluindo:

  • Nome do pacote do app
  • Versão do pacote do app
  • Versão do SDK nativo da Play Core

Esses dados vão ser coletados quando você fizer upload do seu pacote de apps para o Play Console. Para desativar esse processo de coleta de dados, remova a importação de $playcoreDir/playcore-native-metadata.jar no arquivo build.gradle.

Essa coleta de dados relacionada ao seu uso do SDK nativo da Play Core e o uso do Google dos dados coletados são independentes e não estão relacionados à coleta de dependências de biblioteca do Google declaradas no Gradle quando você faz upload do pacote do app para o Play Console.