Google Play Developer API ช่วยให้คุณอัปโหลด APK ใหม่สำหรับแอป และเผยแพร่ไปยังแทร็กการเผยแพร่ต่างๆ ได้ ซึ่งจะช่วยให้คุณ ติดตั้งใช้งานแอปเวอร์ชันอัลฟ่าและเบต้า ซึ่งจะพร้อมให้ใช้งาน แก่ผู้ใช้ที่ได้รับอนุมัติ นอกจากนี้ ยังช่วยให้คุณสามารถนำการเปิดตัวแบบเป็นระยะ ไปใช้ ซึ่งจะพร้อมให้บริการแก่ผู้ใช้แอปจำนวนเล็กน้อยโดยอัตโนมัติ เมื่อเผยแพร่แอปเวอร์ชันเปิดตัวแบบทีละขั้นแล้ว คุณจะค่อยๆ เพิ่มจำนวนผู้ใช้ที่ได้รับแอปเวอร์ชันนั้นได้ จนกว่าจะติดตั้งใช้งานเวอร์ชันดังกล่าวเป็นเวอร์ชัน "ที่ใช้งานจริง" ในที่สุด
การเพิ่มและแก้ไข APK
อัปโหลด APK อย่างน้อย 1 รายการโดยเรียกใช้เมธอด Edits.apks: upload
วิธีนี้จะอัปโหลด APK ลงใน "ที่เก็บข้อมูล" ซึ่งสามารถ กำหนดให้กับ "แทร็ก" เพื่อนำไปใช้งานกับผู้ใช้ได้ (หากการแก้ไขถูกลบหรือทิ้ง APK ที่อัปโหลดไปยังการแก้ไขนั้นจะสูญหายไปด้วย)
เผยแพร่ APK ใน "แทร็ก" โดยเรียกใช้ Edits.tracks: update คุณเผยแพร่ APK ในแทร็กต่อไปนี้ได้
แทร็กทดสอบ เช่น
"alpha"
และ"beta"
ระบบจะนำแอปเวอร์ชันอัลฟ่าและเบต้าไปใช้งานกับผู้ใช้ ที่คุณกำหนดให้กับกลุ่มทดสอบอัลฟ่าและเบต้า คุณกำหนดผู้ใช้ให้กับกลุ่มเหล่านี้ได้โดยใช้ Google Play Console
แทร็กทดสอบภายใน:
"qa"
ระบบจะติดตั้งใช้งานแอปเวอร์ชันภายในในแทร็กทดสอบภายในตามที่กำหนดค่าไว้ใน Google Play Console
แทร็กเวอร์ชันที่ใช้งานจริง:
"production"
ระบบจะนำรุ่นในแทร็ก "เวอร์ชันที่ใช้งานจริง" ไปใช้งานกับผู้ใช้ทุกคน คุณสามารถใช้การเผยแพร่แบบทีละขั้นในแทร็ก "เวอร์ชันที่ใช้งานจริง" เพื่อ เปิดตัวรุ่นอย่างปลอดภัยโดยเผยแพร่รุ่นไปยังผู้ใช้เวอร์ชันที่ใช้งานจริงเพียงไม่กี่เปอร์เซ็นต์ก่อน แล้วค่อยๆ เพิ่มเปอร์เซ็นต์นี้เมื่อคุณมั่นใจในรุ่นมากขึ้น
ผู้ใช้โหมดง่ายไม่ควรใส่ APK มากกว่า 1 รายการในแทร็กใดๆ ผู้ใช้โหมดขั้นสูงที่ใช้การรองรับ APK หลายรายการ จะอัปโหลด APK 0, 1 หรือมากกว่าไปยังแต่ละแทร็กได้
ชื่อแทร็กสำหรับการติดตามรูปแบบของอุปกรณ์
ชื่อแทร็กสำหรับแทร็กรูปแบบอุปกรณ์จะมีคำนำหน้าที่เป็นตัวระบุเฉพาะ
รูปแบบ | คำนำหน้า |
---|---|
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" }] }
ส่งการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้ Edits: commit ในอีกไม่กี่ชั่วโมงข้างหน้า เราจะเปิดตัว APK ใหม่ให้กับผู้ใช้ ผู้ใช้บางส่วน ที่คุณเลือกจะได้รับ APK ใหม่
คุณอาจต้องการเพิ่มเปอร์เซ็นต์ของผู้ใช้ที่มีสิทธิ์สำหรับรุ่นนั้นหรือหยุดรุ่นดังกล่าว ทั้งนี้ขึ้นอยู่กับความสำเร็จของการเปิดตัวแบบทีละขั้น
การเพิ่มสัดส่วนผู้ใช้สำหรับการเปิดตัวแบบทีละขั้น
สมมติว่าคุณมีการเปิดตัวแบบค่อยเป็นค่อยไปที่ 5% อย่างต่อเนื่องตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีเพิ่มเปอร์เซ็นต์ในกรณีที่รุ่นทำงานได้ดี
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
เปลี่ยน
"inProgress"
การเปิดตัวแบบทีละขั้นในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้วิธีการ Edits.tracks: update เพิ่ม สัดส่วนของผู้ใช้ที่ควรได้รับ APK ใหม่{ "releases": [{ "versionCodes": ["99"], "userFraction": 0.1, "status": "inProgress" }] }
ส่งการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้ Edits: commit ในอีกไม่กี่ชั่วโมงข้างหน้า เราจะเปิดตัว APK ใหม่ให้กับผู้ใช้ ผู้ใช้บางส่วน ที่คุณเลือกจะได้รับ APK ใหม่
หยุดการเปิดตัวแบบทีละขั้น
สมมติว่าคุณมีการเปิดตัวแบบค่อยเป็นค่อยไปที่ 5% ตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีหยุดการเปิดตัวแบบค่อยเป็นค่อยไปในกรณีที่คุณพบปัญหา
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
เปลี่ยน
"inProgress"
การเปิดตัวแบบทีละขั้นในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้วิธีการ Edits.tracks: update ตั้งค่า สถานะเป็น"halted"
{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
ส่งการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้ Edits: commit รุ่นของคุณจะไม่มีให้บริการแก่ผู้ใช้ใหม่อีกต่อไป
หากในภายหลังคุณตัดสินใจที่จะกลับมาใช้งานรุ่นที่ถูกระงับอีกครั้ง คุณสามารถทำได้โดยตั้งค่าสถานะกลับเป็น"inProgress"
การเปิดตัวแบบทีละขั้นเสร็จสมบูรณ์
เมื่อพอใจกับการเปิดตัวแบบทีละขั้นและต้องการเปิดตัวรุ่นให้กับผู้ใช้ 100% คุณสามารถตั้งค่าสถานะรุ่นเป็น"completed"
ได้โดยทำดังนี้
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
เปลี่ยน
"inProgress"
การเปิดตัวแบบทีละขั้นในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้วิธีการ Edits.tracks: update ตั้งค่า สถานะเป็น"completed"
{ "releases": [{ "versionCodes": ["99"], "status": "completed" }] }
ส่งการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้ Edits: commit ในอีกไม่กี่ชั่วโมงข้างหน้า เราจะเปิดตัว APK ใหม่ให้กับผู้ใช้ ผู้ใช้บางส่วน ที่คุณเลือกจะได้รับ APK ใหม่
หยุดการเปิดตัวที่เสร็จสมบูรณ์แล้ว
หากคุณเปิดตัวในแทร็กเสร็จสมบูรณ์แล้วตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีหยุดการเปิดตัวที่เสร็จสมบูรณ์ในกรณีที่คุณพบปัญหา
สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
เปลี่ยนรุ่น
"completed"
ในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update ตั้งค่าสถานะเป็น"halted"
{ "releases": [{ "versionCodes": ["99"], "status": "halted" }] }
ส่งการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้ Edits: commit รุ่นของคุณจะ ไม่พร้อมให้บริการสำหรับผู้ใช้ใหม่หรือผู้ใช้เดิมที่ต้องการอัปเกรดอีกต่อไป
รุ่นที่จะเริ่มแสดงแทนรุ่น "completed"
จะเป็นรุ่น "completed"
ก่อนหน้าในแทร็กที่เผยแพร่แล้วและไม่ได้หยุดให้บริการ โปรดทราบว่าคุณจะหยุด"completed"
รุ่นในแทร็กได้ก็ต่อเมื่อมี"completed"
รุ่น
อย่างน้อย 1 รุ่นเผยแพร่ในแทร็กแล้ว
หากคุณเรียกใช้ GetTrack
หรือ ListTracks
ขณะที่หยุดการเผยแพร่ "completed"
การเผยแพร่ "การเผยแพร่สำรองสำหรับการแสดงโฆษณา" จะปรากฏเป็นการเผยแพร่ที่เสร็จสมบูรณ์ใน
แทร็กที่หยุดการเผยแพร่ "completed"
ก่อนหน้านี้
ตัวอย่างเช่น หากในตอนแรกคุณมีalpha
แทร็กที่มีลักษณะดังนี้
{
"track": "alpha",
"releases": [
{
"name": "2 (2.0)",
"versionCodes": [
"2"
],
"status": "completed"
}
]
}
และคุณหยุด"completed"
การเผยแพร่โดยทำตามขั้นตอนในส่วนนี้
การเรียกใช้ GetTrack
สำหรับแทร็ก alpha
จะแสดงผลคล้ายกับตัวอย่างต่อไปนี้
{
"track": "alpha",
"releases": [
{
"name": "2 (2.0)",
"versionCodes": [
"2"
],
"status": "halted"
},
{
"name": "1 (1.0)",
"versionCodes": [
"1"
],
"status": "completed"
}
]
}
หากตัดสินใจที่จะกลับมา"completed"
เผยแพร่"inProgress"
ในภายหลัง คุณสามารถทำได้โดยตั้งค่าสถานะกลับเป็น"completed"
หรือ"completed"
โปรดทราบว่าคุณสร้างรุ่นที่มีสถานะใหม่
"inProgress"
ทับรุ่น "completed"
ได้ แต่จะ
กลับไปใช้รุ่น "completed"
ที่ 100% ได้เท่านั้น (เช่น กลับไปมีสถานะเป็น "completed"
)
เวอร์ชันร่าง
รุ่นฉบับร่างช่วยให้คุณอัปโหลด 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."} ] }] }