ตรวจหาการละเมิดซ้ำโดยใช้การเรียกคืนอุปกรณ์ (เบต้า)

หน้านี้อธิบายวิธีใช้การเรียกคืนอุปกรณ์เพื่อจัดเก็บและเรียกข้อมูลที่กำหนดเองด้วยอุปกรณ์ที่เฉพาะเจาะจง คุณสามารถเรียกดูข้อมูลที่กําหนดเองอีกครั้งได้อย่างน่าเชื่อถือในภายหลังเมื่อติดตั้งแอปในอุปกรณ์เครื่องเดิม แม้หลังจากรีเซ็ตอุปกรณ์แล้วก็ตาม ซึ่งจะช่วยให้คุณตรวจจับและป้องกันไม่ให้มีการใช้อุปกรณ์ซ้ำโดยอิงตามการดำเนินการหรือลักษณะการทำงานที่คุณระบุไป พร้อมทั้งรักษาความเป็นส่วนตัวของผู้ใช้

การเรียกคืนอุปกรณ์ทำงานอย่างไร

การเรียกคืนอุปกรณ์ช่วยให้แอปจัดเก็บและเรียกดูข้อมูลที่กําหนดเองซึ่งเชื่อมโยงกับอุปกรณ์ที่เฉพาะเจาะจงในลักษณะที่รักษาความเป็นส่วนตัวของผู้ใช้ ข้อมูลจะจัดเก็บไว้ในเซิร์ฟเวอร์ของ Google ซึ่งช่วยให้แอปของคุณเรียกดูข้อมูลที่กําหนดเองได้อย่างน่าเชื่อถือ แม้หลังจากติดตั้งแอปอีกครั้งหรือรีเซ็ตอุปกรณ์แล้วก็ตาม ตัวอย่างเช่น คุณอาจใช้ฟีเจอร์นี้เพื่อเรียกคืนอุปกรณ์ที่พบหลักฐานการละเมิดร้ายแรง อุปกรณ์ที่แลกไอเทมที่มีมูลค่าสูงไปแล้ว (เช่น ช่วงทดลองใช้ฟรี) หรืออุปกรณ์ที่มีการใช้ซ้ำๆ เพื่อสร้างบัญชีใหม่เพื่อวัตถุประสงค์ในการละเมิด การเรียกคืนของอุปกรณ์จะรักษาความเป็นส่วนตัวของผู้ใช้ เนื่องจากแอปที่ขอจะเรียกคืนได้เฉพาะข้อมูลที่จํากัดซึ่งเชื่อมโยงกับอุปกรณ์เท่านั้น โดยไม่เข้าถึงอุปกรณ์หรือตัวระบุผู้ใช้ใดๆ หลังจากเปิดการเรียกคืนอุปกรณ์แล้ว คุณจะทำสิ่งต่อไปนี้ได้

  • อ่านข้อมูลต่ออุปกรณ์: คุณสามารถอ่านค่าที่กำหนดเองหรือบิต 3 รายการสำหรับอุปกรณ์แต่ละเครื่องเมื่อได้รับผลการตัดสินความสมบูรณ์ คุณกําหนดความหมายของค่าเหล่านี้เองได้ เช่น คุณอาจถือว่าค่าเป็น 3 แฟล็กแยกกัน หรือจะรวมค่าเข้าด้วยกันเพื่อแสดงป้ายกํากับที่กําหนดเอง 8 รายการก็ได้
  • แก้ไขข้อมูลต่ออุปกรณ์: หลังจากได้รับโทเค็นความสมบูรณ์แล้ว คุณจะใช้โทเค็นดังกล่าวเพื่อเรียกใช้เซิร์ฟเวอร์ของ Google Play ฝั่งเซิร์ฟเวอร์เพื่อแก้ไขค่าอย่างน้อย 1 ค่าได้ คุณมีเวลาสูงสุด 14 วันในการใช้โทเค็น ซึ่งจะช่วยให้คุณแก้ไขค่าได้ในกรณีที่การละเมิดปรากฏชัดในช่วง 2 สัปดาห์หลังจากที่คุณทำการตรวจสอบความสมบูรณ์เป็นครั้งแรก เมื่อคุณแก้ไขค่า ระบบจะจัดเก็บเดือนและปีที่ทำการแก้ไขด้วย

