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

  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. ส่งการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้ Edits: commit ในอีกไม่กี่ชั่วโมงข้างหน้า เราจะเปิดตัว APK ใหม่ให้ผู้ใช้ ผู้ใช้ ที่คุณเลือกจะได้รับ APK ใหม่

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

หยุดการเปิดตัวที่เสร็จสมบูรณ์แล้ว

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

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

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

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

  3. ส่งการเปลี่ยนแปลงในการแก้ไขที่ใช้งานอยู่โดยเรียกใช้ 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"หรือ"inProgress" โปรดทราบว่าคุณสร้างรุ่นที่มีสถานะใหม่ "inProgress"ทับรุ่น"completed"ได้ แต่จะกลับมาเผยแพร่รุ่น"completed"อีกครั้งได้ที่ 100% เท่านั้น (กล่าวคือ มีสถานะเป็น"completed")

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

รุ่นฉบับร่างช่วยให้คุณอัปโหลด 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."}
      ]
  }]
}