APK และแทร็ก

Google Play Developer API ช่วยให้คุณอัปโหลด APK ใหม่สำหรับแอปและเผยแพร่แอปไปยังแทร็กรุ่นต่างๆ ได้ ซึ่งจะช่วยให้คุณทำให้แอปเวอร์ชันอัลฟ่าและเบต้าพร้อมให้บริการแก่ผู้ใช้ที่ได้รับอนุมัติได้ นอกจากนี้ คุณยังใช้วิธีนี้เพื่อทำให้การเปิดตัวแบบเป็นขั้นพร้อมใช้งานโดยอัตโนมัติสำหรับผู้ใช้แอปจํานวนน้อยได้ด้วย เมื่อเผยแพร่เวอร์ชันการเปิดตัวแบบทีละขั้นแล้ว คุณสามารถค่อยๆ เพิ่มจำนวนผู้ใช้ที่ได้รับแอปเวอร์ชันนั้นๆ จนกว่าจะใช้เวอร์ชันดังกล่าวเป็นเวอร์ชัน "เวอร์ชันที่ใช้งานจริง" ในที่สุด

การเพิ่มและการแก้ไข APK

  1. อัปโหลด APK อย่างน้อย 1 รายการโดยเรียกใช้เมธอด Edits.apks: upload

    วิธีนี้จะอัปโหลด APK ไปยัง "ที่เก็บข้อมูล" ซึ่งสามารถกำหนด APK ให้กับ "แทร็ก" เพื่อนำไปใช้งานกับผู้ใช้ (หากการแก้ไขถูกลบหรือทิ้ง APK ที่อัปโหลดไปยังการแก้ไขนั้นก็จะหายไปด้วย)

  2. เผยแพร่ 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 เวอร์ชันใหม่สำหรับแต่ละแทร็ก และกำหนดจำนวนผู้ใช้ที่จะรับเวอร์ชันการเปิดตัวแบบทีละขั้น (ในทางปฏิบัติ นักพัฒนาแอปไม่น่าจะดำเนินการทั้งหมดนี้ในการดำเนินการเดียวกัน แต่อาจอัปเดตเวอร์ชันเบต้าในวันหนึ่ง สร้างรุ่นที่แบ่งเป็นระยะใน "เวอร์ชันที่ใช้งานจริง" ในวันถัดไป และอื่นๆ)

  1. เปิดการแก้ไขใหม่ตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
  2. เรียกใช้เมธอด Edits.apks: upload สำหรับ APK แต่ละรายการที่ต้องการอัปโหลด ส่ง APK ในเนื้อหาคำขอของเมธอด (การดำเนินการนี้จะวาง APK ในพื้นที่เก็บข้อมูล แต่ไม่เผยแพร่หรือทำให้ใช้งานได้ในแทร็ก) วิธีการนี้จะแสดงผลรหัสเวอร์ชันสำหรับ APK แต่ละรายการที่คุณอัปโหลด คุณจะใช้รหัสเวอร์ชันนี้เพื่ออ้างอิง APK เมื่อเผยแพร่ในแทร็ก
  3. เรียกใช้เมธอด Edits.tracks: update สำหรับแต่ละแทร็กที่ต้องการเผยแพร่ APK ในเนื้อหาของคำขอ ให้ส่งทรัพยากร Edits.tracks ที่มีรุ่นที่ต้องการเปิดตัว ตัวอย่างเช่น หากต้องการเผยแพร่ APK ที่มีรหัสเวอร์ชัน 88 ให้ทำดังนี้

    {
    "releases": [{
      "versionCodes": ["88"],
      "status": "completed"
    }]
    }

    ในตอนนี้ APK ยังไม่พร้อมให้บริการแก่ผู้ใช้ การเปลี่ยนแปลงจะไม่เผยแพร่จนกว่าคุณจะยืนยัน

  4. เรียกใช้เมธอด Edits: commit เพื่อบันทึกการเปลี่ยนแปลง หลังจากดำเนินการนี้ ผู้ใช้ในแต่ละแทร็กจะได้รับ APK เวอร์ชันที่อัปเดต (เช่นเดียวกับการแก้ไขทั้งหมด การเปลี่ยนแปลงอาจใช้เวลาหลายชั่วโมงจึงจะมีผล)

การเปิดตัวแบบทีละขั้น

เมื่อคุณมี APK เวอร์ชันใหม่ที่ต้องการทยอยนำออกใช้งาน คุณอาจเลือกที่จะเผยแพร่เป็นเวอร์ชัน "การเปิดตัวแบบเป็นขั้นๆ" เมื่อคุณดำเนินการนี้ Google Play จะทําให้ผู้ใช้แอปจำนวนที่ต้องการซึ่งคุณระบุใช้งานได้โดยอัตโนมัติ หาก APK "การเปิดตัว" ไม่มีปัญหา (เช่น ข้อขัดข้อง ฯลฯ) คุณอาจเพิ่มจำนวนผู้ใช้ที่ได้รับเวอร์ชันนั้น และเมื่อพร้อมแล้ว ก็สามารถทำให้ APK นั้นเป็นเวอร์ชันที่ใช้งานจริงเวอร์ชันใหม่ได้

