Google Play Developer API ช่วยให้คุณอัปโหลด APK ใหม่สำหรับแอปและเผยแพร่แอปไปยังแทร็กรุ่นต่างๆ ได้ ซึ่งจะช่วยให้คุณทำให้แอปเวอร์ชันอัลฟ่าและเบต้าพร้อมให้บริการแก่ผู้ใช้ที่ได้รับอนุมัติได้ นอกจากนี้ คุณยังใช้วิธีนี้เพื่อทำให้การเปิดตัวแบบเป็นขั้นพร้อมใช้งานโดยอัตโนมัติสำหรับผู้ใช้แอปจํานวนน้อยได้ด้วย เมื่อเผยแพร่เวอร์ชันการเปิดตัวแบบทีละขั้นแล้ว คุณสามารถค่อยๆ เพิ่มจำนวนผู้ใช้ที่ได้รับแอปเวอร์ชันนั้นๆ จนกว่าจะใช้เวอร์ชันดังกล่าวเป็นเวอร์ชัน "เวอร์ชันที่ใช้งานจริง" ในที่สุด
การเพิ่มและการแก้ไข APK
อัปโหลด APK อย่างน้อย 1 รายการโดยเรียกใช้เมธอด Edits.apks: upload
วิธีนี้จะอัปโหลด APK ไปยัง "ที่เก็บข้อมูล" ซึ่งสามารถกำหนด APK ให้กับ "แทร็ก" เพื่อนำไปใช้งานกับผู้ใช้ (หากการแก้ไขถูกลบหรือทิ้ง APK ที่อัปโหลดไปยังการแก้ไขนั้นก็จะหายไปด้วย)
เผยแพร่ APK ใน "แทร็ก" โดยการเรียกใช้ Edits.tracks: update คุณเผยแพร่ APK ในแทร็กต่อไปนี้ได้
แทร็กทดสอบ เช่น
"alpha"
และ"beta"
ระบบจะติดตั้งใช้งานแอปเวอร์ชันอัลฟ่าและเบต้าให้กับผู้ใช้ที่คุณกำหนดให้กับกลุ่มทดสอบอัลฟ่าและเบต้า คุณกำหนดผู้ใช้ให้กับกลุ่มเหล่านี้ได้โดยใช้ Google Play Console
แทร็กทดสอบภายใน:
"qa"
ระบบจะติดตั้งใช้งานแอปเวอร์ชันภายในในแทร็กทดสอบภายในตามที่กําหนดค่าไว้ใน Google Play Console
แทร็กเวอร์ชันที่ใช้งานจริง:
"production"
ระบบจะเผยแพร่รุ่นในแทร็ก "เวอร์ชันที่ใช้งานจริง" ไปยังผู้ใช้ทุกคน คุณสามารถใช้รุ่นที่แบ่งเป็นระยะในแทร็ก "เวอร์ชันที่ใช้งานจริง" เพื่อทำให้รุ่นใช้งานได้อย่างปลอดภัยกับผู้ใช้เวอร์ชันที่ใช้งานจริงเพียงไม่กี่เปอร์เซ็นต์ก่อน จากนั้นค่อยๆ เพิ่มเปอร์เซ็นต์นี้เมื่อคุณมั่นใจในรุ่นมากขึ้น
ผู้ใช้โหมดง่ายไม่ควรใส่ APK มากกว่า 1 รายการในแทร็กใดก็ตาม ผู้ใช้โหมดขั้นสูงที่ใช้การรองรับ APK หลายรายการจะอัปโหลด APK ไปยังแต่ละแทร็กได้ตั้งแต่ 0 ถึง 20 รายการ
ชื่อแทร็กสำหรับแทร็กรูปแบบของอุปกรณ์
ชื่อแทร็กสำหรับแทร็กรูปแบบอุปกรณ์จะมีตัวระบุที่เฉพาะเจาะจงอยู่ข้างหน้า
รูปแบบของอุปกรณ์ | คำนำหน้า |
---|---|
Android Automotive OS | ยานยนต์ |
Wear OS | Wear |
Android TV | ทีวี |
Android XR | android_xr |
Google Play Games บน PC | google_play_games_pc |
วิธีคำนวณชื่อแทร็กสำหรับแทร็กรูปแบบหนึ่งๆ
แทร็กประเภททั่วไป เช่น แทร็กเวอร์ชันที่ใช้งานจริง แทร็กการทดสอบแบบเปิด และแทร็กการทดสอบภายในจะมีชื่อแทร็กที่เป็นที่ทราบกันดี
ประเภทการติดตาม | ชื่อแทร็กเริ่มต้น |
---|---|
เวอร์ชันที่ใช้งานจริง | การถ่ายทำ |
การทดสอบแบบเปิด | เบต้า |
การทดสอบภายใน | qa |
ชื่อแทร็กสำหรับแทร็กรูปแบบของอุปกรณ์หนึ่งๆ จะคํานวณได้ดังนี้
"[prefix]:defaultTrackName"
ตัวอย่างเช่น รูปแบบของ Wear OS จะมีแทร็กที่มีชื่อ
"wear:production"
, "wear:beta"
และ "wear:qa"
แทร็กการทดสอบแบบปิดสร้างขึ้นด้วยตนเองและมีชื่อที่กำหนดเอง ดังนั้นแทร็กทดสอบแบบปิดสำหรับรูปแบบที่มีชื่อ $name
จะมีชื่อแทร็กเป็น "[prefix]:$name"
ตัวอย่างเวิร์กโฟลว์ APK
ส่วนนี้จะอธิบายวิธีทั่วไปในการใช้ Tracks API ในกรณีนี้ เราถือว่าคุณต้องการอัปโหลด APK เวอร์ชันใหม่สำหรับแต่ละแทร็ก และกำหนดจำนวนผู้ใช้ที่จะรับเวอร์ชันการเปิดตัวแบบทีละขั้น (ในทางปฏิบัติ นักพัฒนาแอปไม่น่าจะดำเนินการทั้งหมดนี้ในการดำเนินการเดียวกัน แต่อาจอัปเดตเวอร์ชันเบต้าในวันหนึ่ง สร้างรุ่นที่แบ่งเป็นระยะใน "เวอร์ชันที่ใช้งานจริง" ในวันถัดไป และอื่นๆ)
- เปิดการแก้ไขใหม่ตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
- เรียกใช้เมธอด Edits.apks: upload สำหรับ APK แต่ละรายการที่ต้องการอัปโหลด ส่ง APK ในเนื้อหาคำขอของเมธอด (การดำเนินการนี้จะวาง APK ในพื้นที่เก็บข้อมูล แต่ไม่เผยแพร่หรือทำให้ใช้งานได้ในแทร็ก) วิธีการนี้จะแสดงผลรหัสเวอร์ชันสำหรับ APK แต่ละรายการที่คุณอัปโหลด คุณจะใช้รหัสเวอร์ชันนี้เพื่ออ้างอิง APK เมื่อเผยแพร่ในแทร็ก
เรียกใช้เมธอด Edits.tracks: update สำหรับแต่ละแทร็กที่ต้องการเผยแพร่ APK ในเนื้อหาของคำขอ ให้ส่งทรัพยากร Edits.tracks ที่มีรุ่นที่ต้องการเปิดตัว ตัวอย่างเช่น หากต้องการเผยแพร่ APK ที่มีรหัสเวอร์ชัน 88 ให้ทำดังนี้
{ "releases": [{ "versionCodes": ["88"], "status": "completed" }] }
ในตอนนี้ APK ยังไม่พร้อมให้บริการแก่ผู้ใช้ การเปลี่ยนแปลงจะไม่เผยแพร่จนกว่าคุณจะยืนยัน
เรียกใช้เมธอด Edits: commit เพื่อบันทึกการเปลี่ยนแปลง หลังจากดำเนินการนี้ ผู้ใช้ในแต่ละแทร็กจะได้รับ APK เวอร์ชันที่อัปเดต (เช่นเดียวกับการแก้ไขทั้งหมด การเปลี่ยนแปลงอาจใช้เวลาหลายชั่วโมงจึงจะมีผล)
การเปิดตัวแบบทีละขั้น
เมื่อคุณมี APK เวอร์ชันใหม่ที่ต้องการทยอยนำออกใช้งาน คุณอาจเลือกที่จะเผยแพร่เป็นเวอร์ชัน "การเปิดตัวแบบเป็นขั้นๆ" เมื่อคุณดำเนินการนี้ Google Play จะทําให้ผู้ใช้แอปจำนวนที่ต้องการซึ่งคุณระบุใช้งานได้โดยอัตโนมัติ หาก APK "การเปิดตัว" ไม่มีปัญหา (เช่น ข้อขัดข้อง ฯลฯ) คุณอาจเพิ่มจำนวนผู้ใช้ที่ได้รับเวอร์ชันนั้น และเมื่อพร้อมแล้ว ก็สามารถทำให้ APK นั้นเป็นเวอร์ชันที่ใช้งานจริงเวอร์ชันใหม่ได้
ส่วนนี้จะอธิบายขั้นตอนที่คุณต้องทำเพื่อทำการเปิดตัว APK แบบทีละขั้น จากนั้นจึงโปรโมตไปยังเวอร์ชันที่ใช้งานจริง
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
อัปโหลด APK ใหม่ไปยังการแก้ไขโดยใช้เมธอด Edits.apks: upload
เริ่มรุ่น
"inProgress"
แบบทีละขั้นในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update เลือกเศษส่วนของผู้ใช้ที่ควรได้รับ APK ใหม่ ในตอนนี้ APK ยังไม่พร้อมให้บริการแก่ผู้ใช้ปลายทาง{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.05, "status": "inProgress" }] }
บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก เราจะเปิดตัว APK ใหม่ให้ผู้ใช้ในอีกไม่กี่ชั่วโมงข้างหน้า ผู้ใช้บางส่วนที่คุณเลือกจะได้รับ APK ใหม่
คุณอาจต้องเพิ่มเปอร์เซ็นต์ของผู้ใช้ที่มีสิทธิ์ใช้รุ่นนั้นหรือหยุดรุ่นนั้นไว้ ทั้งนี้ขึ้นอยู่กับความสําเร็จของการเปิดตัวแบบทีละขั้น
การเพิ่มเศษส่วนของผู้ใช้สำหรับการเปิดตัวแบบทีละขั้น
สมมติว่าคุณมีการเปิดตัวแบบเป็นขั้นเป็นตอนอย่างต่อเนื่องที่ 5% ตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีเพิ่มเปอร์เซ็นต์ในกรณีที่การเผยแพร่ดำเนินไปได้ด้วยดี
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
เปลี่ยนรุ่น
"inProgress"
ที่อัปเดตแล้วในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update เพิ่มเศษส่วนของผู้ใช้ที่ควรได้รับ APK ใหม่{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.1, "status": "inProgress" }] }
บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก เราจะเปิดตัว APK ใหม่ให้ผู้ใช้ในอีกไม่กี่ชั่วโมงข้างหน้า ผู้ใช้บางส่วนที่คุณเลือกจะได้รับ APK ใหม่
การหยุดการเปิดตัวแบบทีละขั้น
สมมติว่าคุณมีการทยอยเปิดตัวแบบเป็นขั้นเป็นตอนที่กำลังดำเนินอยู่ 5% ตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีหยุดการทยอยเปิดตัวแบบเป็นขั้นเป็นตอนในกรณีที่คุณพบปัญหา
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
เปลี่ยนรุ่น
"inProgress"
ที่อัปเดตแล้วในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update ตั้งค่าสถานะเป็น"halted"
{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก ผู้ใช้ใหม่จะไม่สามารถใช้งานรุ่นของคุณได้อีกต่อไป
หากในภายหลังคุณตัดสินใจที่จะเผยแพร่รุ่นที่หยุดไว้ต่อ ก็สามารถดำเนินการได้โดยตั้งค่าสถานะกลับเป็น "inProgress"
การเปิดตัวแบบทีละขั้นเสร็จสมบูรณ์
เมื่อพอใจกับการเปิดตัวแบบทีละขั้นและต้องการเปิดตัวรุ่นให้ผู้ใช้ 100% คุณตั้งค่าสถานะรุ่นเป็น"completed"
ได้โดยทำดังนี้
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
เปลี่ยนรุ่น
"inProgress"
ที่อัปเดตแล้วในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update ตั้งค่าสถานะเป็น"completed"
{ "releases": [{ "versionCodes": ["99"], "status": "completed" }] }
บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก เราจะเปิดตัว APK ใหม่ให้ผู้ใช้ในอีกไม่กี่ชั่วโมงข้างหน้า ผู้ใช้บางส่วนที่คุณเลือกจะได้รับ APK ใหม่
เวอร์ชันร่าง
รุ่นฉบับร่างช่วยให้คุณอัปโหลด APK และสร้างรุ่นผ่าน API โดยอัตโนมัติ ซึ่งจะนำไปใช้งานได้ในภายหลังผ่าน Google Play Console วิธีสร้างเวอร์ชันร่างในแทร็ก
- เปิดการแก้ไขใหม่ตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
- เรียกใช้เมธอด Edits.apks: upload สำหรับ APK แต่ละรายการที่ต้องการอัปโหลด ส่ง APK ในเนื้อหาคําขอของเมธอด โดยเมธอดนี้จะแสดงผลรหัสเวอร์ชันของ APK แต่ละรายการที่คุณอัปโหลด คุณจะใช้รหัสเวอร์ชันนี้เพื่ออ้างอิง APK เมื่อกำหนดให้กับรุ่น
เรียกใช้เมธอด Edits.tracks: update สำหรับแต่ละแทร็กที่ต้องการเผยแพร่ ในเนื้อหาของคำขอ ให้ส่งทรัพยากร Edits.tracks ที่มีรุ่นฉบับร่างที่ต้องการสร้าง เช่น
{ "releases": [{ "name": "My draft release", "versionCodes": ["88"], "status": "draft" }] }
เรียกใช้เมธอด Edits: commit เพื่อบันทึกการเปลี่ยนแปลง ตอนนี้คุณตรวจสอบและเปิดตัวรุ่นฉบับร่างได้ผ่าน 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."} ] }] }