پاسخ به نظرات

API برنامه‌نویس Google Play Reply to Reviews به شما امکان می‌دهد بازخورد کاربران را برای برنامه خود مشاهده کنید و به این بازخورد پاسخ دهید. شما می توانید از این API برای تعامل مستقیم با کاربران در جعبه ابزار پشتیبانی مشتری فعلی خود، مانند یک سیستم CRM، استفاده کنید.

Reply to Reviews API به شما امکان می دهد فقط برای نسخه های تولیدی برنامه خود به بازخورد دسترسی داشته باشید. اگر می‌خواهید بازخورد مربوط به نسخه‌های آلفا یا بتا برنامه خود را ببینید، به جای آن از کنسول Google Play استفاده کنید. همچنین، توجه داشته باشید که API فقط نظراتی را نشان می‌دهد که شامل نظرات هستند. اگر کاربری به برنامه شما امتیاز دهد اما نظری ارائه نکند، بازخورد او از API قابل دسترسی نیست.

دستیابی به دسترسی

برای کار با Reply to Reviews API، با استفاده از یک سرویس گیرنده OAuth یا یک حساب سرویس مجوز ارائه می دهید. اگر از یک حساب سرویس استفاده می‌کنید، مجوز «پاسخ به نظرات» را در این حساب فعال کنید. برای اطلاعات بیشتر در مورد ایجاد دسترسی مجاز به این API، به راه اندازی سرویس گیرندگان دسترسی API مراجعه کنید.

بازیابی نظرات

هنگام استفاده از Reply to Reviews API، می‌توانید فهرستی از همه بررسی‌های اخیر را برای برنامه خود بازیابی کنید، یا می‌توانید یک بررسی فردی را مشاهده کنید.

بازیابی مجموعه ای از نظرات

از روش GET برای درخواست لیستی از نظرات برای برنامه خود استفاده کنید. در درخواست خود، نام بسته کاملاً واجد شرایط برنامه خود - مانند com.google.android.apps.maps - و رمز مجوزی را که هنگام دسترسی به API دریافت کرده‌اید، وارد کنید.

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

پاسخ یک رشته JSON است که حاوی لیستی از نظرات برنامه شما است. اولین نتیجه در لیست نظر کاربر را که اخیراً ایجاد یا اصلاح شده است نشان می دهد.

در مثال زیر، مرور اول ابرداده‌هایی را نشان می‌دهد که در همه نتایج ظاهر می‌شوند، و بررسی دوم، ابرداده‌هایی را نشان می‌دهد که فقط در برخی از نتایج ظاهر می‌شوند:

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

هر نتیجه شامل ابرداده های زیر است:

شناسه بررسی
منحصر به فرد این بررسی را شناسایی می کند. همچنین بررسی یک کاربر خاص را نشان می دهد، زیرا کاربران می توانند فقط یک نظر برای یک برنامه خاص بنویسند.
نام نویسنده

نام کاربری که نظر را می نویسد.

توجه: در موارد نادر، authorName ممکن است در یک نتیجه مشخص ظاهر نشود.

نظرات

لیستی که شامل بازخورد کاربر در مورد برنامه است. اگر این بررسی شامل یک عنوان باشد، این عنوان و متن اصلی مرور هر دو در عنصر text ظاهر می‌شوند و یک کاراکتر برگه عنوان و متن اصلی را از هم جدا می‌کند. عنصر lastModified زمانی را نشان می دهد که کاربر اخیراً نظر خود را ارسال کرده است.

اگر قبلاً به این بررسی پاسخ داده اید، بازخورد شما به عنوان عنصر دوم در لیست نظرات ظاهر می شود.

رتبه بندی ستاره ای

ارزیابی کاربر از برنامه شما در مقیاس 1 تا 5. امتیاز 5 نشان می دهد که کاربر از برنامه شما بسیار راضی است.

به طور پیش فرض، 10 نظر در هر صفحه ظاهر می شود. با تنظیم پارامتر maxResults در درخواست خود می توانید تا 100 نظر را در هر صفحه نمایش دهید.

اگر لیست بررسی ها در صفحه دیگری ادامه یابد، API شامل یک عنصر tokenPagination در پاسخ می شود. هنگام درخواست صفحه بعدی بررسی ها، عنصر token را وارد کنید. مقدار این عنصر را روی مقدار nextPageToken تنظیم کنید که در پاسخ اصلی ظاهر می شود.

توجه: شما می توانید فقط نظراتی را که کاربران در هفته گذشته ایجاد یا اصلاح کرده اند بازیابی کنید. اگر می‌خواهید همه نظرات برنامه خود را از ابتدا بازیابی کنید، می‌توانید نظرات خود را به عنوان یک فایل CSV با استفاده از کنسول Google Play دانلود کنید .

