O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Integrar avaliações no app (nativo)

Este guia descreve como integrar avaliações no seu app usando o código nativo (C ou C++). Há guias de integração separados se você estiver usando o Kotlin ou Java ou o Unity.

Visão geral do SDK nativo

O SDK nativo do Play Core faz parte da família do SDK do Play Core. O SDK do Play Core Native inclui um arquivo de cabeçalho C, review.h, que encapsula ReviewManager do SDK Java Play Core. Esse arquivo de cabeçalho permite que o app chame a API diretamente do código nativo. Para uma visão geral das funções públicas disponíveis, consulte a documentação do módulo nativo de avaliação do Google Play.

ReviewManager_requestReviewFlow inicia uma solicitação que coleta as informações necessárias para iniciar o fluxo de avaliação no app posteriormente. É possível acompanhar o resultado da solicitação usando ReviewManager_getReviewStatus. Para mais informações sobre todos os status que ReviewManager_getReviewStatus pode retornar, consulte ReviewErrorCode.

As funções de solicitação e inicialização retornarão REVIEW_NO_ERROR se a função for bem-sucedida.

Configurar seu ambiente de desenvolvimento

Para configurar seu ambiente de desenvolvimento, siga as instruções de configuração na seção nativa do guia da biblioteca Play Core.

Incluir review.h

Depois de integrar o SDK do Play Core Native ao projeto, inclua a seguinte linha nos arquivos que contêm chamadas de API:

#include "play/review.h"

Inicializar a API Review

Sempre que você quiser usar a API, inicialize-a primeiro chamando o ReviewManager_init, conforme mostrado no exemplo a seguir criado com android_native_app_glue.h:

void android_main(android_app* app) {
  app->onInputEvent = HandleInputEvent;

  ReviewErrorCode error_code = ReviewManager_init(app->activity->vm, app->activity->clazz);
  if (error_code == REVIEW_NO_ERROR) {
    // You can use the API.
  }
}

Solicitar o fluxo de avaliação no app

Siga as orientações sobre quando solicitar avaliações no app para determinar bons pontos no fluxo do usuário para solicitar uma avaliação (por exemplo, depois de um usuário dispensa a tela de resumo ao final de um nível em um jogo). Quando seu app se aproximar de um desses pontos, chame ReviewManager_requestReviewFlow para solicitar de forma assíncrona as informações de que seu app precisa para iniciar uma avaliação no app fluxo. Monitore o progresso da operação ReviewManager_requestReviewFlow chamando ReviewManager_getReviewStatus, por exemplo, uma vez por frame. Isso pode levar alguns segundos. Portanto, inicie esse processo antes que o app chegue ao ponto quando você quiser exibir o fluxo de revisão.

ReviewErrorCode error_code = ReviewManager_requestReviewFlow();
if (error_code == REVIEW_NO_ERROR) {
    // The request has successfully started, check the status using
    // ReviewManager_getReviewStatus.
}

Processar status e iniciar o fluxo de avaliação no app

Sempre que uma solicitação é iniciada ou o fluxo de avaliação no aplicativo é iniciado, é possível verificar o status usando ReviewManager_getReviewStatus. Isso permite que você defina a lógica dependendo do status da API. Uma maneira de abordar isso é manter o status como uma variável global e verificar se o status é REVIEW_REQUEST_FLOW_COMPLETED quando o usuário realiza uma determinada ação (por exemplo, tocar em uma “Próxima Fase”. em um jogo), conforme mostrado no exemplo a seguir:

ReviewStatus status;
ReviewErrorCode error_code = ReviewManager_getReviewStatus(&status);
if (error_code != REVIEW_NO_ERROR) {
    // There was an error with the most recent operation.
    return;
}

switch (status) {
    case REVIEW_REQUEST_FLOW_PENDING:
        // Request is ongoing. The flow can't be launched yet.
        break;
    case REVIEW_REQUEST_FLOW_COMPLETED:
        // Request completed. The flow can be launched now.
        break;
    case REVIEW_LAUNCH_FLOW_PENDING:
        // The review flow is ongoing, meaning the dialog might be displayed.
        break;
    case REVIEW_LAUNCH_FLOW_COMPLETED:
        // The review flow has finished. Continue with your app flow (for
        // example, move to the next screen).
        break;
    default:
        // Unknown status.
        break;
}

Quando o status for REVIEW_REQUEST_FLOW_COMPLETED e seu aplicativo estiver pronto, inicie o fluxo de revisão no aplicativo:

// This call uses android_native_app_glue.h.
ReviewErrorCode error_code = ReviewManager_launchReviewFlow(app->activity->clazz);
if (error_code != REVIEW_NO_ERROR) {
    // There was an error while launching the flow.
    return;
}

Depois de iniciar o fluxo de revisão no app, continue verificando o status para continuar e continue com o fluxo do app. Uma maneira comum de lidar com isso é seguir o padrão Loop de jogo.

Recursos gratuitos

Não se esqueça de chamar os recursos gratuitos chamando a função ReviewManager_destroy quando seu app terminar de usar a API (por exemplo, após a conclusão do fluxo de avaliação no app).

void ReviewManager_destroy();

Próximas etapas

Teste o fluxo de revisão no app para verificar se a integração está funcionando corretamente.