Fitur Rating dengan API Google In-App Review

Bagikan:

Setelah aplikasi aktif di Playstore, peringkat dan ulasan aplikasi adalah faktor yang sangat penting untuk mendorong lebih banyak unduhan. Jika dilakukan secara broadcast manual, tentu akan menguras banyak tenaga dan juga cakupan gak bisa luas. Solusinya adalah menambah fitur rating di aplikasi android yang kalian kembangkan.

Pentingnya Fitur Rating

Untuk mencapai ini, pengembang biasanya meminta pengguna untuk menilai aplikasi dengan menampilkan semacam box dialog dengan beberapa tombol dan mengarahkannya ke Playstore.

Dengan pengalaman pengguna ini, ada kemungkinan pengguna tidak kembali ke aplikasi kami setelah dialihkan ke playstore. Juga pengguna pemula merasa sulit untuk menilai aplikasi di Playstore.

Untungnya google menyediakan API yang disebut In-App Review untuk menampilkan widget peringkat di aplikasi itu sendiri tanpa pengguna meninggalkan aplikasi.

In-App Review adalah bagian dari library inti Google Play. Setelah widget terintegrasi, kita dapat melihat widget peringkat ditampilkan di aplikasi seperti gambar berikut.

Tampilan Fitur Rating dengan API Google In-App Review

Poin Penting untuk API In-App Review

  1. In-App Review ini hanya berfungsi pada perangkat android yang menjalankan Android 5.0 (API level 21) atau lebih tinggi yang telah menginstal Google Play Store.
  2. API In-App Review ini memiliki batasan kuota. API akan mengatur seberapa sering widget ulasan harus ditampilkan kepada pengguna. Kita tidak boleh sering memanggil API ini karena setelah kuota pengguna tercapai, widget tidak akan ditampilkan kepada pengguna karena dapat mengacaukan user experience. Info lebih lanjut tentang batasan kuota ini dapat kalian baca di sini.
  3. Alur review akan dikontrol oleh API itu sendiri. Kita tidak boleh mencoba mengubah desain atau menempatkan konten yang sesuai di atas widget. Anda dapat membaca lebih lanjut tentang Design Guidelines di sini .
  4. Alur review tidak menunjukkan apakah pengguna telah meninjau aplikasi atau belum, bahkan tidak akan memberi tahu apakah widget telah ditampilkan kepada pengguna atau tidak.

Mengintegrasikan In-App Review di Android

Mengintegrasikan In-App Review sangat sederhana. Cukup dengan kode yang sangat minim. Cus aja deh kita eksekusi langkah-langkahnya ya.

  1. In-App review API adalah bagian dari Play Core API , jadi kalian harus menyertakan library di build.gradle di Android Studi kalian. Dalam contoh ini saya menambahkan material library serta saya ingin menampilkan fallback rating dialog jika ada kesalahan dalam API In-App Review. Berikut kode di app/build.gradle
// Play core library
implementation "com.google.android.play:core:1.8.0"
 
// optional material library to show the fallback rate us dialog
implementation "com.google.android.material:material:1.3.0-alpha02"
  1. Langkah selanjutnya adalah membuat instance antarmuka ReviewManager . Kelas ini menyediakan metode yang diperlukan untuk memulai alur tinjauan.
  • Setelah instance baru dibuat, kita perlu memanggil tugas requestReviewFlow() yang mengembalikan objek ReviewInfo setelah berhasil diselesaikan.
  • Menggunakan objek ReviewInfo, kita perlu memanggil metode launchReviewFlow() untuk memulai alur tinjauan.
  • Untuk beberapa alasan, jika requestReviewFlow gagal, kita dapat meluncurkan dialog Rate App biasa yang mengarahkan pengguna ke aplikasi playstore.
  • Di bawah ini, metode showRateApp() untuk memulai alur In-App Review. Metode showRateAppFallbackDialog() bertindak sebagai metode fallback jika requestReviewFlow memunculkan kesalahan. Metode fallback ini menampilkan material dialog biasa dengan tiga tombol untuk mengarahkan pengguna ke aplikasi Playstore.

Berikut adalah kode lengkap yang diperlukan untuk alur peninjauan dalam aplikasi. Letakkan di MainActivity.java

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.play.core.review.ReviewInfo;
import com.google.android.play.core.review.ReviewManager;
import com.google.android.play.core.review.ReviewManagerFactory;
import com.google.android.play.core.tasks.Task;
 
public class MainActivity extends AppCompatActivity {
 
    private ReviewManager reviewManager;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        init();
    }
 
    private void init() {
        reviewManager = ReviewManagerFactory.create(this);
 
        findViewById(R.id.btn_rate_app).setOnClickListener(view -> showRateApp());
    }
 
    /**
     * Shows rate app bottom sheet using In-App review API
     * The bottom sheet might or might not shown depending on the Quotas and limitations
     * https://developer.android.com/guide/playcore/in-app-review#quotas
     * We show fallback dialog if there is any error
     */
    public void showRateApp() {
        Task<ReviewInfo> request = reviewManager.requestReviewFlow();
        request.addOnCompleteListener(task -> {
            if (task.isSuccessful()) {
                // We can get the ReviewInfo object
                ReviewInfo reviewInfo = task.getResult();
 
                Task<Void> flow = reviewManager.launchReviewFlow(this, reviewInfo);
                flow.addOnCompleteListener(task1 -> {
                    // The flow has finished. The API does not indicate whether the user
                    // reviewed or not, or even whether the review dialog was shown. Thus, no
                    // matter the result, we continue our app flow.
                });
            } else {
                // There was some problem, continue regardless of the result.
                // show native rate app dialog on error
                showRateAppFallbackDialog();
            }
        });
    }
 
    /**
     * Showing native dialog with three buttons to review the app
     * Redirect user to playstore to review the app
     */
    private void showRateAppFallbackDialog() {
        new MaterialAlertDialogBuilder(this)
                .setTitle(R.string.rate_app_title)
                .setMessage(R.string.rate_app_message)
                .setPositiveButton(R.string.rate_btn_pos, (dialog, which) -> {
 
                })
                .setNegativeButton(R.string.rate_btn_neg,
                        (dialog, which) -> {
                        })
                .setNeutralButton(R.string.rate_btn_nut,
                        (dialog, which) -> {
                        })
                .setOnDismissListener(dialog -> {
                })
                .show();
    }
}
In-App Review dan Fallback Rate App Dialog

Menguji Alur In-App Review

Untuk menguji alur In-App Review, kalian harus memiliki aplikasi yang sudah disetujui di PlayStore. Ini tidak berarti aplikasi harus tersedia untuk umum. Setidaknya Anda harus memiliki akun yang siap untuk Pengujian Internal atau Berbagi Aplikasi Internal .

  • Kalian dapat menggunakan Jalur Pengujian Internal untuk merilis aplikasi dan menguji alur In-App Review.
  • Kalian dapat menggunakan Berbagi Aplikasi Internal untuk menguji alur In-App Review.

Untuk info lebih lanjut tentang bagian pengujian di halaman pengembang android . Jika ada pertanyaan, jangan lupa sampaikan di kolom komentar di bawah ini yup.

Oiya, kalian dapat mengunduh contoh source di sini ya. Selamat mencoba.

Bagikan: