หากจะใช้ Play App Signing คุณต้องเป็นเจ้าของบัญชีหรือผู้ใช้ที่มีสิทธิ์เผยแพร่เป็นเวอร์ชันที่ใช้งานจริง ทำการยกเว้นอุปกรณ์ และใช้ Play App Signing รวมถึงต้องยอมรับข้อกำหนดในการให้บริการของ Play App Signing
วิธีการทำงาน
เมื่อใช้ Play App Signing ระบบจะเก็บคีย์ของคุณไว้ในโครงสร้างพื้นฐานที่มีความปลอดภัยเดียวกันกับที่ Google ใช้เก็บคีย์ของตัวเอง และคีย์จะได้รับการปกป้องโดยบริการการจัดการคีย์ของ Google ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างพื้นฐานของ Google ได้ในสมุดปกขาวเกี่ยวกับความปลอดภัยของ Google Cloud
ในการรับรองแอป Android จะต้องมีคีย์ส่วนตัว โดยแต่ละคีย์จะมีใบรับรองสาธารณะเชื่อมโยงอยู่เพื่อให้อุปกรณ์และบริการต่างๆ ใช้ยืนยันว่าอัปเดตของแอปนั้นมาจากแหล่งเดียวกันและน่าเชื่อถือ อุปกรณ์ต่างๆ จะยอมรับอัปเดตเฉพาะเมื่อลายเซ็นของอัปเดตนั้นตรงกับลายเซ็นของแอปที่ติดตั้งอยู่ การอนุญาตให้ Google จัดการคีย์ App Signing ของคุณจะทำให้ขั้นตอนนี้ปลอดภัยยิ่งขึ้น
หมายเหตุ: สำหรับแอปที่สร้างขึ้นก่อนเดือนสิงหาคม 2021 คุณจะยังคงอัปโหลด APK และจัดการคีย์ของตนเองได้ แทนที่จะใช้ Play App Signing และเผยแพร่ด้วย Android App Bundle อย่างไรก็ตาม หากคีย์สโตร์ของคุณสูญหายหรือถูกแฮ็ก คุณจะอัปเดตแอปไม่ได้ถ้าไม่เผยแพร่แอปใหม่พร้อมด้วยชื่อแพ็กเกจใหม่ สำหรับแอปเหล่านี้ Play แนะนําให้ใช้ Play App Signing และเปลี่ยนไปใช้ App Bundle
คำอธิบายของคีย์ อาร์ติแฟกต์ และเครื่องมือต่างๆคำศัพท์ | คำอธิบาย |
---|---|
คีย์ App Signing |
คีย์ที่ Google Play ใช้รับรอง APK ที่ส่งไปยังอุปกรณ์ของผู้ใช้ เมื่อใช้ Play App Signing คุณจะอัปโหลดคีย์ App Signing ที่มีอยู่ หรือให้ Google สร้างคีย์ให้คุณก็ได้ โปรดเก็บคีย์ App Signing ไว้เป็นความลับ แต่คุณจะแชร์ใบรับรองสาธารณะของแอปกับผู้อื่นได้ |
คีย์การอัปโหลด |
คีย์ที่คุณใช้รับรอง App Bundle ก่อนที่จะอัปโหลดไปยัง Google Play โปรดเก็บคีย์การอัปโหลดไว้เป็นความลับ แต่คุณจะแชร์ใบรับรองสาธารณะของแอปกับผู้อื่นได้ คีย์ App Signing และคีย์การอัปโหลดควรจะแตกต่างกันเพื่อความปลอดภัย การสร้างคีย์การอัปโหลดมี 2 วิธีดังนี้
|
ใบรับรอง (.der หรือ .pem ) |
ใบรับรองจะมีคีย์สาธารณะและข้อมูลเพิ่มเติมที่ระบุตัวตนของผู้ที่เป็นเจ้าของคีย์ ใบรับรองคีย์สาธารณะจะยอมให้ใครก็ได้ยืนยันผู้ที่รับรอง App Bundle หรือ APK โดยคุณจะแชร์ใบรับรองดังกล่าวกับทุกคนได้เพราะไม่มีคีย์ส่วนตัวของคุณอยู่ในนั้น หากต้องการลงทะเบียนคีย์กับผู้ให้บริการ API คุณสามารถดาวน์โหลดใบรับรองสาธารณะสำหรับคีย์ App Signing และคีย์การอัปโหลดได้จากหน้า Play App Signing ( ทดสอบและเผยแพร่ > การตั้งค่า > App Signing) ใน Play Console คุณแชร์ใบรับรองคีย์สาธารณะกับใครก็ได้ เพราะไม่มีคีย์ส่วนตัวของคุณอยู่ในนั้น |
ลายนิ้วมือของใบรับรอง |
สิ่งที่ใช้แสดงแทนใบรับรองซึ่งเป็นชุดอักขระสั้นๆ และไม่ซ้ำ ผู้ให้บริการ API มักจะขอสิ่งที่ใช้แสดงแทนนี้พร้อมด้วยชื่อแพ็กเกจเพื่อลงทะเบียนแอปพลิเคชันที่จะใช้บริการของตน ลายนิ้วมือ MD5, SHA-1 และ SHA-256 ของใบรับรองการอัปโหลดและ App Signing มีอยู่ในหน้า Play App Signing (ทดสอบและเผยแพร่ > การตั้งค่า > App Signing) ใน Play Console ส่วนลายนิ้วมืออื่นๆ ก็คำนวณได้ด้วยการดาวน์โหลดใบรับรองเดิม (.der ) จากหน้าเดียวกัน |
Java Keystore (.jks หรือ .keystore ) |
ที่เก็บใบรับรองความปลอดภัยและคีย์ส่วนตัว |
เครื่องมือ Play Encrypt Private Key (PEPK) |
เครื่องมือสำหรับส่งออกคีย์ส่วนตัวจาก Java Keystore และเข้ารหัสเพื่อโอนไปยัง Google Play เมื่อคุณให้คีย์ App Signing แก่ Google เพื่อนำไปใช้ โปรดเลือกตัวเลือกให้ส่งออกและอัปโหลดคีย์ (และใบรับรองสาธารณะของคีย์นั้นด้วย หากจำเป็น) และทำตามวิธีการเพื่อดาวน์โหลดและใช้เครื่องมือ คุณจะดาวน์โหลด ตรวจสอบ และใช้โค้ดโอเพนซอร์สของเครื่องมือ PEPK ก็ได้หากต้องการ |
ต่อไปนี้เป็นขั้นตอนการทำ App Signing
- ลงนาม App Bundle และอัปโหลดลงใน Play Console
- Google สร้าง APK ที่มีการเพิ่มประสิทธิภาพจาก App Bundle ของคุณและรับรองโดยใช้คีย์ App Signing
- Google ใช้ apksigner เพื่อเพิ่มแสตมป์ 2 รายการลงในไฟล์ Manifest ของแอป (
com.android.stamp.source
และcom.android.stamp.type
) จากนั้นจึงรับรอง APK ด้วยคีย์ App Signing แสตมป์ที่เพิ่มโดย apksigner จะช่วยให้ติดตามได้ว่าใครเป็นผู้รับรอง APK - Google นำส่ง APK ที่รับรองแล้วแก่ผู้ใช้
ตั้งค่าและจัดการ Play App Signing
หากแอปยังไม่ได้ใช้ Play App Signing โปรดทำตามวิธีการด้านล่าง
ขั้นตอนที่ 1: สร้างคีย์การอัปโหลด
- สร้างคีย์การอัปโหลดโดยทำตามวิธีการ
- รับรอง App Bundle ด้วยคีย์การอัปโหลด
ขั้นตอนที่ 2: เตรียมรุ่นให้พร้อม
- ทำตามวิธีการเพื่อเตรียมพร้อมและเปิดตัวรุ่น
- หลังจากเลือกแทร็กที่เผยแพร่ ส่วน "ความสมบูรณ์ของแอป" จะแสดงสถานะของ Play App Signing สำหรับแอปของคุณ
- หากต้องการใช้คีย์ App Signing ที่ Google สร้างขึ้น ให้อัปโหลด App Bundle หรือเลือกเปลี่ยนคีย์ App Signing เพื่อเข้าถึงตัวเลือกต่อไปนี้
- ใช้คีย์ App Signing ที่ Google สร้าง: แอปใหม่มากกว่า 90% ใช้คีย์ App Signing ที่ Google สร้างขึ้น การใช้คีย์ที่ Google สร้างขึ้นจะช่วยป้องกันไม่ให้คีย์สูญหายหรือถูกขโมย (คีย์จะดาวน์โหลดไม่ได้) หากเลือกตัวเลือกนี้ คุณจะดาวน์โหลด APK การเผยแพร่ได้จาก App Bundle Explorer ที่รับรองด้วยคีย์ที่ Google สร้างขึ้นสำหรับช่องการเผยแพร่อื่นๆ หรือใช้คีย์อื่น
- ใช้คีย์ App Signing อื่น: การเลือกคีย์ App Signing ช่วยให้คุณใช้คีย์เดียวกับอีกแอปหนึ่งในบัญชีนักพัฒนาแอป หรือเก็บสําเนาของคีย์ App Signing ไว้ในเครื่องเพื่อการใช้งานที่ยืดหยุ่นมากยิ่งขึ้นได้ เช่น คุณอาจมีคีย์อยู่แล้วเนื่องจากมีการติดตั้งแอปของคุณไว้ล่วงหน้าในอุปกรณ์บางเครื่อง การเก็บสำเนาคีย์นอกเซิร์ฟเวอร์ของ Google จะเพิ่มความเสี่ยงหากสำเนาในเครื่องถูกขโมยไป คุณมีตัวเลือกในการใช้คีย์อื่นดังต่อไปนี้
- ใช้คีย์ App Signing เดียวกันกับอีกแอปหนึ่งในบัญชีนักพัฒนาแอปนี้
- ส่งออกและอัปโหลดคีย์จาก Java Keystore
- ส่งออกและอัปโหลดคีย์ (ไม่ใช้ Java Keystore)
- เลือกไม่ใช้ Play App Signing (คุณควรเลือกตัวเลือกนี้เฉพาะในกรณีที่มีแผนอัปเกรดคีย์ App Signing เพื่อลงทะเบียนใน Play App Signing)
- ทำตามวิธีการที่เหลือเพื่อเตรียมพร้อมและเปิดตัวรุ่น
หมายเหตุ: คุณต้องยอมรับข้อกำหนดในการให้บริการและเลือกใช้ App Signing เพื่อดำเนินการต่อ
ขั้นตอนที่ 3: ลงทะเบียนคีย์ App Signing กับผู้ให้บริการ API
หากแอปใช้ API คุณจะต้องลงทะเบียนคีย์ App Signing กับ API เพื่อวัตถุประสงค์ด้านการตรวจสอบสิทธิ์โดยใช้ลายนิ้วมือของใบรับรอง คุณดูใบรับรองได้โดยทำดังนี้
- เปิด Play Console แล้วไปที่หน้า Play App Signing (
ทดสอบและเผยแพร่
> การตั้งค่า > App Signing)- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
ทดสอบและเผยแพร่
> ความสมบูรณ์ของแอป) ซึ่งมีบริการด้านความสมบูรณ์และการรับรองที่ช่วยให้คุณมั่นใจได้ว่าผู้ใช้จะได้รับประสบการณ์การใช้งานแอปและเกมในแบบที่คุณต้องการ
- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
- เลื่อนไปที่ส่วน "ใบรับรองคีย์ App Signing" แล้วคัดลอกลายนิ้วมือ (MD5, SHA-1 และ SHA-256) ของใบรับรอง App Signing
- หากผู้ให้บริการ API ต้องการลายนิ้วมือประเภทอื่น คุณจะดาวน์โหลดใบรับรองต้นฉบับในรูปแบบ
.der
และแปลงใบรับรองโดยใช้เครื่องมือเปลี่ยนรูปแบบที่ผู้ให้บริการ API กำหนดให้ใช้ได้ด้วย
- หากผู้ให้บริการ API ต้องการลายนิ้วมือประเภทอื่น คุณจะดาวน์โหลดใบรับรองต้นฉบับในรูปแบบ
เมื่อคุณใช้คีย์ที่ Google สร้างขึ้น Google จะสร้างคีย์ RSA ที่มีการเข้ารหัสที่รัดกุมโดยอัตโนมัติ ซึ่งก็คือ 4,096 บิต หากคุณเลือกอัปโหลดคีย์ App Signing ของคุณเอง คีย์ดังกล่าวต้องเป็นคีย์ RSA ที่มีขนาด 2,048 บิตขึ้นไป
ขั้นตอนที่ 1: กำหนดค่า Play App Signing
- เปิด Play Console แล้วไปที่หน้า Play App Signing (
ทดสอบและเผยแพร่
> การตั้งค่า > App Signing)- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
ทดสอบและเผยแพร่
> ความสมบูรณ์ของแอป) ซึ่งมีบริการด้านความสมบูรณ์และการรับรองที่ช่วยให้คุณมั่นใจได้ว่าผู้ใช้จะได้รับประสบการณ์การใช้งานแอปและเกมในแบบที่คุณต้องการ
- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
- หากยังไม่ได้อ่าน โปรดอ่านข้อกำหนดในการให้บริการของ Play App Signing และเลือกยอมรับ
ขั้นตอนที่ 2: ส่งสำเนาของคีย์เดิมไปยัง Google และสร้างคีย์การอัปโหลด
- หาคีย์ App Signing เดิมของคุณ
- เปิด Play Console แล้วไปที่หน้า Play App Signing (
ทดสอบและเผยแพร่
> การตั้งค่า > App Signing) - เลือกตัวเลือกการส่งออกและการอัปโหลดที่เหมาะกับขั้นตอนการเปิดตัวของคุณมากที่สุด แล้วอัปโหลดคีย์ App Signing ที่มีอยู่
ขั้นตอนที่ 3: สร้างคีย์การอัปโหลด (ไม่บังคับ แต่แนะนำ)
- สร้างคีย์การอัปโหลดและอัปโหลดใบรับรองไปยัง Google Play
- คุณจะใช้คีย์ App Signing เป็นคีย์การอัปโหลดต่อไปได้ด้วย
- คัดลอกลายนิ้วมือ (MD5, SHA-1 และ SHA-256) ของใบรับรอง App Signing
- สำหรับการทดสอบ คุณอาจต้องลงทะเบียนใบรับรองของคีย์การอัปโหลดกับผู้ให้บริการ API โดยใช้ลายนิ้วมือของใบรับรองและคีย์ App Signing
ขั้นตอนที่ 4: รับรองการอัปเดตแอปครั้งถัดไปด้วยคีย์การอัปโหลด
เมื่อเปิดตัวอัปเดตของแอป คุณจะต้องรับรองอัปเดตด้วยคีย์การอัปโหลด
- หากคุณไม่ได้สร้างคีย์การอัปโหลดใหม่ ให้ใช้คีย์ App Signing เดิมต่อไปเพื่อรับรอง App Bundle ต่างๆ ก่อนที่จะอัปโหลดรุ่นไปยัง Google Play ในกรณีที่คีย์ App Signing เดิมสูญหาย ให้สร้างคีย์การอัปโหลดใหม่และลงทะเบียนคีย์กับ Google เพื่ออัปเดตแอปต่อไป
- หากคุณสร้างคีย์การอัปโหลดใหม่ ให้ใช้คีย์การอัปโหลดใหม่เพื่อรับรอง App Bundle ต่างๆ ก่อนที่จะอัปโหลดรุ่นไปยัง Google Play Google จะใช้คีย์การอัปโหลดเพื่อยืนยันตัวตนของคุณ ในกรณีที่คีย์การอัปโหลดสูญหาย คุณติดต่อทีมสนับสนุนเพื่อรีเซ็ตคีย์ได้
คุณอาจต้องอัปเกรดคีย์หากไม่สามารถแชร์คีย์ที่มีอยู่ ก่อนเลือกที่จะอัปเกรดคีย์ App Signing เพื่อลงทะเบียน โปรดทราบว่า
- ตัวเลือกนี้กำหนดให้มีรุ่นคู่
- คุณจะต้องอัปโหลด App Bundle และ APK ที่รับรองด้วยคีย์เดิมของคุณในทุกรุ่น Google Play จะใช้ App Bundle เพื่อสร้าง APK ที่รับรองด้วยคีย์ใหม่สำหรับอุปกรณ์ใน Android R* (API ระดับ 30) ขึ้นไป APK เดิมของคุณจะใช้สำหรับ Android รุ่นที่เก่ากว่า (ไม่เกิน API ระดับ 29)
*หากแอปใช้ sharedUserId
ขอแนะนำให้ใช้การอัปเกรดคีย์สำหรับการติดตั้งและการอัปเดตในอุปกรณ์ที่ใช้ Android T (API ระดับ 33) ขึ้นไป ในการกำหนดค่า โปรดตั้งค่าเวอร์ชัน SDK ขั้นต่ำที่ถูกต้องในการกำหนดค่า Bundle
ขั้นตอนที่ 1: อัปโหลดคีย์ใหม่ แล้วสร้างและอัปโหลดหลักฐานแสดงการหมุนเวียนคีย์
คุณต้องอัปโหลดคีย์ Signing ใหม่จากที่เก็บ แล้วสร้างและอัปโหลดหลักฐานแสดงการหมุนเวียนคีย์เพื่อให้อุปกรณ์ Android เชื่อถือคีย์ใหม่ โดยทำดังนี้
- เปิด Play Console แล้วไปที่หน้า Play App Signing (
ทดสอบและเผยแพร่
> การตั้งค่า > App Signing)- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
ทดสอบและเผยแพร่
> ความสมบูรณ์ของแอป) ซึ่งมีบริการด้านความสมบูรณ์และการรับรองที่ช่วยให้คุณมั่นใจได้ว่าผู้ใช้จะได้รับประสบการณ์การใช้งานแอปและเกมในแบบที่คุณต้องการ
- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
- เลือกแท็บ App Signing
- คลิกแสดงตัวเลือกขั้นสูง แล้วเลือกใช้คีย์ App Signing ใหม่ (ต้องใช้รุ่นคู่อย่างต่อเนื่อง)
- เลือกใช้คีย์ App Signing เดียวกันกับอีกแอปหนึ่งในบัญชีนักพัฒนาแอป หรืออัปโหลดคีย์ App Signing ใหม่จาก Android Studio, Java KeyStore หรือที่เก็บอื่น
- ทำตามวิธีการบนหน้าจอเพื่อดาวน์โหลดและเรียกใช้เครื่องมือ PEPK
- เมื่อไฟล์ ZIP พร้อมแล้ว ให้คลิกอัปโหลดไฟล์ ZIP ที่สร้างขึ้น แล้วอัปโหลดไฟล์ดังกล่าวไปยัง Play Console
- ข้าง "5. ทำให้อุปกรณ์ Android เชื่อถือคีย์ใหม่ด้วยการอัปโหลดหลักฐานแสดงการหมุนเวียนคีย์" ให้คลิกแสดงวิธีการ
- ดาวน์โหลด APKSigner และสร้างหลักฐานแสดงการหมุนเวียนคีย์โดยเรียกใช้คำสั่งนี้
$ apksigner rotate --out /path/to/new/file --old-signer --ks old-signer-jks --set-rollback true --new-signer --ks new-signer-jks --set-rollback true
- คลิกอัปโหลดไฟล์หลักฐานแสดงการหมุนเวียนคีย์ที่สร้างขึ้น แล้วอัปโหลดหลักฐานแสดงการหมุนเวียนคีย์ที่สร้างขึ้นในขั้นตอนที่ 8
- คลิกบันทึก
สร้างคีย์การอัปโหลดและอัปเดตคีย์สโตร์
ขอแนะนำให้รับรองแอปด้วยคีย์การอัปโหลดใหม่แทนที่จะใช้คีย์ App Signing เพื่อให้ปลอดภัยยิ่งขึ้น
คุณสร้างคีย์การอัปโหลดได้เมื่อเลือกใช้ Play App Signing หรือจะสร้างคีย์การอัปโหลดในภายหลังก็ได้โดยไปที่หน้า Play App Signing (
ทดสอบและเผยแพร่
> การตั้งค่า > App Signing)วิธีสร้างคีย์การอัปโหลด
- ทำตามวิธีการในเว็บไซต์ของนักพัฒนาแอป Android เก็บคีย์นี้ไว้ในที่ปลอดภัย
- ส่งออกใบรับรองของคีย์การอัปโหลดเป็นรูปแบบ PEM โดยแทนที่อาร์กิวเมนต์ที่ขีดเส้นใต้ต่อไปนี้
$ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem
-
เมื่อได้รับแจ้งในระหว่างขั้นตอนการเปิดตัวรุ่น ให้อัปโหลดใบรับรองเพื่อลงทะเบียนกับ Google
เมื่อคุณใช้คีย์การอัปโหลด
- คีย์การอัปโหลดจะลงทะเบียนกับ Google เท่านั้นเพื่อใช้ยืนยันตัวตนของผู้สร้างแอป
- ระบบจะนำลายเซ็นของคุณออกจาก APK ทั้งหมดที่อัปโหลดไว้ก่อนที่จะส่งไปยังผู้ใช้
- ต้องเป็นคีย์ RSA ที่เป็นแบบ 2,048 บิตขึ้นไป
หลังจากสร้างคีย์การอัปโหลด คุณอาจต้องการตรวจสอบและอัปเดตในที่ต่างๆ ต่อไปนี้
- คอมพิวเตอร์ใน LAN
- เซิร์ฟเวอร์ภายในที่ล็อก (ACL ที่แตกต่างกัน)
- เครื่องในระบบคลาวด์ (ACL ที่แตกต่างกัน)
- บริการเฉพาะสำหรับการจัดการความลับ
- ที่เก็บ (Git)
อัปเกรดคีย์ App Signing
ในบางสถานการณ์ คุณจะขอการอัปเกรดคีย์ App Signing ได้
สาเหตุสำหรับการขอการอัปเกรดคีย์ App Signing มีอยู่ 2 ข้อดังนี้
- คุณต้องการคีย์ที่มีการเข้ารหัสที่รัดกุมกว่า
- คีย์ App Signing ของคุณถูกแฮ็ก
สำคัญ: สามารถอัปเกรดคีย์ได้ในแอปที่ใช้ App Bundle เท่านั้น
ก่อนขอการอัปเกรดคีย์ใน Play Console ให้อ่านส่วนสิ่งสำคัญที่ควรพิจารณาก่อนขอการอัปเกรดคีย์ที่ด้านล่าง จากนั้นคุณสามารถขยายส่วนอื่นๆ ด้านล่างเพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการขอการอัปเกรดคีย์
สิ่งสำคัญที่ควรพิจารณาก่อนขอการอัปเกรดคีย์ก่อนขอการอัปเกรดคีย์ โปรดทราบถึงสิ่งที่คุณอาจต้องเปลี่ยนแปลงหลังจากที่อัปเกรดคีย์เรียบร้อยแล้ว
- หากคุณใช้คีย์ App Signing เดียวกันสำหรับแอปหลายแอปเพื่อแชร์ข้อมูล/โค้ดระหว่างแอป คุณจะต้องอัปเดตแอปเหล่านั้นเพื่อให้แอปรู้จักใบรับรองคีย์ App Signing ทั้งอันใหม่และอันเดิม สำหรับอุปกรณ์ที่ใช้ Android S (API ระดับ 32) หรือต่ำกว่า แพลตฟอร์ม Android จะรู้จักเฉพาะใบรับรองคีย์ App Signing เดิมเท่านั้นเพื่อจุดประสงค์ในการแชร์ข้อมูล/โค้ด
- หากแอปใช้ API อย่าลืมลงทะเบียนใบรับรองสำหรับคีย์ App Signing ทั้งอันใหม่และอันเดิมกับผู้ให้บริการ API ก่อนเผยแพร่อัปเดตเพื่อให้มั่นใจว่า API จะทำงานต่อได้ โดยใบรับรองจะอยู่ในหน้า Play App Signing (
ทดสอบและเผยแพร่
> การตั้งค่า > App Signing) ใน Play Console - หากมีผู้ใช้ติดตั้งอัปเดตผ่านการแชร์แบบเพียร์ทูเพียร์ ผู้ใช้เหล่านั้นก็จะมีสิทธิ์ติดตั้งเพียงอัปเดตที่รับรองด้วยคีย์เดียวกับเวอร์ชันของแอปซึ่งติดตั้งไว้อยู่แล้ว หากผู้ใช้อัปเดตแอปไม่ได้เพราะมีแอปเวอร์ชันที่รับรองด้วยคีย์อื่น ผู้ใช้จะมีตัวเลือกในการถอนการติดตั้งและติดตั้งแอปอีกครั้งเพื่อรับการอัปเดต
แอปแต่ละแอปจะอัปเกรดคีย์ App Signing ของการติดตั้งทั้งหมดใน Android N (API ระดับ 24) ขึ้นไปได้ครั้งเดียวในแต่ละปี
หากคุณขอการอัปเกรดคีย์นี้สำเร็จ ระบบจะใช้คีย์ใหม่เพื่อรับรองการติดตั้งและอัปเดตแอปทั้งหมด สำหรับอุปกรณ์ที่ใช้ Android T (API ระดับ 33) ขึ้นไป แพลตฟอร์ม Android จะบังคับให้ใช้คีย์ที่อัปเกรดแล้ว สำหรับอุปกรณ์ที่ใช้ Android S (API ระดับ 32) หรือต่ำกว่า แพลตฟอร์ม Android จะไม่บังคับให้ใช้คีย์ที่อัปเกรดแล้วนี้และยังคงรู้จักว่าคีย์ Signing เดิมเป็นคีย์ Signing ของแอป ซึ่งรวมถึงฟีเจอร์ทั้งหมดของแพลตฟอร์ม Android (เช่น การแชร์สิทธิ์ที่กำหนดเอง) ที่ใช้คีย์ Signing ของแอปด้วย Google Play Protect จะตรวจสอบว่าอัปเดตแอปรับรองด้วยคีย์ที่อัปเกรดแล้วในอุปกรณ์ที่ใช้ Android N (API ระดับ 24) ถึง Android S (API ระดับ 32) เว้นแต่ว่าผู้ใช้จะปิดไว้ การดำเนินการนี้เป็นการตรวจสอบเพิ่มเติมเนื่องจากแพลตฟอร์ม Android ไม่ได้บังคับให้ใช้คีย์ที่อัปเกรดแล้วในอุปกรณ์ที่ใช้ Android S (API ระดับ 32) หรือต่ำกว่า
- เปิด Play Console แล้วไปที่หน้า Play App Signing (
ทดสอบและเผยแพร่
> การตั้งค่า > App Signing)- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
ทดสอบและเผยแพร่
> ความสมบูรณ์ของแอป) ซึ่งมีบริการด้านความสมบูรณ์และการรับรองที่ช่วยให้คุณมั่นใจได้ว่าผู้ใช้จะได้รับประสบการณ์การใช้งานแอปและเกมในแบบที่คุณต้องการ
- เคล็ดลับ: คุณยังเข้าถึงหน้านี้ได้ผ่านหน้าความสมบูรณ์ของแอป (
- ในการ์ด "อัปเกรดคีย์ App Signing" ให้เลือกขอการอัปเกรดคีย์
- เลือกตัวเลือกเพื่ออัปเกรดคีย์ App Signing ของการติดตั้งทั้งหมดใน Android N ขึ้นไป
- ให้ Google สร้างคีย์ App Signing ใหม่ (แนะนำ) หรืออัปโหลดคีย์
- หลังจากที่อัปเกรดคีย์ App Signing แล้ว หากก่อนหน้านี้คุณใช้คีย์เดียวกันสำหรับ App Signing และคีย์การอัปโหลด คุณจะใช้คีย์ App Signing เดิมเป็นคีย์การอัปโหลดต่อไปหรือสร้างคีย์การอัปโหลดใหม่ก็ได้
- เลือกเหตุผลที่จะขอการอัปเกรดคีย์ App Signing
- หากจำเป็น ให้ลงทะเบียนคีย์ App Signing ใหม่กับผู้ให้บริการ API
เคล็ดลับ: หากคุณเผยแพร่แอปในช่องทางการเผยแพร่หลายช่องทางและต้องการเพิ่มความเข้ากันได้ของอัปเดตแอปให้มากที่สุดสำหรับผู้ใช้ ก็ควรที่จะอัปเกรดคีย์ในแต่ละช่องทางการเผยแพร่ เพื่อให้เข้ากันได้กับการอัปเกรดคีย์ของ Google Play ให้ใช้เครื่องมือ ApkSigner ซึ่งมาพร้อมกับเครื่องมือสร้าง Android SDK (เวอร์ชัน 33.0.1 เป็นต้นไป) ดังนี้
$ apksigner sign --in ${INPUT_APK}
--out ${OUTPUT_APK}
--ks ${ORIGINAL_KEYSTORE}
--ks-key-alias ${ORIGINAL_KEY_ALIAS}
--next-signer --ks ${UPGRADED_KEYSTORE}
--ks-key-alias ${UPGRADED_KEY_ALIAS}
--lineage ${LINEAGE}
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของอัปเดตแอป
แนวทางปฏิบัติแนะนำ
- หากคุณเผยแพร่แอปนอก Google Play ด้วย หรือวางแผนที่จะทำในภายหลังและต้องการใช้คีย์ App Signing เดียวกัน คุณมี 2 ตัวเลือก ได้แก่
- ให้ Google สร้างคีย์ (แนะนำ) แล้วดาวน์โหลด APK สากลที่รับรองแล้วจาก App Bundle Explorer เพื่อเผยแพร่นอก Google Play
- หรือคุณอาจสร้างคีย์ App Signing ที่ต้องการใช้สำหรับ App Store ทั้งหมด แล้วโอนสำเนาคีย์ไปยัง Google เมื่อคุณกำหนดค่า Play App Signing
- หากต้องการปกป้องบัญชี ให้เปิดการยืนยันแบบ 2 ขั้นตอนสำหรับบัญชีที่มีสิทธิ์เข้าถึง Play Console
- หลังจากที่เผยแพร่ App Bundle ไปยังแทร็กที่เผยแพร่แล้ว คุณไปที่ App Bundle Explorer เพื่อเข้าถึง APK ที่ติดตั้งได้ซึ่ง Google สร้างขึ้นจาก App Bundle คุณทำสิ่งต่อไปนี้ได้
- คัดลอกและแชร์ลิงก์การแชร์แอปภายในที่ให้คุณทดสอบได้จากการแตะเพียง 1 ครั้งว่า Google Play จะติดตั้งอะไรจาก App Bundle ในอุปกรณ์ต่างๆ
- ดาวน์โหลด APK สากลที่รับรองแล้ว APK เดี่ยวนี้รับรองด้วยคีย์ App Signing ที่ Google เก็บไว้และจะติดตั้งได้ในอุปกรณ์ทุกเครื่องที่แอปของคุณรองรับ
- ดาวน์โหลดไฟล์เก็บถาวรแบบ Zip ที่มี APK ทั้งหมดสำหรับอุปกรณ์หนึ่งๆ โดยเฉพาะได้ APK เหล่านี้รับรองแล้วด้วยคีย์ App Signing ที่ Google เก็บไว้ และคุณติดตั้ง APK ในไฟล์เก็บถาวรแบบ Zip นอุปกรณ์โดยใช้คำสั่ง
adb install-multiple *.apk
- เพื่อเพิ่มความปลอดภัย ให้สร้างคีย์การอัปโหลดใหม่ที่ต่างจากคีย์ App Signing
- หากคุณใช้ Google API คุณอาจต้องลงทะเบียนคีย์การอัปโหลดและใบรับรองคีย์ App Signing ใน Google Cloud Console สำหรับแอป
- หากคุณใช้ Android App Link โปรดอย่าลืมอัปเดตคีย์ในไฟล์ JSON ของลิงก์เนื้อหาดิจิทัล (Digital Asset Links) ที่เกี่ยวข้องในเว็บไซต์
หากคีย์การอัปโหลดหายหรือถูกแฮ็ก
ในกรณีที่คีย์การอัปโหลดส่วนตัวสูญหายหรือถูกแฮ็ก คุณสามารถสร้างคีย์ใหม่ได้ จากนั้นเจ้าของบัญชีนักพัฒนาแอปสามารถเริ่มการรีเซ็ตคีย์ใน Play Console
หลังจากที่ทีมสนับสนุนลงทะเบียนคีย์การอัปโหลดใหม่แล้ว เจ้าของบัญชีและผู้ดูแลระบบส่วนกลางจะได้รับข้อความในกล่องจดหมายและอีเมลที่มีข้อมูลเพิ่มเติม จากนั้นคุณจะอัปเดตคีย์สโตร์และลงทะเบียนคีย์กับผู้ให้บริการ API ได้
เจ้าของบัญชียังยกเลิกคำขอรีเซ็ตใน Play Console ได้ด้วย
สำคัญ: การรีเซ็ตคีย์การอัปโหลดจะไม่ส่งผลต่อคีย์ App Signing ที่ Google Play ใช้ในการรับรอง APK อีกครั้งก่อนที่จะนำส่งผู้ใช้
APK Signature Scheme v4
อุปกรณ์ที่ใช้ Android 11 ขึ้นไปรองรับ APK Signature Scheme v4 แบบใหม่ Play App Signing ใช้การรับรองเวอร์ชัน 4 สําหรับแอปที่มีสิทธิ์เพื่อให้แอปเข้าถึงฟีเจอร์ด้านการเผยแพร่ที่เพิ่มประสิทธิภาพแล้วซึ่งมีในอุปกรณ์รุ่นใหม่ได้ นักพัฒนาแอปไม่จำเป็นต้องดำเนินการใดๆ และคาดว่าการรับรองเวอร์ชัน 4 จะไม่ส่งผลกระทบต่อผู้ใช้
เนื้อหาที่เกี่ยวข้อง
- ดูข้อมูลเกี่ยวกับบริการด้านความสมบูรณ์และการรับรองใน Play Console
- ดูข้อมูลเกี่ยวกับบริการด้านความสมบูรณ์และการรับรองในเว็บไซต์ของนักพัฒนาแอป Android