หมายเหตุ: ฟีเจอร์ที่อธิบายในหน้านี้ปัจจุบันพร้อมให้บริการแก่พาร์ทเนอร์ Play บางรายเท่านั้น
การปกป้องอัตโนมัติของ Google Play เป็นบริการที่ช่วยคุณปกป้องแอปและเกมจากการละเมิดความสมบูรณ์ในรูปแบบของการปรับเปลี่ยนและการจัดจำหน่ายซ้ำโดยไม่ได้รับอนุญาต การปกป้องอัตโนมัติทำงานในแอปของคุณได้โดยไม่ต้องใช้การเชื่อมต่ออินเทอร์เน็ต คุณเปิดใช้บริการนี้ได้อย่างง่ายดายใน Play Console โดยนักพัฒนาแอปไม่จำเป็นต้องดำเนินการใดๆ ก่อนการทดสอบและไม่ต้องผสานรวมเซิร์ฟเวอร์แบ็กเอนด์
วิธีการทำงาน
การปกป้องอัตโนมัติเพิ่มการตรวจสอบรันไทม์ลงในโค้ดของแอปเพื่อจำกัดการปรับเปลี่ยนและการจัดจำหน่ายซ้ำ จากนั้นจึงทำให้การตรวจสอบดังกล่าวนำออกได้ยากด้วยการปรับให้ยากต่อการอ่าน (Obfuscation) ขั้นสูงและเทคนิคต่อต้านวิศวกรรมย้อนกลับ หากตรวจสอบโปรแกรมติดตั้งไม่สำเร็จ ระบบจะแสดงข้อความเตือนให้ผู้ใช้ดาวน์โหลดแอปของคุณจาก Google Play หากตรวจสอบการปรับเปลี่ยนไม่สำเร็จ แอปจะไม่ทำงาน วิธีนี้ช่วยให้ผู้ใช้ปลอดภัยจากเนื้อหาที่เป็นอันตรายซึ่งอาจปรากฏอยู่ในเวอร์ชันที่มีการปรับเปลี่ยนของแอปคุณ
การปกป้องอัตโนมัติออกแบบมาโดยมีเป้าหมายดังต่อไปนี้
- ป้องกันการปรับเปลี่ยนโดยไม่ได้รับอนุญาต: การปกป้องอัตโนมัติช่วยปกป้องแอปของคุณจากการปรับเปลี่ยน ซึ่งจะช่วยให้การจัดจำหน่ายแอปเวอร์ชันไม่เป็นทางการที่มีลักษณะการทำงานที่ถูกแก้ไข (เช่น การนำการเรียกเก็บเงินออก การเพิ่มโฆษณา การเปลี่ยนรหัสเจ้าของโฆษณา หรือการเพิ่มมัลแวร์) เป็นไปได้ยากขึ้น
- ป้องกันการละเมิดลิขสิทธิ์แอปที่ต้องซื้อ: การปกป้องอัตโนมัติช่วยป้องกันการละเมิดลิขสิทธิ์ด้วยการแสดงข้อความเตือนผู้ใช้ที่ได้รับแอปเวอร์ชัน Play ที่ไม่มีการปรับเปลี่ยนมาจากแหล่งที่มาอย่างไม่เป็นทางการให้ไปซื้อแอปดังกล่าวใน Google Play คุณจะแสดงข้อความเตือนนี้หรือไม่แสดงก็ได้ และปิดใช้ได้โดยยกเลิกการเลือก "ต้องมีการติดตั้งจาก Play" ในหน้าการกำหนดค่าการปกป้องความสมบูรณ์โดยอัตโนมัติ
- เพิ่มจำนวนผู้ใช้ที่จะได้รับการอัปเดตอย่างเป็นทางการ: การปกป้องอัตโนมัติจะแสดงข้อความเตือนผู้ใช้ที่โหลดแอปเวอร์ชัน Play ที่ไม่มีการปรับเปลี่ยนของคุณจากแหล่งที่ไม่รู้จักให้เพิ่มแอปลงในคลัง Play เพื่อให้มั่นใจว่าผู้ใช้จะได้รับการอัปเดตแอปอย่างต่อเนื่อง คุณจะแสดงข้อความเตือนนี้หรือไม่แสดงก็ได้ และปิดใช้ได้โดยยกเลิกการเลือก "ต้องมีการติดตั้งจาก Play" ในหน้าการกำหนดค่าการปกป้องความสมบูรณ์โดยอัตโนมัติ
ตั้งค่าการปกป้องอัตโนมัติ
ขั้นตอนด้านล่างอธิบายสิ่งที่คุณต้องทำเพื่อเริ่มใช้การปกป้องอัตโนมัติ คลิกแต่ละส่วนเพื่อขยาย
หากเปิดการปกป้องอัตโนมัติสำหรับแอปหนึ่ง Google Play จะเพิ่มการปกป้องโดยอัตโนมัติเมื่อคุณสร้างแต่ละรุ่นที่พร้อมเผยแพร่ไปยังอุปกรณ์ต่างๆ การปกป้องกำหนดให้ Google Play สร้าง APK ที่มีการปรับเปลี่ยนและรับรอง APK ดังกล่าวในนามของคุณ คุณจึงต้องดำเนินการต่อไปนี้
- ใช้ Play App Signing
- เผยแพร่ด้วย Android App Bundle
- กำหนดเป้าหมาย API ระดับ 23 ขึ้นไปเป็นอย่างต่ำ
โปรดรับทราบข้อจำกัดต่อไปนี้
- การปกป้องอัตโนมัติใช้ได้ใน Android 6.0 Marshmallow (API ระดับ 23) ขึ้นไปเท่านั้น Android M เปิดตัวเมื่อปี 2015 และในปี 2023 การกำหนดเป้าหมาย midSDKVersion 23 ขึ้นไปจะเข้าถึงกว่า 97% ของอุปกรณ์ Android ที่มีการใช้งาน
- การปกป้องอัตโนมัติรองรับ ABI ต่อไปนี้ ซึ่งได้แก่ x86, x86_64, armeabi-v7a และ arm64-v8a หากต้องการอัปเดต ABI ที่กำหนดเป้าหมายของแอป ให้อัปเดตการตั้งค่า Gradle คุณนำ ABI อื่นๆ ที่อุปกรณ์ Android ไม่ได้ใช้งานออกจากการกำหนดเป้าหมายได้โดยไม่ส่งผลต่อความพร้อมให้บริการของแอป
- การปกป้องอัตโนมัติทำงานแบบออฟไลน์ แต่ตัวเลือก "ต้องมีการติดตั้งจาก Play" จะกำหนดให้มีการเชื่อมต่ออินเทอร์เน็ตเป็นครั้งคราวหากแอป Play Store ในอุปกรณ์ออฟไลน์เป็นเวลานาน
- หากแอปใช้การอนุญาตให้ใช้สิทธิของ Play อยู่แล้ว คุณควรปิดตัวเลือก "ต้องมีการติดตั้งจาก Google Play"
- เมื่ออัปโหลดแอปไปยังการแชร์แอปภายใน ระบบจะไม่ใช้การปกป้อง โปรดระวังเป็นพิเศษและแชร์ลิงก์การแชร์แอปภายในกับสมาชิกในทีมที่เชื่อถือได้เท่านั้น และอย่าแชร์เวอร์ชันที่ไม่มีการปกป้องออกไปภายนอก
- การปกป้องอัตโนมัติเข้ากันไม่ได้กับความโปร่งใสของโค้ดสำหรับ App Bundle เนื่องจากการปกป้องความสมบูรณ์จะต้องทำการแก้ไขโค้ด ระบบจะปฏิเสธ App Bundle ที่อัปโหลดด้วยความโปร่งใสของโค้ดเมื่อเปิดใช้การปกป้องอัตโนมัติอยู่
- ประสบการณ์แบบใช้งานได้ทันทีไม่ได้รับการปกป้อง คุณต้องไม่เปิดใช้ Instant สำหรับ App Bundle ในแทร็กที่เผยแพร่เพื่อให้ได้รับการปกป้อง คุณสามารถอัปโหลด App Bundle ไปยังแทร็กที่เผยแพร่ซึ่งจะได้รับการปกป้องพร้อมกันกับการอัปโหลด App Bundle ที่เปิดใช้ Instant ไปยังแทร็ก Instant เท่านั้นซึ่งจะไม่ได้รับการปกป้อง
สร้างรุ่นตามที่อธิบายไว้ในขั้นตอนที่ 1 ของส่วน "เตรียมพร้อมและเปิดตัวรุ่น"
คุณสามารถเปิดการปกป้องขณะสร้างรุ่น (ตามที่อธิบายไว้ในขั้นตอนที่ 2 ของส่วนเตรียมพร้อมและเปิดตัวรุ่น) หรือจะเปิดการปกป้องในหน้าความสมบูรณ์ของแอป (
ทดสอบและเผยแพร่
> ความสมบูรณ์ของแอป) ก็ได้ ซึ่งจะมีบริการด้านความสมบูรณ์และการรับรองที่ช่วยในการดูแลให้ผู้ใช้ได้รับประสบการณ์การใช้งานในแอปและเกมอย่างที่คุณตั้งใจเมื่อจัดเตรียมรุ่น คุณจะเห็นปุ่มรับการปกป้องความสมบูรณ์หรือจัดการการปกป้องความสมบูรณ์ จากนั้นคุณสามารถเปิดการปกป้องความสมบูรณ์ได้โดยคลิกใช่ เปิดเลย ใต้ "การปกป้องอัตโนมัติ" Google Play จะรับรองรุ่นของคุณและเพิ่มการปกป้องความสมบูรณ์เพื่อจำกัดการปลอมแปลงและการจัดจำหน่ายโดยไม่ได้รับอนุญาต ซึ่งหมายความว่าการปกป้องอัตโนมัติเปิดอยู่
จัดเตรียมรุ่นให้เสร็จและบันทึกการเปลี่ยนแปลง
ใช้แทร็กทดสอบแต่ละแทร็กในการทดสอบแอปเวอร์ชันที่มีการปกป้อง เพื่อให้มั่นใจว่าจะไม่มีผลกระทบที่ไม่คาดคิดต่อประสบการณ์ของผู้ใช้หรือประสิทธิภาพ
เราขอแนะนำให้รวมการดำเนินการต่อไปนี้ในการตรวจสอบของคุณด้วย
- ทดสอบการเปิดของเกม มองหาข้อขัดข้องเมื่อเปิด และเวลาในการเปิดเกมที่ช้าลง
- ทดสอบช่วงเวลาที่โค้ดแบบเนทีฟ (C/C++) เรียกกลับออกมาที่ Java (ในโค้ดของคุณเองหรือในไลบรารีของบุคคลที่สาม) เช่น โฆษณา การบันทึก การโต้ตอบในโซเชียล การตรวจสอบสิทธิ์ หรือฟีเจอร์เฉพาะของ Android เช่น การจัดการสิทธิ์
หากพบปัญหาระหว่างขั้นตอนการตรวจสอบ คุณสามารถเลือกที่จะเปลี่ยนกลับไปใช้การปกป้องอัตโนมัติเวอร์ชันก่อนหน้าที่คุณใช้อยู่แล้วในรุ่นก่อนหน้านี้หรือจะปิดการปกป้องอัตโนมัติก็ได้ สำหรับเวอร์ชันที่ไม่มีการปกป้อง เราขอแนะนำว่าอย่าโปรโมตเป็นแทร็กแบบเปิดหรือเวอร์ชันที่ใช้งานจริง
วิธีปิดการปกป้องความสมบูรณ์ในแต่ละรุ่น
- เมื่อจัดเตรียมรุ่น ให้คลิกจัดการการปกป้องความสมบูรณ์
- ในส่วน "การปกป้องอัตโนมัติ" ให้เลือกการปกป้องเวอร์ชันก่อนหน้าหรือปิดการปกป้องของรุ่นนี้
- บันทึกการเปลี่ยนแปลง การเปลี่ยนแปลงจะมีผลกับรุ่นนี้ เมื่อคุณอัปโหลดรุ่นในครั้งถัดไป รุ่นดังกล่าวจะได้รับการปกป้องเวอร์ชันล่าสุดที่มีประสิทธิภาพสูงสุดอีกครั้ง
เมื่อพร้อมแล้ว คุณสามารถเปิดตัวรุ่นเป็นแทร็กเวอร์ชันที่ใช้งานจริงใน Play Console ซึ่งจะทำให้แอปที่มีการปกป้องของคุณพร้อมให้บริการสำหรับผู้ใช้ Google Play ทุกคนในประเทศที่คุณเลือก
ปรับแต่งข้อมูลผลิตภัณฑ์ใน Store เมื่อผู้ใช้เข้าชมจากกล่องโต้ตอบการปกป้องความสมบูรณ์
การปกป้องอัตโนมัติจะแสดงข้อความเตือนผู้ใช้ที่ได้รับแอปของคุณอย่างไม่เป็นทางการให้ดาวน์โหลดจาก Google Play เมื่อผู้ใช้แตะกล่องโต้ตอบ ระบบจะเปลี่ยนเส้นทางผู้ใช้ไปยังข้อมูลผลิตภัณฑ์ใน Store ของคุณ ซึ่งเป็นที่ที่ผู้ใช้จะแตะปุ่มติดตั้ง (หรือซื้อหรืออัปเดต) เพื่อดาวน์โหลดแอปจาก Play ได้ เพื่อให้ระบบเพิ่มแอปลงในคลัง Play ของผู้ใช้
คุณปรับแต่งเนื้อหาข้อมูลผลิตภัณฑ์ใน Store สำหรับผู้เข้าชมที่แตะกล่องโต้ตอบการปกป้องความสมบูรณ์ได้ ซึ่งรวมถึงชื่อแอป ไอคอน คำอธิบาย และเนื้อหากราฟิก วิธีปรับแต่งข้อมูลผลิตภัณฑ์ใน Store เมื่อผู้ใช้เข้าชมจากกล่องโต้ตอบการปกป้องความสมบูรณ์มีดังนี้
- เปิด Play Console แล้วไปที่หน้าความสมบูรณ์ของแอป (
ทดสอบและเผยแพร่
> ความสมบูรณ์ของแอป) - เลื่อนไปที่ส่วน "Play Integrity API"
- คลิกการตั้งค่า
- เลื่อนไปที่ส่วน "ปรับแต่งข้อมูลผลิตภัณฑ์ใน Store"
- คลิกสร้างข้อมูล
- ทำตามวิธีการในหน้าสร้างข้อมูลผลิตภัณฑ์ใน Store ที่กำหนดเอง แล้วคลิกบันทึก
หรือจะสร้างข้อมูลผลิตภัณฑ์ใน Store ที่กำหนดเองสำหรับกล่องโต้ตอบการปกป้องความสมบูรณ์จากหน้าข้อมูลผลิตภัณฑ์ใน Store ที่กำหนดเองโดยตรงก็ได้โดยทำดังนี้
- เปิด Play Console แล้วไปที่หน้าข้อมูลผลิตภัณฑ์ใน Store ที่กำหนดเอง (เพิ่มผู้ใช้ > ข้อมูลผลิตภัณฑ์ใน Store ที่กำหนดเอง)
- คลิกสร้างข้อมูล เลือกว่าจะสร้างข้อมูลใหม่หรือทำซ้ำข้อมูลที่มีอยู่ แล้วคลิกถัดไป
- ในส่วน "รายละเอียดข้อมูล" ให้เลื่อนไปที่กลุ่มเป้าหมาย
- เลือกตาม URL แล้วป้อน "playintegrity" ในกล่องข้อความ
- กรอกรายละเอียดอื่นๆ ทั้งหมดแล้วคลิกบันทึก
เคล็ดลับ: พารามิเตอร์ของ URL "playintegrity" เป็นคีย์เวิร์ดพิเศษที่สงวนไว้สำหรับ Deep Link ความสมบูรณ์ คุณจึงต้องป้อนพารามิเตอร์ดังกล่าวให้ตรงกันทุกประการและไม่เปลี่ยนแปลงเมื่อตั้งค่าข้อมูลผลิตภัณฑ์ใน Store ที่กำหนดเอง
แนวทางปฏิบัติที่แนะนำ
อย่าเผยแพร่แอปเวอร์ชันที่ไม่มีการปกป้อง
หากคุณเผยแพร่เวอร์ชันที่ไม่มีการปกป้องไปยังแทร็กแบบเปิดหรือผ่านช่องทางอื่นๆ นอก Google Play การปกป้องแอปจะไม่ทำงานอีกต่อไป คุณควรเผยแพร่เฉพาะแอปเวอร์ชันที่มีการปกป้องไปยังแทร็กแบบเปิดและเวอร์ชันที่ใช้งานจริงเพื่อคงการปกป้องความสมบูรณ์ของแอป
โปรดระมัดระวังเวลาใช้โซลูชันการป้องกันการปลอมแปลงหลายอย่างร่วมกัน
การปกป้องอัตโนมัติอาจเข้ากันไม่ได้กับโซลูชันการป้องกันการปลอมแปลงรันไทม์อื่นๆ และการพยายามใช้ฟีเจอร์เหล่านี้ร่วมกันอาจทำให้เกิดปัญหาของผู้ใช้ หากใช้การอนุญาตให้ใช้สิทธิของ Play ในแอปอยู่แล้ว คุณควรปิดตัวเลือก "ต้องมีการติดตั้งจาก Google Play" หากแอปดำเนินการตรวจสอบรันไทม์ด้วยวิธีอื่นๆ โปรดทำการทดสอบแอปที่มีการป้องกันอย่างละเอียดว่าไม่มีปัญหาใดๆ ก่อนที่จะเผยแพร่เป็นแทร็กแบบเปิด
ทดสอบแอปที่มีการปกป้อง
Google Play จะนำส่งบิลด์ที่ได้รับการปกป้องในทุกๆ แทร็กโดยอัตโนมัติ ไม่ว่าจะเป็นแทร็กทดสอบภายใน แบบปิด แบบเปิด หรือเวอร์ชันที่ใช้งานจริง คุณควรทดสอบเวอร์ชันเหล่านี้อย่างละเอียดถี่ถ้วนตามปกติ
หากคุณอัปโหลดบิลด์ของแอปไปยังการแชร์แอปภายในโดยตรง Google Play จะไม่เพิ่มการปกป้อง วิธีนี้ช่วยให้คุณใช้การแชร์แอปภายในเพื่ออัปโหลดบิลด์การแก้ไขข้อบกพร่องและบิลด์อื่นๆ ที่คล้ายกันได้
เมื่อคุณเข้าถึงลิงก์การแชร์แอปภายในสำหรับเวอร์ชันแอปที่มีการปกป้องใน App Bundle Explorer ระบบจะแชร์บิลด์ดังกล่าวเหมือนกับที่ Google Play ประมวลผลทุกประการ หากแอปเวอร์ชันดังกล่าวอัปโหลดไปยังแทร็กทดสอบและมีการปกป้อง ลิงก์การแชร์แอปภายในจาก App Bundle Explorer ก็จะนำส่งเวอร์ชันที่มีการปกป้อง คุณดูสถานะการปกป้องได้ในแท็บรายละเอียดของ App Bundle Explorer
ตรวจสอบข้อขัดข้อง
คุณอาจสังเกตเห็นว่ามีข้อขัดข้องที่เป็นฟังก์ชันของแอปที่มีการปกป้องมากขึ้น ซึ่งบ่งชี้ว่าการปกป้องอัตโนมัติกำลังทำงานตามที่คุณต้องการ หากผู้โจมตีปรับเปลี่ยนแอปของคุณไม่สำเร็จ การตรวจสอบรันไทม์จะป้องกันไม่ให้แอปทำงานโดยการทำให้แอปขัดข้องเป็นหลัก
ข้อขัดข้องที่ไม่ได้มีที่มาจาก Google Play จะไม่ส่งผลกระทบต่อเมตริกความเสถียรใน Android Vitals หากคุณใช้เครื่องมืออื่นๆ เพื่อวิเคราะห์ข้อขัดข้อง เช่น Crashlytics และต้องการกรองชื่อแพ็กเกจตามแหล่งที่มาในการติดตั้ง ชื่อแพ็กเกจของ Google Play Store คือ "com.android.vending"
หากกังวลเกี่ยวกับการเพิ่มขึ้นของข้อขัดข้องที่ไม่พึงประสงค์ คุณสามารถรายงานให้เราทราบโดยระบุรายละเอียดให้ได้มากที่สุด แล้วทีมของเราจะตรวจสอบให้ เราจะตอบกลับการรายงานของคุณหากพบว่าข้อขัดข้องดังกล่าวเกี่ยวข้องกับการปกป้อง
รายงานแอปเวอร์ชันที่ถูกแคร็ก
เวอร์ชันที่ถูกแคร็กคือเวอร์ชันของแอปที่ยังใช้งานได้เมื่อถูกปรับเปลี่ยนหรือเมื่อติดตั้งนอก Google Play หากคุณกำหนดให้มีการติดตั้งจาก Google Play
หากพบว่าแอปของคุณมีเวอร์ชันที่ถูกแคร็ก คุณรายงานให้เราทราบได้
ปรับปรุงการป้องกันการปลอมแปลง
การแชร์การวัดและส่งข้อมูลทางไกลของแอป เช่น ข้อมูลประสิทธิภาพและสภาพแวดล้อมที่ไม่ระบุตัวตนกับ Google Play จะช่วยเราปรับปรุงความยืดหยุ่นและประสิทธิภาพของการป้องกันการปลอมแปลง คุณเลือกไม่ใช้การแชร์การวัดและส่งข้อมูลทางไกลของแอปได้โดยปิด "แชร์การวัดและส่งข้อมูลทางไกลของแอปกับ Google" ในหน้าการตั้งค่าการปกป้องอัตโนมัติ (
ทดสอบและเผยแพร่
> ความสมบูรณ์ของแอป แล้วเลื่อนลงไปที่การปกป้องอัตโนมัติ) ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ข้อมูลในการพัฒนาบริการของ Googleเนื้อหาที่เกี่ยวข้อง
- ดูวิดีโอเกี่ยวกับการปกป้องอัตโนมัตินี้
- ดูข้อมูลเกี่ยวกับบริการด้านความสมบูรณ์และการรับรองใน Play Console
- ดูข้อมูลเกี่ยวกับบริการด้านความสมบูรณ์และการรับรองในเว็บไซต์ของนักพัฒนาแอป Android