Membalas Ulasan

Dengan Reply to Reviews API dari Developer Google Play, Anda dapat melihat masukan pengguna untuk aplikasi Anda dan membalas masukan ini. Anda dapat menggunakan API ini untuk berinteraksi langsung dengan pengguna di toolkit dukungan pelanggan lama, seperti sistem CRM.

Dengan Reply to Reviews API, Anda dapat mengakses masukan untuk aplikasi Anda pada versi produksi saja. Jika Anda ingin melihat masukan terkait versi alfa atau beta aplikasi, gunakan Konsol Google Play. Selain itu, perlu diperhatikan bahwa API ini hanya menampilkan ulasan yang menyertakan komentar. Jika pengguna memberi rating aplikasi tetapi tidak memberikan komentar, masukannya tidak akan dapat diakses melalui API ini

Mendapatkan Akses

Untuk menggunakan Reply to Reviews API, Anda perlu memberikan otorisasi menggunakan klien OAuth atau akun layanan. Jika Anda menggunakan akun layanan, aktifkan izin "Balas ulasan" dalam akun ini. Untuk informasi selengkapnya terkait cara mendapatkan akses yang diberi otorisasi untuk API ini, lihat Menyiapkan Klien Akses API.

Mengambil Ulasan

Saat menggunakan Reply to Reviews API, Anda dapat mengambil daftar semua ulasan terbaru aplikasi, atau Anda dapat melihat ulasan satu per satu.

Mengambil kumpulan ulasan

Gunakan metode GET untuk meminta daftar ulasan aplikasi. Dalam permintaan Anda, sertakan nama paket yang sepenuhnya memenuhi syarat untuk aplikasi—seperti com.google.android.apps.maps—dan token otorisasi yang Anda terima saat mendapatkan akses ke API.

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews?
access_token=your_auth_token

Responsnya adalah string JSON yang berisi daftar ulasan aplikasi. Hasil pertama dalam daftar menunjukkan komentar pengguna yang baru saja dibuat atau diubah.

Dalam contoh berikut, ulasan pertama menunjukkan metadata yang muncul di semua hasil, dan ulasan kedua menunjukkan metadata yang hanya muncul di beberapa hasil:

{
  "reviews": [
    {
      "reviewId": "12345678",
      "authorName": "Jane Bloggs",
      "comments": [
        {
          "userComment": {
            "text": "This is the best app ever!",
            "lastModified": {
              "seconds": "1443676826",
              "nanos": 713000000
            },
            "starRating": 5
          }
        }
      ]
    },
    {
      "reviewId": "11223344",
      "authorName": "John Doe",
      "comments": [
        {
          "userComment": {
            "text": "I love using this app!",
            "lastModified": {
              "seconds": "141582134",
              "nanos": 213000000
            },
            "starRating": 5,
            "reviewerLanguage": "en",
            "device": "trltecan",
            "androidOsVersion": 21,
            "appVersionCode": 12345,
            "appVersionName": "1.2.3",
            "thumbsUpCount": 10,
            "thumbsDownCount": 3,
            "deviceMetadata": {
              "productName": "E5333 (Xperia™ C4 Dual)",
              "manufacturer": "Sony",
              "deviceClass": "phone",
              "screenWidthPx": 1080,
              "screenHeightPx": 1920,
              "nativePlatform": "armeabi-v7a,armeabi,arm64-v8a",
              "screenDensityDpi": 480,
              "glEsVersion": 196608,
              "cpuModel": "MT6752",
              "cpuMake": "Mediatek",
              "ramMb": 2048
            }
          }
        },
        {
          "developerComment": {
            "text": "That's great to hear!",
            "lastModified": {
              "seconds": "1423101467",
              "nanos": 813000000
            }
          }
        }
      ]
    }
  ],
  "tokenPagination": {
    "nextPageToken": "12334566"
  }
}

Setiap hasil menyertakan metadata berikut:

reviewId
Secara unik mengidentifikasi ulasan ini. Ini juga menunjukkan ulasan pengguna tertentu, karena pengguna hanya dapat menulis satu ulasan untuk aplikasi tertentu.
authorName

Nama pengguna yang menulis ulasan.

Catatan: Dalam kasus yang jarang terjadi, authorName mungkin tidak muncul dalam hasil tertentu.

comments

Daftar yang menyertakan masukan pengguna terkait aplikasi. Jika ulasan ini menyertakan judul, maka judul ini serta teks isi ulasan akan muncul dalam elemen text, dan karakter tab akan memisahkan judul dan teks isi. Elemen lastModified menunjukkan waktu saat pengguna terakhir mengirimkan ulasan.

Jika Anda telah merespons ulasan ini, masukan Anda akan muncul sebagai elemen kedua dalam daftar komentar.

starRating

Evaluasi pengguna terhadap aplikasi Anda dalam skala 1 sampai 5. Skor 5 menunjukkan bahwa pengguna merasa sangat puas dengan aplikasi Anda.

Secara default, 10 ulasan akan muncul di setiap halaman. Anda dapat menampilkan hingga 100 ulasan per halaman dengan menyetel parameter maxResults dalam permintaan.

Jika daftar ulasan berlanjut ke halaman lain, API akan menyertakan elemen tokenPagination dalam respons. Saat meminta halaman berikutnya dari ulasan, sertakan elemen token. Setel nilai elemen ini ke nilai nextPageToken, yang muncul dalam respons awal.

Catatan: Anda dapat mengambil ulasan yang dibuat atau diubah pengguna dalam satu minggu terakhir saja. Jika Anda ingin mengambil semua ulasan aplikasi sejak yang pertama, Anda dapat mendownload ulasan sebagai file CSV menggunakan Konsol Google Play.

