วิธีการทํางานของการอัปเดตแอป

คู่มือนี้จะอธิบายวิธีที่แพลตฟอร์ม Android และ Google Play จัดการการอัปเดตแอป รวมถึงกล่าวถึงตัวเลือกต่างๆ สำหรับนักพัฒนาแอปที่เผยแพร่แอปใน App Store หลายแห่ง

วิธีที่ Android จัดการการอัปเดตแอป

แอป Android ทุกแอปมีรหัสแอปพลิเคชันที่ไม่ซ้ำกันซึ่งคล้ายกับชื่อแพ็กเกจ Java หรือ Kotlin เช่น com.example.myapp รหัสนี้จะระบุแอปแต่ละรายการในอุปกรณ์โดยไม่ซ้ำกัน อุปกรณ์ Android จะติดตั้งแอปที่มีรหัสแอปพลิเคชันหนึ่งๆ ได้ครั้งละ 1 แอปเท่านั้น

แพลตฟอร์ม Android จะยอมรับการอัปเดตก็ต่อเมื่อเป็นไปตามเงื่อนไขต่อไปนี้

  • รหัสแอปพลิเคชันของอัปเดตต้องเหมือนกับแอปที่ติดตั้ง
  • ใบรับรองการรับรองของการอัปเดตต้องเหมือนกับใบรับรองการรับรองของแอปที่ติดตั้ง หรือต้องมีหลักฐานการเปลี่ยนที่ถูกต้อง
  • รหัสเวอร์ชันของการอัปเดตต้องสูงกว่าหรือเท่ากับรหัสเวอร์ชันของแอปที่ติดตั้ง
  • ในบางกรณี ผู้ใช้อาจต้องยอมรับการอัปเดต

โปรดทราบว่าไม่มีการป้องกันในตัวเพื่อป้องกันไม่ให้เครื่องมือติดตั้งต่างๆ อัปเดตแอปเมื่อการอัปเดตมีใบรับรอง Signing เดียวกันและรหัสเวอร์ชันเดียวกันหรือสูงกว่า

หากต้องการติดตั้งแอปที่ไม่เป็นไปตามเงื่อนไขข้างต้น ผู้ใช้ต้องถอนการติดตั้งเวอร์ชันที่ติดตั้งอยู่ก่อน ซึ่งจะเป็นการลบข้อมูลแอปทั้งหมดออกจากอุปกรณ์

วิธีที่ 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 หลายแห่ง

คุณควบคุมการอัปเดตข้ามร้านค้าได้ 2-3 วิธีเมื่อเผยแพร่แอปใน App Store หลายแห่ง ส่วนต่อไปนี้จะกล่าวถึงตัวเลือกเหล่านี้ รวมถึงข้อดีและข้อเสียที่อาจเกิดขึ้น

ป้องกันการอัปเดตข้ามร้านค้า

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

คุณอาจต้องลดการนำคีย์การลงนามมาใช้ซ้ำเพื่อลดความเสี่ยงจากการบุกรุกคีย์ ดังนั้นให้ใช้คีย์ App Signing ที่แตกต่างกันสำหรับ App Store แต่ละแห่ง เนื่องจากการดำเนินการดังกล่าวจะป้องกันไม่ให้มีการอัปเดตข้ามร้านค้า

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

อนุญาตให้อัปเดตข้ามร้านค้า

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

อย่างไรก็ตาม การดำเนินการนี้อาจทําให้ผู้ใช้พบปัญหาที่ไม่คาดคิด ทั้งนี้ขึ้นอยู่กับวิธีที่แต่ละ App Store เลือกใช้การอัปเดตแอปข้าม Store เช่น ผู้ใช้อาจปิดใช้การอัปเดตจาก Store หนึ่งโดยไม่รู้ตัวว่า Store อีกแห่งอาจยังให้บริการอัปเดตต่อไป

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