Google Play Developer API ช่วยให้คุณสามารถอัปโหลด APK ใหม่สำหรับแอป และเผยแพร่ไปยังแทร็กรุ่นต่างๆ ได้ วิธีนี้จะช่วยให้คุณทำให้แอปเวอร์ชันอัลฟ่าและเบต้าใช้งานได้ แก่ผู้ใช้ที่ได้รับอนุมัติ การดำเนินการดังกล่าวยังทำให้คุณสามารถทำให้เวอร์ชันการเปิดตัวแบบทีละขั้นใช้งานได้ ซึ่งจะพร้อมใช้งานสำหรับผู้ใช้แอปจำนวนน้อยโดยอัตโนมัติ เมื่อคุณเผยแพร่เวอร์ชันการเปิดตัวแบบทีละขั้นแล้ว คุณสามารถค่อยๆ เพิ่มจำนวนผู้ใช้ที่ดาวน์โหลดแอปเวอร์ชันนั้น จนกระทั่งคุณทำให้เวอร์ชันนั้นเป็นเวอร์ชัน "ที่ใช้งานจริง" ใช้งานได้ในท้ายที่สุด
การเพิ่มและการแก้ไข APK
อัปโหลด APK อย่างน้อย 1 รายการโดยเรียกใช้เมธอด Edits.apks: upload
เมธอดนี้จะอัปโหลด APK ลงใน "ที่เก็บข้อมูล" ของพื้นที่เก็บข้อมูล ซึ่งสามารถมอบหมายให้กับ "แทร็ก" เพื่อติดตั้งใช้งานให้กับผู้ใช้ (หากการแก้ไขถูกลบหรือยกเลิก APK ที่อัปโหลดไปยังการแก้ไขนั้นจะหายไปด้วย)
เผยแพร่ APK บน "tracks" โดยเรียก Edits.tracks: update คุณจะเผยแพร่ APK ในแทร็กต่อไปนี้ได้
แทร็กการทดสอบ เช่น
"alpha"
และ"beta"
แอปเวอร์ชันอัลฟ่าและเบต้าจะใช้งานได้กับผู้ใช้ ที่คุณกำหนดให้กับกลุ่มการทดสอบเวอร์ชันอัลฟ่าและเบต้า คุณจะกำหนดผู้ใช้ให้กับกลุ่มเหล่านี้โดยใช้ Google Play Console
แทร็กทดสอบภายใน:
"qa"
ระบบจะนำแอปเวอร์ชันภายในไปใช้กับแทร็กทดสอบภายในตามที่กำหนดค่าไว้ใน Google Play Console
แทร็กเวอร์ชันที่ใช้งานจริง:
"production"
รุ่นในแทร็ก "เวอร์ชันที่ใช้งานจริง" จะนำไปใช้กับผู้ใช้ทุกคน คุณสามารถใช้การเปิดตัวแบบทีละขั้นในแทร็ก "เวอร์ชันที่ใช้งานจริง" เพื่อทำให้รุ่นของคุณใช้งานได้ก่อนอย่างปลอดภัยสำหรับผู้ใช้เวอร์ชันที่ใช้งานจริงกลุ่มเล็กๆ จากนั้นจึงค่อยๆ เพิ่มเปอร์เซ็นต์นี้เมื่อความมั่นใจในการเปิดตัวเพิ่มมากขึ้น
ผู้ใช้ที่ใช้โหมดแบบง่ายไม่ควรใส่ APK มากกว่าหนึ่งรายการลงในแทร็กใดๆ ผู้ใช้โหมดขั้นสูงที่ใช้การรองรับ APK หลายรายการ สามารถอัปโหลด APK ศูนย์ 1 รายการ หรือหลายรายการไปยังแต่ละแทร็กได้
ชื่อแทร็กสำหรับรูปแบบของอุปกรณ์
ชื่อแทร็กสำหรับแทร็กรูปแบบของอุปกรณ์จะขึ้นต้นด้วยตัวระบุที่เฉพาะเจาะจง
รูปแบบ | คำนำหน้า |
---|---|
Android Automotive OS | ยานยนต์ |
Wear OS | Wear |
Android TV | ทีวี |
วิธีคํานวณชื่อแทร็กสําหรับแทร็กรูปแบบของอุปกรณ์หนึ่งๆ
ประเภทแทร็กทั่วไป เช่น เวอร์ชันที่ใช้งานจริง การทดสอบแบบเปิด และแทร็กทดสอบภายในจะมีชื่อที่เป็นที่รู้จักกันดี
ประเภทการติดตาม | ชื่อแทร็กเริ่มต้น |
---|---|
Production | การถ่ายทำ |
การทดสอบแบบเปิด | เบต้า |
การทดสอบภายใน | qa |
ระบบจะคำนวณชื่อแทร็กสำหรับแทร็กรูปแบบของอุปกรณ์ที่ระบุดังนี้
"[prefix]:defaultTrackName"
เช่น รูปแบบของอุปกรณ์ Wear OS จะมีแทร็กที่ชื่อว่า
"wear:production"
, "wear:beta"
และ "wear:qa"
แทร็กทดสอบแบบปิดนั้นสร้างขึ้นด้วยตนเองและมีชื่อที่กำหนดเอง ดังนั้นแทร็กทดสอบแบบปิดของรูปแบบของอุปกรณ์ชื่อ $name
จะมีชื่อแทร็กเป็น "[prefix]:$name"
ตัวอย่างเวิร์กโฟลว์ของ APK
ส่วนนี้จะอธิบายวิธีการทั่วไปในการใช้ API ของการติดตาม ในกรณีนี้ เราถือว่าคุณต้องการอัปโหลด APK เวอร์ชันใหม่สำหรับแต่ละแทร็ก และกำหนดผู้ใช้จำนวนหนึ่งเพื่อรับเวอร์ชันการเปิดตัวแบบทีละขั้น (ในทางปฏิบัติ นักพัฒนาซอฟต์แวร์ไม่น่าจะดำเนินการทั้งหมดเหล่านี้ในการดำเนินการเดียวกัน คุณอาจอัปเดตรุ่นเบต้าในวันหนึ่ง สร้างรุ่นแบบทีละขั้นใน "เวอร์ชันที่ใช้งานจริง" ในอีกวันหนึ่ง และต่อไปเรื่อยๆ)
- เปิดการแก้ไขใหม่ตามที่อธิบายไว้ในการแก้ไขเวิร์กโฟลว์
- เรียกใช้วิธีการ Edits.apks: การอัปโหลดสำหรับ APK แต่ละรายการที่คุณต้องการอัปโหลด ส่ง APK ในเนื้อหาคำขอของเมธอด (วิธีนี้จะวาง APK ไว้ในพื้นที่เก็บข้อมูล แต่ไม่ได้เผยแพร่ในแทร็กหรือทำให้ใช้งานได้) วิธีการนี้จะแสดงรหัสเวอร์ชันของ APK แต่ละรายการที่คุณอัปโหลด คุณจะใช้รหัสเวอร์ชันนี้เพื่ออ้างถึง APK เมื่อเผยแพร่ในแทร็ก
เรียกเมธอด Edits.tracks: update สำหรับแต่ละแทร็กที่คุณต้องการเผยแพร่ APK ในส่วนเนื้อหาของคำขอ ให้ส่งทรัพยากร Edits.tracks ที่มีรุ่นที่คุณต้องการเปิดตัว เช่น หากต้องการเผยแพร่ APK ที่มีรหัสเวอร์ชัน 88 ให้ทำดังนี้
{ "releases": [{ "versionCodes": ["88"], "status": "completed" }] }
ขณะนี้ APK ยังไม่พร้อมให้บริการสำหรับผู้ใช้ การเปลี่ยนแปลงจะไม่แสดงผลจนกว่าคุณจะยืนยัน
เรียกใช้เมธอดการแก้ไข: คอมมิต เพื่อคอมมิตการเปลี่ยนแปลง หลังจากนั้น ผู้ใช้ในแต่ละแทร็กจะได้รับ APK เวอร์ชันที่อัปเดตแล้ว (เช่นเดียวกับการแก้ไขทั้งหมด อาจใช้เวลาหลายชั่วโมงกว่าการเปลี่ยนแปลงจะมีผล)
การเปิดตัวแบบทีละขั้น
เมื่อมี APK เวอร์ชันใหม่ที่ต้องการค่อยๆ นำไปใช้งาน คุณอาจเลือกเผยแพร่ APK เป็นเวอร์ชัน "การเปิดตัวแบบทีละขั้น" ได้ หากทำเช่นนี้ Google Play จะทำให้ใช้งานได้โดยอัตโนมัติกับกลุ่มผู้ใช้แอปตามที่คุณระบุไว้ หาก APK ที่ "เปิดตัว" ไม่มีปัญหาใดๆ (เช่น เกิดข้อขัดข้อง เป็นต้น) คุณอาจเพิ่มส่วนของผู้ใช้ที่ได้รับเวอร์ชันดังกล่าว เมื่อพร้อมแล้ว คุณสามารถทำให้ APK นั้นเป็นเวอร์ชันที่ใช้งานจริงใหม่ได้ เมื่อพร้อมแล้ว
ส่วนนี้จะอธิบายขั้นตอนที่คุณต้องทำเพื่อเปิดตัว APK แบบทีละขั้น จากนั้นโปรโมตเป็นเวอร์ชันที่ใช้งานจริง
ทำการแก้ไขตามที่อธิบายไว้ในการแก้ไขเวิร์กโฟลว์
อัปโหลด APK ใหม่ไปยังการแก้ไขโดยใช้วิธีการ Edits.apks: อัปโหลด
เริ่มการเปิดตัวแบบทีละขั้นของ
"inProgress"
ในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: อัปเดต เลือกสัดส่วนของผู้ใช้ที่ควรได้รับ APK ใหม่ ขณะนี้ APK ยังไม่พร้อมให้บริการสำหรับผู้ใช้ปลายทาง{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.05, "status": "inProgress" }] }
ยืนยันการเปลี่ยนแปลงในการแก้ไขที่ทำงานอยู่โดยการเรียกใช้ Edits: Computing ในอีกไม่กี่ชั่วโมงนี้ APK ใหม่จะเปิดตัวให้กับผู้ใช้ ส่วนของผู้ใช้ที่คุณเลือกจะได้รับ APK ใหม่
คุณอาจต้องการเพิ่มเปอร์เซ็นต์ของผู้ใช้ที่มีสิทธิ์สำหรับรุ่นนั้นหรือหยุดการเปิดตัว ทั้งนี้ขึ้นอยู่กับความสำเร็จของการเปิดตัวแบบทีละขั้น
การเพิ่มส่วนผู้ใช้สำหรับการเปิดตัวแบบทีละขั้น
สมมติว่าคุณมีการเปิดตัวแบบทีละขั้นอย่างต่อเนื่องที่ 5% ดังที่อธิบายไว้ในส่วนก่อนหน้านี้ ส่วนนี้จะอธิบายวิธีการเพิ่มเปอร์เซ็นต์ในกรณีที่การเปิดตัวไปได้ดี ดังนี้
ทำการแก้ไขตามที่อธิบายไว้ในการแก้ไขเวิร์กโฟลว์
เปลี่ยนรุ่นแบบทีละขั้นของ
"inProgress"
ในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: อัปเดต เพิ่มสัดส่วนของผู้ใช้ที่ควรได้รับ APK ใหม่:{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.1, "status": "inProgress" }] }
ยืนยันการเปลี่ยนแปลงในการแก้ไขที่ทำงานอยู่โดยการเรียกใช้ Edits: Computing ในอีกไม่กี่ชั่วโมงนี้ APK ใหม่จะเปิดตัวให้กับผู้ใช้ ส่วนของผู้ใช้ที่คุณเลือกจะได้รับ APK ใหม่
การหยุดการเปิดตัวแบบทีละขั้น
สมมติว่าคุณมีการเปิดตัวแบบทีละขั้นอย่างต่อเนื่องที่ 5% ตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีหยุดการเปิดตัวแบบทีละขั้นเผื่อไว้ในกรณีที่คุณพบปัญหา
ทำการแก้ไขตามที่อธิบายไว้ในการแก้ไขเวิร์กโฟลว์
เปลี่ยนรุ่นแบบทีละขั้นของ
"inProgress"
ในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: อัปเดต ตั้งค่าสถานะเป็น"halted"
{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
ยืนยันการเปลี่ยนแปลงในการแก้ไขที่ทำงานอยู่โดยการเรียกใช้ Edits: Computing รุ่นของคุณจะไม่ปรากฏ สำหรับผู้ใช้ใหม่อีกต่อไป
หากในภายหลังคุณตัดสินใจที่จะทำให้รุ่นที่ถูกหยุดใช้งานต่อ คุณสามารถทำได้โดยการตั้งค่าสถานะกลับไปเป็น "inProgress"
การเปิดตัวแบบทีละขั้น
เมื่อคุณพอใจกับการเปิดตัวแบบทีละขั้นแล้วและต้องการเปิดตัวรุ่นแก่ผู้ใช้ครบ 100% คุณสามารถตั้งค่าสถานะของรุ่นเป็น "completed"
ดังนี้
ทำการแก้ไขตามที่อธิบายไว้ในการแก้ไขเวิร์กโฟลว์
เปลี่ยนรุ่นแบบทีละขั้นของ
"inProgress"
ในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: อัปเดต ตั้งค่าสถานะเป็น"completed"
{ "releases": [{ "versionCodes": ["99"], "status": "completed" }] }
ยืนยันการเปลี่ยนแปลงในการแก้ไขที่ทำงานอยู่โดยการเรียกใช้ Edits: Computing ในอีกไม่กี่ชั่วโมงนี้ APK ใหม่จะเปิดตัวให้กับผู้ใช้ ส่วนของผู้ใช้ที่คุณเลือกจะได้รับ APK ใหม่
เวอร์ชันร่าง
เวอร์ชันร่างช่วยให้คุณอัปโหลด APK โดยอัตโนมัติและสร้างรุ่นผ่าน API ซึ่งจะทำให้ใช้งานได้ในภายหลังผ่าน Google Play Console วิธีสร้างเวอร์ชันร่างในแทร็ก
- เปิดการแก้ไขใหม่ตามที่อธิบายไว้ในการแก้ไขเวิร์กโฟลว์
- เรียกใช้วิธีการ Edits.apks: การอัปโหลดสำหรับ APK แต่ละรายการที่คุณต้องการอัปโหลด ส่ง APK ในเนื้อหาคำขอของเมธอด วิธีนี้แสดงผลรหัสเวอร์ชันของ APK แต่ละรายการที่คุณอัปโหลด คุณจะใช้รหัสเวอร์ชันนี้เพื่ออ้างถึง APK เมื่อกำหนดให้กับรุ่น
เรียกใช้เมธอด Edits.tracks: update สำหรับแต่ละแทร็กที่คุณต้องการเผยแพร่ ในส่วนเนื้อหาของคำขอ ให้ส่งทรัพยากร Edits.tracks ที่มีเวอร์ชันร่างที่คุณต้องการสร้าง ตัวอย่างเช่น
{ "releases": [{ "name": "My draft release", "versionCodes": ["88"], "status": "draft" }] }
เรียกใช้เมธอดการแก้ไข: คอมมิต เพื่อคอมมิตการเปลี่ยนแปลง ตอนนี้คุณสามารถตรวจสอบและเปิดตัวเวอร์ชันร่างผ่าน Google Play Console หรือ API ได้แล้ว
การระบุบันทึกประจำรุ่น
ขณะเปิดตัวแอปพลิเคชันเวอร์ชันใหม่ คุณสามารถไฮไลต์สิ่งใหม่ๆ สำหรับผู้ใช้ด้วยการระบุบันทึกประจำรุ่นในรุ่นของคุณ
ซึ่งทำได้โดยใช้ช่อง "releaseNotes"
เมื่อส่งทรัพยากร Edits.tracks ในเมธอด Edits.tracks: update
{ "releases": [{ "name": "Release with notes", "versionCodes": ["88"], "status": "completed", "releaseNotes": [ {"language": "en-US", "text": "Describe what's new in this release."} ] }] }