ข้อกําหนดและข้อควรพิจารณาในการเรียกคืนอุปกรณ์

การเรียกคืนอุปกรณ์จะใช้เพื่อจัดเก็บและเรียกข้อมูลเพื่อปกป้องความปลอดภัยของแอป และเพื่อลดการละเมิด การประพฤติมิชอบ และการเข้าถึงที่ไม่ได้รับอนุญาตเท่านั้น คุณไม่สามารถใช้การช่วยจดจำอุปกรณ์เพื่อจดจำลายนิ้วมือหรือติดตามผู้ใช้หรืออุปกรณ์แต่ละราย และไม่สามารถใช้การช่วยจดจำอุปกรณ์เพื่อติดตามลักษณะเฉพาะของผู้ใช้หรืออุปกรณ์ที่ละเอียดอ่อน เช่น เพศ อายุ หรือข้อมูลตำแหน่ง

การเรียกคืนอุปกรณ์มีข้อกําหนดเบื้องต้นต่อไปนี้

  • การเรียกคืนอุปกรณ์ใช้ได้กับโทรศัพท์ แท็บเล็ต อุปกรณ์แบบพับได้ ทีวี รถยนต์ และ WearOS ใน Wear การเรียกคืนอุปกรณ์จะใช้ได้เฉพาะในอุปกรณ์ที่มาพร้อมกับ WearOS 5 ขึ้นไปเท่านั้น โปรแกรมจำลองไม่รองรับการเรียกคืนอุปกรณ์
  • การเรียกคืนอุปกรณ์กำหนดให้ต้องติดตั้งและเปิดใช้บริการ Google Play Store และบริการ Google Play เวอร์ชันล่าสุดในอุปกรณ์
  • การเรียกคืนอุปกรณ์กำหนดให้บัญชีผู้ใช้ต้องได้รับอนุญาตจาก Play มิเช่นนั้น ระบบจะไม่ประเมินคำตัดสิน

การเรียกคืนอุปกรณ์มีการพิจารณาด้านเวลาดังต่อไปนี้

  • หลังจากยืนยันโทเค็นความสมบูรณ์แล้ว คุณมีเวลาสูงสุด 14 วันในการใช้โทเค็นเพื่อจัดเก็บข้อมูลการเรียกคืนอุปกรณ์ที่กําหนดเอง
  • การเรียกคืนอุปกรณ์จะระบุการประทับเวลาเพื่อให้คุณพิจารณาข้อมูลที่มีการแก้ไขล่าสุดว่ามีความสำคัญมากกว่าข้อมูลที่มีการแก้ไขไปนานแล้ว ลองละเว้นหรือรีเซ็ตข้อมูลหลังจากผ่านไประยะเวลาหนึ่งเพื่อให้แน่ใจว่าอุปกรณ์เปลี่ยนมือหรือได้รับการซ่อมแซมแล้วนำไปขายต่อ
  • ระบบจะจัดเก็บบิตการเรียกคืนของอุปกรณ์ไว้เป็นเวลา 3 ปีหลังจากการอ่านหรือการเขียนครั้งล่าสุด
  • หากต้องการลบข้อมูลทั้งหมดที่เชื่อมโยงกับอุปกรณ์ แอปจะรีเซ็ตค่าทั้ง 3 ค่าในอุปกรณ์นั้นให้เป็นเท็จได้ ซึ่งจะรีเซ็ตการประทับเวลาโดยอัตโนมัติ

