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

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

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

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

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

ข้อกำหนดเบื้องต้นและข้อควรพิจารณาเกี่ยวกับการเรียกคืนของอุปกรณ์

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

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

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

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

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

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

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

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

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

  1. ลงชื่อเข้าใช้ Play Console
  2. เลือกแอปที่จะใช้การเรียกคืนของอุปกรณ์
  3. ไปที่ได้รับการปกป้องจาก Google Play จากเมนูด้านซ้าย
  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
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}