Contoh permintaan GET berikut menampilkan halaman ulasan berikutnya. Permintaan ini menganggap bahwa halaman ulasan saat ini (sebagaimana yang ditampilkan dalam respons permintaan sebelumnya) berisi nilai nextPageToken "12334566". Permintaan juga menunjukkan bahwa halaman berikutnya akan menampilkan hingga 50 ulasan.

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews?
access_token=your_auth_token&token=12334566&maxResults=50

Mengambil ulasan satu per satu

Anda juga dapat menggunakan metode GET untuk mengambil ulasan satu per satu. Anda memberikan URL yang sama dengan yang digunakan untuk mengambil kumpulan ulasan, tetapi menyertakan review_id yang terkait dengan ulasan yang ingin dilihat:

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews/
review_id?access_token=your_auth_token

Respons yang terkait adalah string JSON yang berisi konten dan metadata untuk satu ulasan:

{
  "reviewId": "87654321",
  "authorName": "Joan Smith",
  "comments": [
    {
      "userComment": {
        "text": "This app is awesome!",
        "lastModified": {
          "seconds": "1452114723",
          "nanos": 913000000
        },
        "starRating": 5
      }
    }
  ]
}

Menerjemahkan Teks Ulasan

Teks ulasan dapat diterjemahkan secara otomatis sebelum ditampilkan dari API ulasan. Saat mengambil daftar ulasan atau satu ulasan, tambahkan parameter translationLanguage ke kueri. Contoh:

GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews?
access_token=your_auth_token&translationLanguage=en

Parameter translationLanguage dapat menentukan bahasa dengan atau tanpa negara. Misalnya, "en" dan "en_GB" adalah contoh yang valid.

Jika Anda menentukan bahasa terjemahan yang berbeda dari teks asli, sistem akan menampilkan teks terjemahan dalam properti text dan teks asli dalam properti originalText. Berikut contohnya:

    {
      "reviewId": "12345678",
      "authorName": "Jane Bloggs",
      "comments": [
        {
          "userComment": {
            "text": "This is the best app ever!",
            "lastModified": {
              "seconds": "1443676826",
              "nanos": 713000000
            },
            "starRating": 5,
            "originalText": "Dies ist die beste App überhaupt!"
          }
        }
      ]
    }

Membalas Ulasan

Anda juga dapat berinteraksi dengan pengguna aplikasi dengan membalas ulasan mereka. Setelah Anda mengirimkan balasan, pengguna akan menerima notifikasi, yang menunjukkan bahwa Anda telah merespons masukannya.

Sebaiknya jangan menggunakan balasan otomatis untuk ulasan, meski Anda berencana untuk memperbarui balasan tersebut secara manual pada lain waktu. Selain itu, meskipun Anda dapat membalas sebuah ulasan sebanyak yang Anda inginkan, pengguna hanya akan menerima notifikasi setelah Anda pertama kali membalas ulasan yang dibuat atau diubah. Tabel berikut menunjukkan cara pengguna diberi notifikasi selama interaksi Anda dengannya:

Interaksi Developer-Pengguna Notifikasi Dikirim ke Pengguna?
Pengguna menulis ulasan; developer mengirimkan balasan Ya
Developer memperbarui balasan untuk ulasan awal Tidak
Pengguna memperbarui ulasan; developer memperbarui balasan Ya

Catatan: Karena balasan ke ulasan ditampilkan untuk publik di halaman app store, jangan menyertakan informasi sensitif terkait pengguna saat Anda menulis balasan ini.

Untuk mengirimkan balasan ke ulasan pengguna, gunakan metode POST. Dalam permintaan Anda, indikasikan bahwa Content-Type adalah application/json, dan sertakan dokumen JSON yang berisi balasan Anda:

POST https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews/
review_id:reply?access_token=your_access_token
Content-Type: application/json

{
  "replyText": "Thanks for your feedback!"
}

Catatan: replyText yang Anda sertakan dengan permintaan POST dapat berisi maksimal 350 karakter. Gunakan teks biasa dalam balasan Anda; tag HTML yang tersusun dengan baik akan dihapus dan tidak dihitung dalam jumlah karakter balasan. Namun, konten yang Anda letakkan di tag HTML yang tersusun dengan baik akan tetap ada.

Jika permintaan Anda berhasil, Anda akan menerima string JSON berikut sebagai respons. Elemen lastEdited menunjukkan waktu saat API mencatat balasan Anda untuk ulasan pengguna.

{
  "result": {
    "replyText": "Thanks for your feedback!",
    "lastEdited": {
      "seconds": "1453978803",
      "nanos": 796000000
    }
  }
}

Namun, jika permintaan POST Anda tidak valid, respons akan menampilkan salah satu kode error berikut:

400 Bad Reply Request
replyText terlalu panjang atau tidak ada.
404 Not Found
Ulasan dengan review_id yang ditentukan tidak ada.

Kuota

Agar juga dapat digunakan oleh developer lain, Reply to Reviews API menerapkan sejumlah kuota. Kuota ini diterapkan secara terpisah per aplikasi:

  • Permintaan GET (untuk mengambil daftar ulasan dan satu ulasan) – 200 per jam

  • Permintaan POST (untuk membalas ulasan) – 2000 per hari

Jika aplikasi Anda perlu mengambil atau membalas ulasan dalam jumlah yang lebih besar dari yang diizinkan kuota ini, kirim permintaan untuk meningkatkan kuota aplikasi.