สําหรับนักพัฒนาแอปที่มีแอปหลายแอปและนักพัฒนาแอปที่โอนแอป การเรียกคืนอุปกรณ์จะทํางานดังนี้

  • แอปทั้งหมดในบัญชีนักพัฒนาแอป Google Play จะมีสิทธิ์เข้าถึงค่าเดียวกัน 3 ค่าต่ออุปกรณ์ กล่าวคือ หากแอปใดแอปหนึ่งแก้ไขค่าใดค่าหนึ่ง แอปทั้งหมดจะอ่านค่าที่แก้ไขเมื่อติดตั้งในอุปกรณ์เครื่องเดียวกัน
  • หากมีการโอนแอปจากบัญชีนักพัฒนาแอปหนึ่งไปยังอีกบัญชีหนึ่ง การเรียกคืนอุปกรณ์จะแสดงข้อมูลต่ออุปกรณ์ของบัญชีนักพัฒนาแอปใหม่ ไม่ใช่ข้อมูลต่ออุปกรณ์ของบัญชีนักพัฒนาแอปเดิม

เปิดการเรียกคืนอุปกรณ์

เมื่อพร้อมแล้ว ให้เปิดการเรียกคืนอุปกรณ์ใน Play Console โดยทำดังนี้

  1. ลงชื่อเข้าใช้ Play Console
  2. เลือกแอปที่จะใช้การเรียกคืนอุปกรณ์
  3. ในส่วนรุ่นของเมนูด้านซ้าย ให้ไปที่ความสมบูรณ์ของแอป
  4. คลิกการตั้งค่าข้าง Play Integrity API
  5. คลิกเปลี่ยนการตอบกลับในส่วนการตอบกลับของหน้า
  6. เปิดการเรียกคืนอุปกรณ์
  7. คลิก "บันทึกการเปลี่ยนแปลง"

เมื่อเปิดหรือปิดการเรียกคืนอุปกรณ์ ระบบจะลบการตอบกลับการทดสอบ Play Integrity API ที่คุณตั้งค่าไว้ใน Play Console และคุณจะต้องสร้างการตอบกลับเหล่านั้นอีกครั้ง

อ่านค่าการเรียกคืนอุปกรณ์

การเรียกคืนอุปกรณ์ใช้ได้กับทั้งคำขอ Play Integrity API แบบคลาสสิกและแบบมาตรฐาน ในคำขอมาตรฐาน การเรียกคืนอุปกรณ์จะรีเฟรชในการโทรเพื่อวอร์มอัพ กล่าวคือ หลังจากแก้ไขข้อมูลต่ออุปกรณ์แล้ว คุณจะต้องทําการอุ่นเครื่องอีกครั้งเพื่อดูค่าที่อัปเดต เมื่อเปิดใช้การเรียกคืนอุปกรณ์แล้ว คุณจะอ่านค่าการเรียกคืนอุปกรณ์ได้ในผลการตัดสินด้านความสมบูรณ์

แก้ไขมูลค่าการเรียกคืนอุปกรณ์

คุณสามารถแก้ไขค่าการเรียกคืนอุปกรณ์ได้โดยทำการเรียก API แบบเซิร์ฟเวอร์ต่อเซิร์ฟเวอร์ ซึ่งคล้ายกับการถอดรหัสผลการตรวจสอบความสมบูรณ์ การตั้งค่าบิตเป็น true จะอัปเดตวันที่เขียนด้วย (แม้ว่าจะเป็น true อยู่แล้วก็ตาม) การตั้งค่าบิตเป็น false จะรีเซ็ตวันที่เขียนเป็นว่างเปล่า ส่วนที่เป็นบิตซึ่งไม่ได้ระบุไว้ในคําขอจะยังคงเดิม จะมีการหน่วงเวลาเล็กน้อยระหว่างการเขียนบิตกับความสามารถในการอ่านบิตเหล่านั้นในผลการตัดสิน การเลื่อนเวลาอาจนานถึง 30 วินาที แต่โดยทั่วไปจะสั้นกว่านั้นมาก คำขอเขียนเพื่อเรียกคืนอุปกรณ์ควรมีน้อยกว่าคำขอโทเค็นความสมบูรณ์ โดยคำขอเหล่านี้จะไม่นับรวมในโควต้าคำขอโทเค็นความสมบูรณ์ แต่อยู่ภายใต้ขีดจำกัดอัตราป้องกันที่ไม่เปิดเผยต่อสาธารณะ

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'