ส่วนนี้จะอธิบายขั้นตอนที่คุณต้องทำเพื่อทำการเปิดตัว APK แบบทีละขั้น จากนั้นจึงโปรโมตไปยังเวอร์ชันที่ใช้งานจริง

  1. สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข

  2. อัปโหลด APK ใหม่ไปยังการแก้ไขโดยใช้เมธอด Edits.apks: upload

  3. เริ่มรุ่น "inProgress" แบบทีละขั้นในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update เลือกเศษส่วนของผู้ใช้ที่ควรได้รับ APK ใหม่ ในตอนนี้ APK ยังไม่พร้อมให้บริการแก่ผู้ใช้ปลายทาง

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.05,
      "status": "inProgress"
    }]
    }

  4. บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก เราจะเปิดตัว APK ใหม่ให้ผู้ใช้ในอีกไม่กี่ชั่วโมงข้างหน้า ผู้ใช้บางส่วนที่คุณเลือกจะได้รับ APK ใหม่

คุณอาจต้องเพิ่มเปอร์เซ็นต์ของผู้ใช้ที่มีสิทธิ์ใช้รุ่นนั้นหรือหยุดรุ่นนั้นไว้ ทั้งนี้ขึ้นอยู่กับความสําเร็จของการเปิดตัวแบบทีละขั้น

การเพิ่มเศษส่วนของผู้ใช้สำหรับการเปิดตัวแบบทีละขั้น

สมมติว่าคุณมีการเปิดตัวแบบเป็นขั้นเป็นตอนอย่างต่อเนื่องที่ 5% ตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีเพิ่มเปอร์เซ็นต์ในกรณีที่การเผยแพร่ดำเนินไปได้ด้วยดี

  1. สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข

  2. เปลี่ยนรุ่น "inProgress" ที่อัปเดตแล้วในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update เพิ่มเศษส่วนของผู้ใช้ที่ควรได้รับ APK ใหม่

    {
    "releases": [{
      "versionCodes": ["99"],
      "userFraction": 0.1,
      "status": "inProgress"
    }]
    }

  3. บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก เราจะเปิดตัว APK ใหม่ให้ผู้ใช้ในอีกไม่กี่ชั่วโมงข้างหน้า ผู้ใช้บางส่วนที่คุณเลือกจะได้รับ APK ใหม่

การหยุดการเปิดตัวแบบทีละขั้น

สมมติว่าคุณมีการทยอยเปิดตัวแบบเป็นขั้นเป็นตอนที่กำลังดำเนินอยู่ 5% ตามที่อธิบายไว้ในส่วนก่อนหน้า ส่วนนี้จะอธิบายวิธีหยุดการทยอยเปิดตัวแบบเป็นขั้นเป็นตอนในกรณีที่คุณพบปัญหา

  1. สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข

  2. เปลี่ยนรุ่น "inProgress" ที่อัปเดตแล้วในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update ตั้งค่าสถานะเป็น "halted"

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "halted"
    }]
    }

  3. บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก ผู้ใช้ใหม่จะไม่สามารถใช้งานรุ่นของคุณได้อีกต่อไป

หากในภายหลังคุณตัดสินใจที่จะเผยแพร่รุ่นที่หยุดไว้ต่อ ก็สามารถดำเนินการได้โดยตั้งค่าสถานะกลับเป็น "inProgress"

การเปิดตัวแบบทีละขั้นเสร็จสมบูรณ์

เมื่อพอใจกับการเปิดตัวแบบทีละขั้นและต้องการเปิดตัวรุ่นให้ผู้ใช้ 100% คุณตั้งค่าสถานะรุ่นเป็น"completed"ได้โดยทำดังนี้

  1. สร้างการแก้ไขตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข

  2. เปลี่ยนรุ่น "inProgress" ที่อัปเดตแล้วในแทร็กเวอร์ชันที่ใช้งานจริงโดยใช้เมธอด Edits.tracks: update ตั้งค่าสถานะเป็น "completed"

    {
    "releases": [{
      "versionCodes": ["99"],
      "status": "completed"
    }]
    }

  3. บันทึกการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้การแก้ไข: บันทึก เราจะเปิดตัว APK ใหม่ให้ผู้ใช้ในอีกไม่กี่ชั่วโมงข้างหน้า ผู้ใช้บางส่วนที่คุณเลือกจะได้รับ APK ใหม่

เวอร์ชันร่าง

รุ่นฉบับร่างช่วยให้คุณอัปโหลด APK และสร้างรุ่นผ่าน API โดยอัตโนมัติ ซึ่งจะนำไปใช้งานได้ในภายหลังผ่าน Google Play Console วิธีสร้างเวอร์ชันร่างในแทร็ก

  1. เปิดการแก้ไขใหม่ตามที่อธิบายไว้ในเวิร์กโฟลว์การแก้ไข
  2. เรียกใช้เมธอด Edits.apks: upload สำหรับ APK แต่ละรายการที่ต้องการอัปโหลด ส่ง APK ในเนื้อหาคําขอของเมธอด โดยเมธอดนี้จะแสดงผลรหัสเวอร์ชันของ APK แต่ละรายการที่คุณอัปโหลด คุณจะใช้รหัสเวอร์ชันนี้เพื่ออ้างอิง APK เมื่อกำหนดให้กับรุ่น
  3. เรียกใช้เมธอด Edits.tracks: update สำหรับแต่ละแทร็กที่ต้องการเผยแพร่ ในเนื้อหาของคำขอ ให้ส่งทรัพยากร Edits.tracks ที่มีรุ่นฉบับร่างที่ต้องการสร้าง เช่น

    {
    "releases": [{
      "name": "My draft release",
      "versionCodes": ["88"],
      "status": "draft"
    }]
    }

  4. เรียกใช้เมธอด 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."}
      ]
  }]
}