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

คู่มือนี้จะอธิบายวิธีที่แพลตฟอร์ม 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 อื่นๆ จะอัปเดตข้ามในอุปกรณ์นั้นไม่ได้