Google Play Developer Reply to Reviews API ช่วยให้คุณดูความคิดเห็นของผู้ใช้ สำหรับแอปและตอบกลับความคิดเห็นนี้ได้ คุณสามารถใช้ API นี้เพื่อโต้ตอบกับผู้ใช้ได้โดยตรงภายในชุดเครื่องมือสนับสนุนลูกค้าที่มีอยู่ เช่น ระบบ CRM
Reply to Reviews API ช่วยให้คุณเข้าถึงความคิดเห็นได้เฉพาะสำหรับแอปเวอร์ชันที่ใช้งานจริง เท่านั้น หากต้องการดูความคิดเห็นเกี่ยวกับแอปเวอร์ชันอัลฟ่าหรือเบต้า ให้ใช้ Google Play Console แทน นอกจากนี้ โปรดทราบว่า 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 ที่มีรายการรีวิวสำหรับแอปของคุณ ผลลัพธ์แรกในรายการจะแสดงความคิดเห็นของผู้ใช้ที่สร้างหรือแก้ไขล่าสุด
ในตัวอย่างต่อไปนี้ รีวิวแรกแสดงข้อมูลเมตาที่ปรากฏในผลลัพธ์ทั้งหมด และรีวิวที่ 2 แสดงข้อมูลเมตาที่ปรากฏในผลลัพธ์บางรายการเท่านั้น
{ "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
อาจไม่ปรากฏในผลลัพธ์ที่กำหนด- ความคิดเห็น
รายการที่มีความคิดเห็นของผู้ใช้เกี่ยวกับแอป หากรีวิวนี้มีชื่อ ชื่อและข้อความเนื้อหาของรีวิวจะปรากฏในองค์ประกอบ
text
และอักขระแท็บจะคั่นชื่อและข้อความเนื้อหา องค์ประกอบlastModified
ระบุเวลาที่ผู้ใช้ส่งรีวิวครั้งล่าสุดหากตอบรีวิวนี้แล้ว ความคิดเห็นของคุณจะปรากฏเป็น องค์ประกอบที่ 2 ในรายการความคิดเห็น
- starRating
การประเมินแอปของคุณของผู้ใช้ในระดับ 1 ถึง 5 คะแนน 5 แสดงว่าผู้ใช้พึงพอใจกับแอปของคุณเป็นอย่างมาก
โดยค่าเริ่มต้น รีวิว 10 รายการจะปรากฏในแต่ละหน้า คุณแสดงรีวิวได้สูงสุด 100 รายการต่อหน้าโดยตั้งค่าพารามิเตอร์ maxResults
ในคำขอ
หากรายการรีวิวยาวไปถึงหน้าอื่น API จะรวมองค์ประกอบ 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 เดียวกันกับที่ใช้สำหรับ
การดึงข้อมูลชุดรีวิว ยกเว้นว่าคุณ
ต้องระบุ 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 } } ] }
การแปลข้อความรีวิว
ระบบจะแปลข้อความรีวิวโดยอัตโนมัติก่อนที่จะส่งคืนจาก
Reviews 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!" } } ] }
การตอบกลับรีวิว
นอกจากนี้ คุณยังโต้ตอบกับผู้ใช้แอปได้โดยตอบกลับรีวิวของผู้ใช้ หลังจาก ที่คุณส่งคำตอบแล้ว ผู้ใช้จะได้รับการแจ้งเตือนว่าคุณ ได้ตอบกลับความคิดเห็นของตนแล้ว
เราไม่แนะนำให้ใช้การตอบกลับรีวิวอัตโนมัติโดยมีเจตนาที่จะ อัปเดตการตอบกลับเหล่านั้นด้วยตนเองในภายหลัง นอกจากนี้ แม้ว่าคุณจะตอบกลับรีวิวกี่ครั้งก็ได้ แต่ผู้ใช้จะได้รับการแจ้งเตือนเพียงครั้งเดียวเท่านั้นหลังจากที่คุณตอบกลับรีวิวที่สร้างขึ้นหรือแก้ไขเป็นครั้งแรก ตารางต่อไปนี้ แสดงวิธีที่ผู้ใช้ได้รับการแจ้งเตือนระหว่างการโต้ตอบกับคุณ
การโต้ตอบระหว่างผู้ใช้กับนักพัฒนาแอป | ส่งการแจ้งเตือนไปยังผู้ใช้แล้วใช่ไหม |
---|---|
ผู้ใช้เขียนรีวิว นักพัฒนาแอปส่งคำตอบ | มี |
การอัปเดตของนักพัฒนาแอปจะตอบกลับรีวิวเดิม | ไม่ |
ผู้ใช้อัปเดตรีวิว นักพัฒนาแอปอัปเดตคำตอบ | มี |
หมายเหตุ: เนื่องจากคำตอบที่คุณตอบรีวิวจะปรากฏต่อสาธารณะในหน้า App Store คุณจึงไม่ควรใส่ข้อมูลที่ละเอียดอ่อนเกี่ยวกับผู้ใช้เมื่อเขียนคำตอบเหล่านี้
หากต้องการส่งคำตอบสำหรับรีวิวของผู้ใช้ ให้ใช้วิธี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
ที่ระบุ
โควต้า
เพื่อไม่ให้การใช้งานดังกล่าวส่งผลกระทบต่อนักพัฒนาแอปรายอื่นๆ Reply to Reviews API จะบังคับใช้โควต้าต่างๆ ระบบจะบังคับใช้โควต้าเหล่านี้แยกกันในระดับแอป
GET
คำขอ (สำหรับการดึงข้อมูลรายการรีวิวและรีวิวแต่ละรายการ) - 200 รายการ ต่อชั่วโมงPOST
คำขอ (สำหรับการตอบกลับรีวิว) - 2,000 รายการต่อวัน
หากแอปต้องดึงหรือตอบกลับรีวิวจำนวนมากกว่าที่โควต้าเหล่านี้อนุญาต โปรดส่งคำขอ เพื่อเพิ่มโควต้าของแอป