คู่มือนี้จะอธิบายวิธีที่แพลตฟอร์ม Android และ Google Play จัดการการอัปเดตแอป รวมถึงกล่าวถึงตัวเลือกต่างๆ สำหรับนักพัฒนาแอปที่เผยแพร่แอปใน App Store หลายแห่ง
วิธีที่ Android จัดการการอัปเดตแอป
แอป Android ทุกแอปมีรหัสแอปพลิเคชันที่ไม่ซ้ำกันซึ่งคล้ายกับชื่อแพ็กเกจ Java หรือ Kotlin เช่น com.example.myapp
รหัสนี้จะระบุแอปแต่ละแอปในอุปกรณ์โดยไม่ซ้ำกัน
อุปกรณ์ Android จะมีแอปที่มีรหัสแอปพลิเคชันที่ระบุติดตั้งได้เพียงแอปเดียวในแต่ละครั้ง
แพลตฟอร์ม Android จะยอมรับการอัปเดตได้ก็ต่อเมื่อเป็นไปตามเงื่อนไขต่อไปนี้
- รหัสแอปพลิเคชันของการอัปเดตต้องเหมือนกับแอปที่ติดตั้ง
- ใบรับรองการลงนามของการอัปเดตต้องเหมือนกับใบรับรองการลงนามของแอปที่ติดตั้ง หรือต้องมีหลักฐานการหมุนเวียนที่ใช้งานได้
- รหัสเวอร์ชันของการอัปเดตต้องสูงกว่าหรือเท่ากับรหัสเวอร์ชันของ แอปที่ติดตั้ง
- ในบางกรณี ผู้ใช้อาจต้องยอมรับ การอัปเดต
โปรดทราบว่าไม่มีการป้องกันในตัวเพื่อป้องกันไม่ให้โปรแกรมติดตั้งต่างๆ อัปเดต แอปเมื่อการอัปเดตมีใบรับรองการลงนามเดียวกันและรหัสเวอร์ชันเดียวกันหรือสูงกว่า
หากต้องการติดตั้งแอปที่ไม่เป็นไปตามเงื่อนไขข้างต้น ผู้ใช้ต้อง ถอนการติดตั้งเวอร์ชันที่ติดตั้งอยู่ในปัจจุบันก่อน ซึ่งจะลบข้อมูลแอปทั้งหมดออกจาก อุปกรณ์
วิธีที่ Google Play อัปเดตแอป
แนวทางของ Google Play ในการอัปเดตแอปอิงตามหลักการต่อไปนี้
- แจ้งข้อมูลล่าสุดให้ผู้ใช้ทราบ เราขอแนะนำให้อัปเดตแอปอยู่เสมอเพื่อรักษาความปลอดภัยของผู้ใช้จากปัญหาด้านความปลอดภัยและรับประโยชน์จากการปรับปรุงฟีเจอร์ล่าสุด
- เคารพทางเลือกของผู้ใช้ Google Play จะอัปเดตแอปที่เชื่อมโยงกับบัญชีของผู้ใช้และอิงตามค่ากำหนดการอัปเดตที่ผู้ใช้เลือก เช่น การอนุญาตหรือไม่อนุญาตให้ใช้ข้อมูลที่วัดปริมาณการใช้งาน
- เคารพทางเลือกของนักพัฒนาแอป Google Play ใช้ตัวเลือกการกำหนดค่าของนักพัฒนาแอป เมื่อพิจารณาการอัปเดตแอป
- หลีกเลี่ยงการใช้ทรัพยากรอย่างสูญเปล่า ประหยัดแบตเตอรี่โดยการเพิ่มประสิทธิภาพเมื่อดาวน์โหลดการอัปเดต และลดการใช้อินเทอร์เน็ตโดยใช้เทคนิคต่างๆ เช่น การบีบอัดและการแพตช์
สำหรับแอปที่ติดตั้งในอุปกรณ์ Google Play จะอัปเดตแอปหากเป็นไปตามเงื่อนไขต่อไปนี้
- แอปเผยแพร่ใน Google Play โดยใช้ รหัสแอปพลิเคชันเดียวกัน
- ใบรับรองการลงนามของแอปที่เผยแพร่ตรงกับใบรับรองการลงนามของเวอร์ชันที่ติดตั้งอยู่ในปัจจุบัน หรือมีหลักฐานแสดงการหมุนเวียนคีย์ที่ถูกต้อง
- แอปเป็นส่วนหนึ่งของคลังของผู้ใช้ หรือ OEM โหลดไว้ล่วงหน้า
- แอปพร้อมให้บริการสำหรับผู้ใช้และอุปกรณ์นี้ตาม ตัวเลือกการกำหนดเป้าหมายที่นักพัฒนาแอปกำหนด
- แอปที่ติดตั้งล้าสมัยเมื่อเทียบกับเวอร์ชัน ที่มีใน Google Play
ตราบใดที่ตรงตามเงื่อนไขเหล่านี้ Google Play จะอัปเดตแอปได้ ส่วนย่อยด้านล่างนี้จะให้รายละเอียดเกี่ยวกับเงื่อนไขบางอย่างที่ระบุไว้
โปรดทราบว่า Google Play จะดาวน์โหลดเนื้อหาแอปหรือ บำรุงรักษาไบนารีของแอปในนามของนักพัฒนาแอปโดยไม่เปลี่ยนแปลง รหัสเวอร์ชัน Android ในกรณีอื่นๆ ด้วย เช่น เมื่อดาวน์โหลดบางส่วนเสร็จสมบูรณ์หรือ ดาวน์โหลดการแยกตามต้องการ
เผยแพร่ใน Google Play
Google Play ใช้รหัสแอปพลิเคชันเพื่อระบุแอปพลิเคชันที่เผยแพร่ใน Google Play โดยไม่ซ้ำกัน เงื่อนไขนี้จะตรงตามข้อกำหนดหากรหัสแอปพลิเคชันของแอปที่ติดตั้ง ตรงกับรหัสแอปพลิเคชันของแอปที่เผยแพร่ใน Google Play
ส่วนหนึ่งของคลังของผู้ใช้
ระบบจะถือว่าตรงตามเงื่อนไขนี้หากเป็นไปตามข้อใดข้อหนึ่งต่อไปนี้
- บัญชี Google ที่ใช้งานอยู่ในอุปกรณ์ได้เคยรับแอปมาก่อนโดย แตะปุ่มติดตั้งหรือซื้อใน Google Play
- OEM โหลดแอปไว้ล่วงหน้าเป็นส่วนหนึ่งของอิมเมจระบบ
นอกจากนี้ ผู้ใช้ยังสามารถนำแอปออกจากคลังด้วยตนเองได้ด้วย
ล้าสมัย
Google Play จะพิจารณาว่าแอปที่ติดตั้งในอุปกรณ์ล้าสมัยหรือไม่โดยดูที่รหัสเวอร์ชัน หากเวอร์ชันที่พร้อมให้ดาวน์โหลดใน Google Play มีรหัสเวอร์ชันสูงกว่าเวอร์ชันที่ติดตั้ง Google Play จะถือว่าแอปที่ติดตั้งล้าสมัย
แอปใน App Store หลายแห่ง
คุณควบคุมการอัปเดตข้ามร้านค้าได้หลายวิธีเมื่อเผยแพร่ แอปใน App Store หลายแห่ง ส่วนต่อไปนี้จะครอบคลุมตัวเลือกเหล่านี้ รวมถึง ข้อดีและข้อเสียที่อาจเกิดขึ้น
ป้องกันการอัปเดตข้ามร้านค้า
คุณอาจต้องการป้องกันไม่ให้ App Store แต่ละแห่งทำการอัปเดตแอปข้าม Store สำหรับแอปของคุณ คุณอาจเลือกทำเช่นนี้หากเนื้อหาของแอปแตกต่างกันใน App Store แต่ละแห่ง โดยสามารถทำได้ด้วยการเผยแพร่แอปที่มีรหัสแอปพลิเคชัน 2 รหัสที่แตกต่างกัน หรือเผยแพร่แอปที่มีรหัสแอปพลิเคชันเดียวกันและคีย์การลงนาม 2 คีย์ที่แตกต่างกัน
คุณอาจต้องการลดการนำคีย์การลงนามมาใช้ซ้ำเพื่อลดความเสี่ยงจากการประนีประนอมคีย์ และใช้คีย์ App Signing ที่แตกต่างกันสำหรับ App Store แต่ละแห่ง การทำเช่นนี้ จะป้องกันการอัปเดตข้ามร้านค้า
ไม่ว่าคุณจะเลือกใช้วิธีใดก็ตาม Android จะถือว่าแอปที่ไม่มีรหัสแอปพลิเคชันและคีย์การลงนามที่ตรงกันเป็นแอปที่เข้ากันไม่ได้ ผู้ใช้ที่ต้องการเปลี่ยนจาก ร้านค้าหนึ่งไปยังอีกร้านค้าหนึ่งจะต้องลบแอปที่ติดตั้งไว้ ซึ่งจะลบข้อมูลทั้งหมด ที่เชื่อมโยงกับแอปนั้น และติดตั้งใหม่จากร้านค้าอื่น
อนุญาตการอัปเดตข้ามร้านค้า
คุณอาจต้องการอนุญาตให้ App Store แต่ละแห่งอัปเดตแอปข้าม Store สำหรับแอปของคุณ คุณอาจเลือกทำเช่นนี้หากเผยแพร่แอปที่มีเนื้อหาเดียวกันใน App Store ทั้งหมด และต้องการให้ผู้ใช้ได้รับข้อมูลล่าสุด ตราบใดที่คุณใช้รหัสแอปพลิเคชันและคีย์การลงนามเดียวกันใน App Store ทั้งหมด ที่คุณเผยแพร่แอป App Store แต่ละแห่งจะสามารถอัปเดต การติดตั้งแอปของคุณได้ไม่ว่าผู้ใช้จะดาวน์โหลดแอปจากที่ใด ในตอนแรก
อย่างไรก็ตาม การดำเนินการนี้อาจทำให้ผู้ใช้ได้รับประสบการณ์ที่ไม่คาดคิด ทั้งนี้ขึ้นอยู่กับวิธีที่ แต่ละ App Store เลือกใช้การอัปเดตแอปข้าม Store เช่น ผู้ใช้อาจปิดใช้การอัปเดตจากร้านค้าหนึ่งโดยไม่ทราบว่าร้านค้าอื่นอาจ ยังคงให้การอัปเดตต่อไป
หากก่อนหน้านี้คุณอนุญาตให้อัปเดตข้าม Store แต่ต้องการเริ่มเลือกแหล่งที่มาของการอัปเดต ที่เฉพาะเจาะจงเมื่อมีในอุปกรณ์ คุณสามารถเผยแพร่แอปที่มีรหัสเวอร์ชันสูงกว่าใน App Store ที่ต้องการ และเผยแพร่แอปที่มีรหัสเวอร์ชันต่ำกว่าใน App Store อื่นๆ ต่อไปได้ เมื่อติดตั้งการอัปเดตรหัสเวอร์ชันที่สูงกว่า จากแหล่งที่มาที่ต้องการแล้ว App Store อื่นๆ จะอัปเดตข้ามในอุปกรณ์นั้นไม่ได้