Yorumları Yanıtlama

Google Play Developer Reply to Reviews API, uygulamanızla ilgili kullanıcı geri bildirimlerini görüntülemenize ve bu geri bildirimi yanıtlamanıza olanak tanır. Bu API'yi, kullanıcılarla doğrudan CRM sistemi gibi mevcut müşteri desteği araç setlerinizde etkileşim kurmak için kullanabilirsiniz.

Reply to Reviews API API'yi kullanarak yalnızca uygulamanızın üretim sürümleriyle ilgili geri bildirimlere erişebilirsiniz. Uygulamanızın alfa veya beta sürümleriyle ilgili geri bildirimler görmek istiyorsanız bunun yerine Google Play Console'u kullanın. Ayrıca, API'nin yalnızca yorum içeren yorumları gösterdiğini unutmayın. Bir kullanıcı uygulamanızı derecelendirirse ancak yorum yapmazsa API'den kullanıcının geri bildirimine erişilemez.

Erişim Kazanma

Reply to Reviews API'yle çalışmak için bir OAuth istemcisi veya hizmet hesabı kullanarak yetkilendirme sağlarsınız. Bir hizmet hesabı kullanıyorsanız bu hesapta "Yorumlara yanıt verme" iznini etkinleştirin. Bu API'ye yetkili erişim oluşturma hakkında daha fazla bilgi için API Erişim İstemcilerini Ayarlama bölümüne bakın.

Yorum Alma

Reply to Reviews API'yi kullanırken uygulamanızla ilgili en son yapılan tüm yorumların listesini alabilir veya tek bir yorumu görebilirsiniz.

Yorum grubu alma

Uygulamanızla ilgili yorum listesi istemek için GET yöntemini kullanın. İsteğinize uygulamanızın tam nitelikli paket adını (ör. com.google.android.apps.maps) ve API'ye erişim elde ederken aldığınız yetkilendirme jetonunu ekleyin.

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

Yanıt, uygulamanızla ilgili yorumların listesini içeren bir JSON dizesidir. Listedeki ilk sonuç, en son oluşturulan veya değiştirilen kullanıcı yorumunu gösterir.

Aşağıdaki örnekte, ilk inceleme tüm sonuçlarda görünen meta verileri, ikinci inceleme ise yalnızca bazı sonuçlarda görünen meta verileri gösterir:

{
  "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"
  }
}

Her sonuç aşağıdaki meta verileri içerir:

reviewId
Bu yorumu benzersiz bir şekilde tanımlar. Ayrıca, kullanıcılar belirli bir uygulama için yalnızca bir yorum yazabileceğinden, belirli bir kullanıcının yorumunu da belirtir.
authorName

Yorumu yazan kullanıcının adı.

Not: Nadir durumlarda, authorName belirli bir sonuçta görünmeyebilir.

comments

Kullanıcının uygulamayla ilgili geri bildirimlerini içeren bir liste. Bu yorum bir başlık içeriyorsa bu başlık ve yorumun gövde metni text öğesinde görünür ve bir sekme karakteri başlık ile gövde metnini ayırır. lastModified öğesi, kullanıcının yorumunu en son gönderdiği zamanı belirtir.

Bu yoruma zaten yanıt verdiyseniz geri bildiriminiz, yorum listesinde ikinci öğe olarak görünür.

starRating

Kullanıcının uygulamanızı 1-5 ölçeğinde değerlendirmesi. 5 puan, kullanıcının uygulamanızdan son derece memnun olduğunu gösterir.

Varsayılan olarak, her sayfada 10 inceleme gösterilir. İsteğinizde maxResults parametresini ayarlayarak sayfa başına 100 adede kadar yorum görüntüleyebilirsiniz.

Yorum listesi başka bir sayfada devam ederse API, yanıta bir tokenPagination öğesi ekler. Sonraki yorum sayfasını isterken token öğesini ekleyin. Bu öğenin değerini, orijinal yanıtta görünen nextPageToken değerine ayarlayın.

Not: Yalnızca kullanıcıların son bir hafta içinde oluşturduğu veya değiştirdiği yorumları alabilirsiniz. En başından beri uygulamanızla ilgili tüm yorumları almak istiyorsanız Google Play Console'u kullanarak yorumlarınızı CSV dosyası olarak indirebilirsiniz.

Aşağıdaki GET isteği örneğinde, sonraki yorum sayfası gösterilmektedir. Bu istek, mevcut yorum sayfasının (önceki talebin yanıtında gösterildiği gibi) "12334566" değerinde bir nextPageToken değeri içerdiğini varsayar. İstek, bir sonraki sayfanın en fazla 50 yorum göstermesi gerektiğini de belirtir.

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

