Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Mengintegrasikan ulasan dalam aplikasi (Native)

Panduan ini menjelaskan cara mengintegrasikan ulasan dalam aplikasi di aplikasi Anda menggunakan kode native (C atau C++). Ada panduan integrasi terpisah jika Anda menggunakan Kotlin atau Java atau Unity.

Ringkasan Native SDK

Play Core Native SDK adalah bagian dari kelompok Play Core SDK. Play Core Native SDK menyertakan file header C, review.h, yang merangkum ReviewManager dari Java Play Core SDK. File header ini memungkinkan aplikasi Anda memanggil API langsung dari kode native. Untuk ringkasan fungsi publik yang tersedia, lihat dokumentasi modul native Ulasan Play.

ReviewManager_requestReviewFlow memulai permintaan yang mengumpulkan informasi yang diperlukan untuk meluncurkan alur ulasan dalam aplikasi nanti. Anda dapat melacak hasil permintaan menggunakan ReviewManager_getReviewStatus. Untuk mengetahui informasi selengkapnya tentang semua status yang dapat ditampilkan ReviewManager_getReviewStatus, lihat ReviewErrorCode.

Baik fungsi permintaan maupun peluncuran menampilkan REVIEW_NO_ERROR jika fungsi berhasil.

Menyiapkan lingkungan pengembangan Anda

Untuk menyiapkan lingkungan pengembangan Anda, ikuti petunjuk penyiapan di bagian Native di panduan library Play Core.

Menyertakan ulasan.h

Setelah mengintegrasikan Play Core Native SDK ke dalam project, sertakan baris berikut dalam file yang akan berisi panggilan API:

#include "play/review.h"

Menginisialisasi API Ulasan

Kapan saja ingin menggunakan API, Anda harus menginisialisasinya terlebih dahulu dengan memanggil fungsi ReviewManager_init, seperti yang ditunjukkan dalam contoh berikut yang dibuat dengan 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.
  }
}

Meminta alur ulasan dalam aplikasi

Ikuti panduan tentang kapan harus meminta ulasan dalam aplikasi untuk menentukan titik yang baik dalam alur pengguna aplikasi Anda untuk meminta pengguna memberikan ulasan (misalnya, setelah pengguna menutup layar ringkasan di akhir level dalam game). Jika aplikasi Anda mendekati salah satu titik berikut, panggil ReviewManager_requestReviewFlow untuk meminta informasi secara asinkron bahwa aplikasi Anda perlu meluncurkan ulasan dalam aplikasi. Pantau perkembangan operasi ReviewManager_requestReviewFlow dengan memanggil ReviewManager_getReviewStatus, misalnya sekali setiap frame. Proses ini mungkin memerlukan waktu beberapa detik, jadi Anda harus memulai proses ini sebelum aplikasi mencapai titik saat Anda ingin menunjukkan alur ulasan dalam aplikasi.

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

Menangani status dan meluncurkan alur ulasan dalam aplikasi

Setiap kali permintaan dimulai atau alur ulasan dalam aplikasi diluncurkan, Anda dapat memeriksa statusnya menggunakan ReviewManager_getReviewStatus. Ini memungkinkan Anda untuk menentukan logika bergantung pada status API. Salah satu cara untuk mendekatinya adalah dengan mempertahankan status sebagai variabel global dan memeriksa apakah statusnya adalah REVIEW_REQUEST_FLOW_COMPLETED saat pengguna melakukan tindakan tertentu (misalnya, mengetuk tombol "Level Berikutnya" di game), seperti yang ditampilkan dalam contoh berikut:

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;
}

Jika statusnya adalah REVIEW_REQUEST_FLOW_COMPLETED dan aplikasi sudah siap, luncurkan alur ulasan dalam aplikasi:

// 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;
}

Setelah meluncurkan alur ulasan dalam aplikasi, terus periksa status penyelesaian dan lanjutkan dengan alur aplikasi Anda. Cara umum untuk menangani hal ini adalah dengan mengikuti pola Game Loop.

Resource bebas

Jangan lupa untuk membebaskan resource dengan memanggil fungsi ReviewManager_destroy setelah aplikasi selesai menggunakan API (misalnya, setelah alur ulasan dalam aplikasi selesai).

void ReviewManager_destroy();

Langkah berikutnya

Uji alur ulasan dalam aplikasi untuk memverifikasi bahwa integrasi Anda berfungsi dengan benar.