Yorumları Yanıtlama

Google Play Developer Reply to Reviews API, uygulamanızla ilgili kullanıcı geri bildirimlerini görüntülemenize ve bu geri bildirimlere yanıt vermenize olanak tanır. Bu API'yi kullanarak kullanıcılarla doğrudan mevcut müşteri desteği araç kitinizde (ör. CRM sistemi) etkileşim kurabilirsiniz.

Yorumlara Yanıt Verme API'si, yalnızca uygulamanızın üretim sürümündeki geri bildirimlere erişmenize olanak tanır. Uygulamanızın alfa veya beta sürümleriyle ilgili geri bildirimleri görmek istiyorsanız bunun yerine Google Play Console'u kullanın. Ayrıca API'nin yalnızca yorum içeren incelemeleri gösterdiğini unutmayın. Bir kullanıcı uygulamanızı değerlendirir ancak yorum yapmazsa geri bildirimi API'den erişilemez.

Erişim elde etme

Yorumlara Yanıt Verme API'si ile çalışmak için OAuth istemcisi veya hizmet hesabı kullanarak yetkilendirme sağlarsınız. 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 istemcilerini ayarlama başlıklı makaleyi inceleyin.

Yorumları alma

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

Bir grup yorumu alma

Uygulamanızla ilgili yorumların listesini 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 kazanırken 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 yorumda tüm sonuçlarda görünen meta veriler, ikinci yorumda ise yalnızca bazı sonuçlarda görünen meta veriler gösterilmektedir:

{
  "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 şekilde tanımlar. Kullanıcılar belirli bir uygulama için yalnızca bir yorum yazabildiğinden, belirli bir kullanıcının yorumunu da gösterir.
authorName

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

Not: Nadiren de olsa authorName, belirli bir sonuçta görünmeyebilir.

yorumlar

Kullanıcının uygulamayla ilgili geri bildirimini içeren bir liste. Bu inceleme bir başlık içeriyorsa hem başlık hem de incelemenin gövde metni text öğesinde görünür. Başlık ve gövde metni, sekme karakteriyle ayrılır. lastModified öğesi, kullanıcının yorumunu en son gönderdiği zamanı gösterir.

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

starRating

Kullanıcının uygulamanızı 1 ile 5 arasında bir ölçekte değerlendirmesi. 5 puan, kullanıcının uygulamanızdan çok memnun olduğunu gösterir.

Varsayılan olarak her sayfada 10 yorum gösterilir. İsteğinizde maxResults parametresini ayarlayarak sayfa başına 100 inceleme gösterebilirsiniz.

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

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

Aşağıdaki GET isteği örneğinde, yorumların sonraki sayfası gösterilmektedir. Bu istek, mevcut yorum sayfasının (önceki isteğin yanıtında gösterildiği gibi) nextPageToken değerinin "12334566" olduğunu varsayar. İstek, sonraki sayfada en fazla 50 yorum gösterilmesi gerektiğini de belirtiyor.

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 dizi yorumu alma 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 değerini de eklersiniz:

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

İlgili yanıt, tek bir yorumun içeriğini ve meta verilerini 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, yorum API'sinden döndürülmeden önce otomatik olarak çevrilebilir. Yorum listesi veya tek bir yorum alırken sorguya translationLanguage parametresini 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 koduyla veya ülke kodu olmadan 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, orijinal metni ise originalText özelliğinde döndürür. Aşağıda bununla ilgili 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!"
          }
        }
      ]
    }

Yorumlara yanıt verme

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

Yorumlara otomatik yanıt verilmesini ve bu yanıtların daha sonra manuel olarak güncellenmesini önermiyoruz. Ayrıca, bir yoruma istediğiniz kadar yanıt verebilirsiniz ancak kullanıcı, oluşturulan veya değiştirilen bir yoruma ilk kez yanıt verdiğinizde bildirim alır. Aşağıdaki tabloda, kullanıcıyla etkileşiminiz sırasında kullanıcının nasıl bilgilendirildiği gösterilmektedir:

Kullanıcı-Geliştirici Etkileşimi Kullanıcıya Bildirim Gönderildi mi?
Kullanıcı yorum yazar, geliştirici yanıt gönderir Evet
Geliştirici güncellemeleri, orijinal yoruma yanıt olarak gösterilir Hayır
Kullanıcı yorumu günceller, geliştirici yanıtı günceller 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ılarla ilgili hassas bilgiler eklememeniz önemlidir.

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ğinizle birlikte gönderdiğiniz replyText en fazla 350 karakter içerebilir. Yanıtınızda düz metin kullanmalısınız. Düzgün oluşturulmuş HTML etiketleri kaldırılır ve yanıtınızın karakter sayısına dahil edilmez. Ancak düzgün oluşturulmuş 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ının yorumuna verdiğiniz yanıtı kaydettiği zamanı gösterir.

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

Ancak POST isteğiniz geçersizse yanıt bunun yerine aşağıdaki hata kodlarından birini gösterir:

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

Kotalar

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

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

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

Uygulamanızın bu kotaların izin verdiğinden daha fazla sayıda yorum alması veya yanıtlaması gerekiyorsa istek göndererek uygulamanızın kotasını artırın.