Tek bir yorumu alma

Tek bir yorumu almak için GET yöntemini de kullanabilirsiniz. Bir yorum grubunu almak için kullanılan URL ile aynı URL'yi sağlarsınız, ancak görmek istediğiniz yoruma karşılık gelen review_id özelliğini de eklersiniz:

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

Karşılık gelen yanıt, tek bir yorum için içerik ve meta veri içeren bir JSON dizesidir:

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

Yorum Metnini Çevirme

Yorum metni,reviews API'den döndürülmeden önce otomatik olarak çevrilebilir. Yorum listesi veya tek bir yorum alırken sorguya translationLanguage parametresi ekleyin. Örneğin:

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

translationLanguage parametresi, ülke bilgisini içeren veya içermeyen bir dil belirtebilir. Örneğin, hem "en" hem de "en_GB" geçerlidir.

Orijinal metinden farklı bir çeviri dili belirtirseniz sistem, çevrilmiş metni text özelliğinde ve orijinal metni originalText özelliğinde döndürür. Aşağıda bir örnek verilmiştir:

    {
      "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!"
          }
        }
      ]
    }

Yorumları Yanıtlama

Ayrıca, yorumları yanıtlayarak uygulamanızın kullanıcılarıyla etkileşimde bulunabilirsiniz. Yanıtınızı gönderdikten sonra kullanıcı, geri bildirimine yanıt verdiğinizi belirten bir bildirim alır.

Yorumlara verilen otomatik yanıtların daha sonra manuel olarak güncellenmesi amacıyla kullanılmaması önerilir. Ayrıca, bir yoruma istediğiniz kadar yanıt verebiliyor olsanız da kullanıcı, oluşturulan veya değiştirilen bir yoruma ilk kez yanıt verdikten sonra kullanıcı bir bildirim alır. Aşağıdaki tabloda, kullanıcının kendisiyle etkileşimleriniz sırasında nasıl bilgilendirildiği gösterilmektedir:

Kullanıcı-Geliştirici Etkileşimi Kullanıcıya Bildirim Gönderilsin mi?
Kullanıcı yorum yazar; geliştirici yanıt gönderir Evet
Geliştirici güncellemeleri, orijinal yoruma verilen yanıttır No
Kullanıcı güncellemeleri yorumu; geliştirici güncellemeleri yanıtı Evet

Not: Yorumlara verdiğiniz yanıtlar uygulama mağazası sayfasında herkese açık olarak göründüğünden, bu yanıtları yazarken kullanıcılar hakkındaki hassas bilgileri eklememeniz önemlidir.

Bir kullanıcı yorumuna yanıt göndermek için POST yöntemini kullanın. İsteğinizde Content-Type öğesinin application/json olduğunu belirtin ve yanıtınızı içeren bir JSON belgesi ekleyin:

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!"
}

Not: POST isteğinize eklediğiniz replyText en fazla 350 karakter içerebilir. Yanıtınızda düz metin kullanmanız gerekir. Doğru biçimlendirilmiş HTML etiketleri kaldırılır ve yanıtınızın karakter sayısına dahil edilmez. Bununla birlikte, iyi biçimlendirilmiş HTML etiketlerinin içine yerleştirdiğiniz içerik korunur.

İsteğiniz başarılı olursa yanıt olarak aşağıdaki JSON dizesini alırsınız. lastEdited öğesi, API'nin kullanıcı yorumuna verdiğiniz yanıtı kaydettiği saati gösterir.

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

Ancak POST isteğiniz geçersizse yanıtta bunun yerine aşağıdaki hata kodlarından biri gösterilir:

400 Bad Reply Request
replyText çok uzun veya eksik.
404 Not Found
Belirtilen review_id ile ilgili yorum mevcut değil.

Kotalar

Diğer geliştiricileri de düşünerek Reply to Reviews API API'de bazı kotalar uyguluyoruz. Bu kotalar uygulama bazında ayrı ayrı uygulanır:

  • GET istekleri (yorum listelerini ve tek tek yorumları almak için) – saatte 200

  • POST istek (yorumlara yanıt vermek için) – günde 2.000 istek

Uygulamanızın bu kotaların izin verdiğinden daha fazla sayıda yorum alması veya yanıtlaması gerekiyorsa uygulamanızın kotasını artırmak için bir istek gönderin.