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