مثال زیر از درخواست GET صفحه بعدی بررسی ها را نشان می دهد. این درخواست فرض می کند که صفحه فعلی بررسی ها (همانطور که در پاسخ درخواست قبلی نشان داده شده است) حاوی مقدار nextPageToken "12334566" است. این درخواست همچنین نشان می دهد که صفحه بعدی باید حداکثر 50 نظر را نشان دهد.

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

بازیابی یک بررسی فردی

همچنین می توانید از روش GET برای بازیابی یک بررسی فردی استفاده کنید. شما همان URL مورد استفاده برای بازیابی مجموعه‌ای از نظرات را ارائه می‌دهید، با این تفاوت که review_id مربوط به نظری را که می‌خواهید مشاهده کنید نیز درج می‌کنید:

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

پاسخ مربوطه یک رشته JSON است که حاوی محتوا و ابرداده برای یک بازبینی است:

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

ترجمه متن نقد

متن مرور را می توان قبل از بازگرداندن از API نظرات به صورت خودکار ترجمه کرد. هنگام بازیابی لیستی از نظرات یا یک بررسی، یک پارامتر translationLanguage را به جستار اضافه کنید. به عنوان مثال:

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

پارامتر translationLanguage می تواند زبانی را با یا بدون کشور مشخص کند. به عنوان مثال، هر دو "en" و "en_GB" معتبر هستند.

اگر زبان ترجمه متفاوت از متن اصلی را مشخص کنید، سیستم متن ترجمه شده را در ویژگی text و متن اصلی را در ویژگی originalText برمی گرداند. در اینجا یک مثال است:

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

پاسخ به نظرات

همچنین می‌توانید با پاسخ دادن به نظرات کاربران برنامه خود، با آنها تعامل داشته باشید. پس از ارسال پاسخ، کاربر اعلانی دریافت می کند که نشان می دهد شما به بازخورد آنها پاسخ داده اید.

ما از استفاده از پاسخ‌های خودکار به نظرات خودداری می‌کنیم، با هدف به‌روزرسانی آن‌ها به صورت دستی در زمان دیگری. همچنین، اگرچه می‌توانید هر چند بار که می‌خواهید به یک نظر پاسخ دهید، کاربر فقط پس از اولین باری که به بررسی ایجاد شده یا اصلاح شده پاسخ می‌دهید، اعلان دریافت می‌کند. جدول زیر نشان می دهد که چگونه کاربر در طول تعامل شما با آنها مطلع می شود:

تعامل کاربر و توسعه دهنده اعلان برای کاربر ارسال شد؟
کاربر بررسی می نویسد. توسعه دهنده پاسخ ارسال می کند بله
به‌روزرسانی‌های برنامه‌نویس به بررسی اصلی پاسخ می‌دهند خیر
بررسی به‌روزرسانی‌های کاربر؛ پاسخ به‌روزرسانی‌های توسعه‌دهنده بله

توجه: از آنجایی که پاسخ‌های شما به نظرات به صورت عمومی در صفحه فروشگاه برنامه ظاهر می‌شود، مهم است که هنگام نوشتن این پاسخ‌ها، اطلاعات حساس کاربران را درج نکنید.

برای ارسال پاسخ به بررسی کاربر، از روش POST استفاده کنید. در درخواست خود، مشخص کنید که Content-Type application/json است و یک سند JSON که حاوی پاسخ شما است را وارد کنید:

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

توجه: replyText که با درخواست POST خود اضافه می کنید حداکثر می تواند 350 کاراکتر داشته باشد. شما باید از متن ساده در پاسخ خود استفاده کنید. تگ های HTML خوش فرم حذف می شوند و در تعداد کاراکترهای پاسخ شما لحاظ نمی شوند. با این حال، محتوایی که در داخل تگ های HTML به خوبی شکل گرفته قرار می دهید حفظ می شود.

اگر درخواست شما موفق شد، رشته JSON زیر را به عنوان پاسخ دریافت می کنید. عنصر lastEdited زمانی را نشان می دهد که در آن API پاسخ شما به بررسی کاربر را ثبت می کند.

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

اگر درخواست POST شما نامعتبر باشد، پاسخ یکی از کدهای خطای زیر را نشان می دهد:

400 Bad Reply Request
replyText خیلی طولانی است یا وجود ندارد.
404 Not Found
بررسی با review_id داده شده وجود ندارد.

سهمیه ها

به‌عنوان حسن نیت برای توسعه‌دهندگان دیگر، API Reply to Reviews چندین سهمیه را اعمال می‌کند. این سهمیه ها به طور جداگانه بر اساس هر برنامه اجرا می شوند:

  • درخواست‌های GET (برای بازیابی لیست‌های بررسی و بررسی‌های فردی) – 200 در ساعت

  • درخواست های POST (برای پاسخ به نظرات) - 2000 در روز

اگر برنامه شما نیاز به بازیابی یا پاسخ دادن به حجم بیشتری از بررسی‌ها نسبت به این سهمیه‌ها دارد، درخواستی برای افزایش سهمیه برنامه خود ارسال کنید .