تتيح لك واجهة برمجة التطبيقات Google Play Developer Reply to Reviews API الاطّلاع على ملاحظات المستخدمين. عن تطبيقك والرد على هذه الملاحظات. يمكنك استخدام واجهة برمجة التطبيقات هذه للتفاعل مع المستخدمين مباشرةً ضمن مجموعة أدوات دعم العملاء الحالية، مثل إدارة علاقات العملاء .
تتيح لك Reply to Reviews API الوصول إلى الملاحظات للإنتاج فقط من تطبيقك. إذا كنت تريد الاطلاع على ملاحظات حول الإصدارات الأولية أو التجريبية من تطبيقك، استخدِم Google Play Console بدلاً من ذلك تجدر الإشارة أيضًا إلى أنّ واجهة برمجة التطبيقات تعرض فقط المراجعات التي تتضمّن تعليقات. إذا قيّم أحد المستخدمين تطبيقك ولكنه قيّمه عدم تقديم أي تعليق، فلن يكون الوصول إلى ملاحظاتهم متاحًا من خلال واجهة برمجة التطبيقات.
الحصول على إمكانية الوصول
للعمل مع واجهة برمجة التطبيقات Reply to Reviews API، يجب منح التفويض باستخدام عميل OAuth أو حساب خدمة إذا كنت تستخدم حساب خدمة، عليك تفعيل "الردّ على المراجعات" إذن ضمن هذا الحساب. لمزيد من المعلومات عن إنشاء وصول مصرح به إلى واجهة برمجة التطبيقات هذه، راجع إعداد عملاء الوصول إلى واجهة برمجة التطبيقات:
جارٍ استرداد المراجعات
عند استخدام واجهة برمجة التطبيقات Reply to Reviews API، يمكنك استرداد قائمة بجميع طلبات مراجعات لتطبيقك، أو يمكنك الاطّلاع على مراجعة فردية.
استرداد مجموعة من المراجعات
يمكنك استخدام طريقة GET
لطلب قائمة بمراجعات تطبيقك. في طلبك،
أدرِج اسم الحزمة المؤهَّل بالكامل لتطبيقك، مثل
com.google.android.apps.maps
: والرمز المميز للتفويض الذي تلقيته عند
الحصول على إذن الوصول إلى واجهة برمجة التطبيقات.
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" } }
تتضمن كل نتيجة البيانات الوصفية التالية:
- reviewId
- يحدِّد هذا التعليق هذه المراجعة بشكلٍ فريد. كما تشير أيضًا إلى شعور مستخدم معين مراجعة، لأنّه يمكن للمستخدمين كتابة مراجعة واحدة فقط لتطبيق معيّن.
- authorName
تمثّل هذه السمة اسم المستخدم الذي كتب المراجعة.
ملاحظة: في حالات نادرة، قد يؤدي
authorName
إلى لا تظهر في نتيجة معينة.- comments
قائمة تتضمن ملاحظات المستخدم على التطبيق إذا كان هذا تحتوي المراجعة على عنوان، يظهر عندها هذا العنوان والنص الأساسي للمراجعة في العنصر
text
، ويفصل حرف Tab العنوان عن النص الأساسي. يشير العنصرlastModified
إلى الوقت الذي بدأ فيه المستخدم مؤخرًا أرسلوا مراجعته.إذا سبق لك الرد على هذه المراجعة، ستظهر ملاحظاتك على النحو التالي: العنصر الثاني في قائمة التعليقات.
- starRating
تقييم المستخدم لتطبيقك على مقياس من 1 إلى 5. النتيجة 5 إلى أنّ المستخدم راضٍ تمامًا عن تطبيقك.
بشكل تلقائي، تظهر 10 مراجعات في كل صفحة. يمكنك عرض ما يصل إلى 100 مراجعة.
لكل صفحة من خلال إعداد معلَمة maxResults
في طلبك.
إذا استمرت قائمة المراجعات في صفحة أخرى، ستتضمّن واجهة برمجة التطبيقات
العنصر tokenPagination
في الردّ. عند طلب الصفحة التالية من
تتضمَّن العنصر token
. اضبط قيمة هذا العنصر على
nextPageToken
التي تظهر في الرد الأصلي.
ملاحظة: يمكنك استرداد المراجعات التي أنشأها المستخدمون فقط. أو تعديلها خلال الأسبوع الماضي إذا كنت ترغب في استرداد جميع المراجعات الخاصة تطبيقك منذ بداية الوقت، يمكنك تنزيل مراجعاتك كملف CSV باستخدام Google Play Console.
يعرض المثال التالي لطلب 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 مثل عنوان 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 } } ] }
ترجمة نص المراجعة
يمكن ترجمة نص المراجعة تلقائيًا قبل إرجاعه من
واجهة برمجة تطبيقات المراجعات. عند استرداد قائمة من المراجعات أو مراجعة واحدة، أضف
معلَمة 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
إلى الوقت الذي تسجِّل فيه واجهة برمجة التطبيقات ردّك
إلى مراجعة المستخدم.
{ "result": { "replyText": "Thanks for your feedback!", "lastEdited": { "seconds": "1453978803", "nanos": 796000000 } } }
إذا كان طلب "POST
" غير صالح، سيعرض الرد أحد
رموز الخطأ التالية بدلاً من ذلك:
400 Bad Reply Request
- السمة
replyText
طويلة جدًا أو غير متوفّرة. 404 Not Found
- المراجعة ذات العنصر
review_id
المحدد غير موجودة.
الحصص
تقديرًا منا للمطوّرين الآخرين، تفرض Reply to Reviews API عدة حصصها. ويتم فرض هذه الحصص بشكل منفصل لكل تطبيق على حدة:
GET
طلب (لاسترداد قوائم المراجعات والمراجعات الفردية) – 200 في الساعةPOST
طلب (للردّ على المراجعات) – 2000 طلب في اليوم
إذا كان تطبيقك يحتاج إلى استرداد عدد أكبر من المراجعات أو الرد عليه الحصص المسموح بها، أرسل طلب لزيادة حصة تطبيقك