APK และแทร็ก

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

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

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

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

  2. เผยแพร่ APK บน "แทร็ก" โดยเรียก Edits.tracks: update คุณจะเผยแพร่ APK ในแทร็กต่อไปนี้ได้

    • แทร็กทดสอบ เช่น "alpha" และ "beta"

      ระบบจะทำให้แอปเวอร์ชันอัลฟ่าและเบต้าใช้งานได้ สำหรับผู้ใช้ที่คุณกำหนดให้กับกลุ่มการทดสอบอัลฟ่าและเบต้า คุณจะกำหนดผู้ใช้ให้กับกลุ่มเหล่านี้ได้โดยใช้ Google Play Console

    • แทร็กทดสอบภายใน: "qa"

      แอปเวอร์ชันภายในจะใช้กับแทร็กทดสอบภายในตามที่กำหนดค่าไว้ใน Google Play Console

    • แทร็กเวอร์ชันที่ใช้งานจริง: "production"

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

    ผู้ใช้ที่ใช้โหมดแบบง่ายไม่ควรใส่ APK มากกว่าหนึ่งรายการลงในแทร็กใดๆ ผู้ใช้โหมดขั้นสูงที่ใช้การรองรับ APK หลายรายการ สามารถอัปโหลด APK 0 รายการ หรือมากกว่า 0 รายการไปยังแต่ละแทร็กได้

ชื่อแทร็กสำหรับรูปแบบของอุปกรณ์

ชื่อแทร็กสำหรับแทร็กของรูปแบบของอุปกรณ์จะมีตัวระบุที่เฉพาะเจาะจงนำหน้า

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  4. เรียกใช้เมธอดการแก้ไข: คอมมิต เพื่อคอมมิตการเปลี่ยนแปลง ตอนนี้คุณสามารถตรวจสอบและเปิดตัวเวอร์ชันร่างผ่าน 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."}
      ]
  }]
}