APK và kênh

API Nhà phát triển Google Play cho phép bạn tải tệp APK mới lên cho ứng dụng và phát hành các tệp APK đó vào nhiều kênh phát hành. Nhờ đó, bạn có thể triển khai các phiên bản alpha và beta của ứng dụng cho những người dùng được phê duyệt. Nhờ đó, bạn cũng có thể triển khai một phiên bản phát hành theo giai đoạn. Phiên bản này sẽ tự động được cung cấp cho một số ít người dùng ứng dụng. Sau khi phát hành phiên bản phát hành theo giai đoạn, bạn có thể tăng dần số lượng người dùng nhận được phiên bản đó của ứng dụng cho đến khi cuối cùng bạn triển khai phiên bản đó làm phiên bản "phát hành công khai".

Thêm và sửa đổi APK

  1. Tải một hoặc nhiều APK lên bằng cách gọi phương thức Edits.apks: upload.

    Phương thức này tải APK lên một "nhóm" lưu trữ, nơi APK có thể được chỉ định cho một "kênh" để triển khai cho người dùng. (Nếu bản chỉnh sửa bị xoá hoặc loại bỏ, mọi APK đã tải lên bản chỉnh sửa đó cũng sẽ bị mất.)

  2. Phát hành APK trên "kênh phát hành" bằng cách gọi Edits.tracks: update. Bạn có thể phát hành APK trên các kênh sau:

    • Các kênh kiểm thử như "alpha""beta"

      Phiên bản alpha và beta của ứng dụng được triển khai cho những người dùng mà bạn chỉ định vào nhóm kiểm thử alpha và beta. Bạn chỉ định người dùng vào các nhóm này bằng Google Play Console.

    • Kênh kiểm thử nội bộ: "qa"

      Các phiên bản nội bộ của ứng dụng sẽ được triển khai cho kênh kiểm thử nội bộ như được định cấu hình trong Google Play Console.

    • Kênh phát hành công khai: "production"

      Bản phát hành trên kênh "phát hành công khai" được triển khai cho tất cả người dùng. Bạn có thể sử dụng tính năng phát hành theo giai đoạn trên kênh "phát hành công khai" để triển khai bản phát hành một cách an toàn cho một tỷ lệ nhỏ người dùng phát hành công khai trước, sau đó tăng dần tỷ lệ này khi bạn tin tưởng hơn vào bản phát hành.

    Người dùng ở chế độ đơn giản không được đưa nhiều APK vào bất kỳ kênh nào. Người dùng ở chế độ nâng cao sử dụng tính năng hỗ trợ nhiều APK có thể tải lên 0, 1 hoặc nhiều APK cho mỗi kênh.

Tên kênh cho các kênh hệ số hình dạng

Tên bản phát cho bản phát theo hệ số hình dạng có tiền tố là một giá trị nhận dạng cụ thể.

Kiểu dáng Tiền tố
Android Automotive OS ô tô
Wear OS wear
Android TV tv
Android XR android_xr
Google Play Games trên máy tính google_play_games_pc

Cách tính tên bản phát hành cho một bản phát hành có hệ số hình dạng nhất định?

Các loại kênh phổ biến như kênh phát hành công khai, kênh kiểm thử công khai và kênh kiểm thử nội bộ đều có tên kênh quen thuộc.

Loại theo dõi Tên bản âm thanh mặc định
Sản xuất Khâu sản xuất
Thử nghiệm công khai Phiên bản beta
Kiểm thử nội bộ qa

Tên kênh cho một kênh hệ số hình dạng nhất định có thể được tính như sau: "[prefix]:defaultTrackName". Ví dụ: hệ số hình dạng Wear OS sẽ có các kênh có tên: "wear:production", "wear:beta""wear:qa".

Kênh kiểm thử khép kín được tạo theo cách thủ công và có tên tuỳ chỉnh. Vì vậy, một kênh kiểm thử khép kín cho một hệ số hình dạng có tên $name sẽ có tên kênh là "[prefix]:$name".

Ví dụ về quy trình công việc APK

Phần này mô tả cách sử dụng Tracks API theo cách thông thường. Trong trường hợp này, giả sử bạn muốn tải phiên bản mới của APK lên cho từng kênh và chỉ định một số người dùng nhận phiên bản phát hành theo giai đoạn. (Trên thực tế, nhà phát triển khó có thể thực hiện tất cả các thao tác này trong cùng một hoạt động; thay vào đó, bạn có thể cập nhật phiên bản thử nghiệm vào một ngày, tạo bản phát hành theo giai đoạn trên "phiên bản chính thức" vào một ngày khác, v.v.)

  1. Mở một bản chỉnh sửa mới, như mô tả trong phần Quy trình chỉnh sửa
  2. Gọi phương thức Edits.apks: upload cho từng APK mà bạn muốn tải lên. Truyền APK trong phần nội dung yêu cầu của phương thức. (Thao tác này sẽ đặt APK vào một vùng lưu trữ nhưng không phát hành APK đó trên một kênh hoặc triển khai APK đó.) Phương thức này trả về mã phiên bản cho mỗi APK mà bạn tải lên; bạn sẽ sử dụng mã phiên bản này để tham chiếu đến APK khi phát hành trên một kênh.
  3. Gọi phương thức Edits.tracks: update cho từng kênh mà bạn muốn phát hành APK. Trong nội dung yêu cầu, hãy truyền một tài nguyên Edits.tracks chứa bản phát hành mà bạn muốn ra mắt. Ví dụ: để phát hành một APK có mã phiên bản 88:

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

    Tại thời điểm này, người dùng vẫn chưa thể sử dụng các APK. Giống như các nội dung chỉnh sửa khác, những thay đổi này sẽ không có hiệu lực cho đến khi bạn cam kết.

  4. Gọi phương thức Edits: commit để lưu các thay đổi. Sau khi bạn thực hiện việc này, người dùng trên mỗi kênh sẽ nhận được phiên bản cập nhật của APK. (Giống như mọi nội dung chỉnh sửa khác, có thể mất vài giờ thì các thay đổi mới có hiệu lực.)

Phát hành theo giai đoạn

Khi có một phiên bản APK mới mà bạn muốn triển khai dần, bạn có thể chọn phát hành phiên bản đó dưới dạng "phát hành theo giai đoạn". Nếu bạn làm như vậy, Google Play sẽ tự động triển khai bản cập nhật đó cho một phần người dùng ứng dụng mà bạn chỉ định. Nếu APK "phát hành" không gặp vấn đề gì (chẳng hạn như sự cố, v.v.), bạn có thể tăng tỷ lệ người dùng nhận được phiên bản đó; khi đã sẵn sàng, bạn có thể triển khai APK đó làm phiên bản phát hành công khai mới.

Phần này mô tả các bước bạn sẽ thực hiện để triển khai từng giai đoạn cho một APK, sau đó chuyển APK đó sang phiên bản phát hành công khai:

  1. Tạo một thao tác chỉnh sửa, như mô tả trong phần Quy trình chỉnh sửa.

  2. Tải một APK mới lên bản chỉnh sửa bằng phương thức Edits.apks: upload.

  3. Bắt đầu một bản phát hành theo giai đoạn "inProgress" trên kênh phát hành công khai bằng phương thức Edits.tracks: update. Chọn tỷ lệ người dùng sẽ nhận được tệp APK mới. Tại thời điểm này, người dùng cuối vẫn chưa thể sử dụng APK.

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

  4. Xác nhận các thay đổi trong chế độ chỉnh sửa đang hoạt động bằng cách gọi Edits: commit. Trong vài giờ tới, APK mới sẽ được phát hành cho người dùng. Một phần nhỏ người dùng mà bạn chọn sẽ nhận được APK mới.

Tuỳ thuộc vào mức độ thành công của bản phát hành theo giai đoạn, bạn có thể muốn tăng tỷ lệ phần trăm người dùng đủ điều kiện nhận bản phát hành đó hoặc tạm dừng phát hành.

Tăng tỷ lệ người dùng cho một bản phát hành theo giai đoạn

Giả sử bạn đang triển khai từng giai đoạn ở mức 5% như mô tả trong phần trước, phần này mô tả cách tăng tỷ lệ phần trăm trong trường hợp bản phát hành diễn ra suôn sẻ:

  1. Tạo một thao tác chỉnh sửa, như mô tả trong phần Quy trình chỉnh sửa.

  2. Thay đổi bản phát hành theo giai đoạn "inProgress" trên kênh phát hành công khai bằng phương thức Edits.tracks: update. Tăng tỷ lệ người dùng sẽ nhận được APK mới:

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

  3. Xác nhận các thay đổi trong chế độ chỉnh sửa đang hoạt động bằng cách gọi Edits: commit. Trong vài giờ tới, APK mới sẽ được phát hành cho người dùng. Một phần nhỏ người dùng mà bạn chọn sẽ nhận được APK mới.

Tạm dừng phát hành theo giai đoạn

Giả sử bạn đang triển khai từng giai đoạn ở mức 5% như mô tả trong phần trước, phần này sẽ mô tả cách tạm dừng quy trình triển khai từng giai đoạn trong trường hợp bạn phát hiện ra vấn đề:

  1. Tạo một thao tác chỉnh sửa, như mô tả trong phần Quy trình chỉnh sửa.

  2. Thay đổi bản phát hành theo giai đoạn "inProgress" trên kênh phát hành công khai bằng phương thức Edits.tracks: update. Đặt trạng thái thành "halted".

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

  3. Xác nhận các thay đổi trong chế độ chỉnh sửa đang hoạt động bằng cách gọi Edits: commit. Người dùng mới sẽ không còn thấy bản phát hành của bạn nữa.

Nếu sau này quyết định tiếp tục một bản phát hành bị tạm dừng, bạn có thể làm như vậy bằng cách đặt trạng thái của bản phát hành đó về "inProgress".

Hoàn tất quy trình phát hành theo giai đoạn

Sau khi hài lòng với bản phát hành theo giai đoạn và muốn phát hành bản phát hành đó cho 100% người dùng, bạn có thể đặt trạng thái phát hành thành "completed":

  1. Tạo một thao tác chỉnh sửa, như mô tả trong phần Quy trình chỉnh sửa.

  2. Thay đổi bản phát hành theo giai đoạn "inProgress" trên kênh phát hành công khai bằng phương thức Edits.tracks: update. Đặt trạng thái thành "completed".

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

  3. Xác nhận các thay đổi trong chế độ chỉnh sửa đang hoạt động bằng cách gọi Edits: commit. Trong vài giờ tới, APK mới sẽ được phát hành cho người dùng. Một phần nhỏ người dùng mà bạn chọn sẽ nhận được APK mới.

Tạm dừng một bản phát hành đã hoàn tất

Giả sử bạn đã hoàn tất quy trình phát hành trên một kênh như mô tả trong phần trước, phần này trình bày cách tạm dừng quy trình phát hành đã hoàn tất trong trường hợp bạn phát hiện thấy vấn đề:

  1. Tạo một bản chỉnh sửa, như mô tả trong phần Quy trình chỉnh sửa.

  2. Thay đổi bản phát hành "completed" trên kênh phát hành công khai bằng phương thức Edits.tracks: update. Đặt trạng thái thành "halted".

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

  3. Xác nhận các thay đổi trong chế độ chỉnh sửa đang hoạt động bằng cách gọi Edits: commit. Người dùng mới sẽ không còn thấy bản phát hành của bạn, còn người dùng hiện tại sẽ không thể nâng cấp lên bản phát hành đó.

Bản phát hành sẽ bắt đầu phân phối thay cho bản phát hành "completed" sẽ là bản phát hành "completed" trước đó trên kênh đã được xuất bản và không bị tạm dừng. Xin lưu ý rằng điều này có nghĩa là bạn chỉ có thể tạm dừng một "completed"bản phát hành trên một kênh nếu đã có một hoặc nhiều bản phát hành "completed"được xuất bản trên kênh đó.

Nếu bạn gọi GetTrack hoặc ListTracks trong khi một bản phát hành "completed" bị tạm dừng, thì "bản phát hành dự phòng đang phân phát" sẽ xuất hiện dưới dạng bản phát hành đã hoàn tất trên kênh nơi bản phát hành "completed" trước đó bị tạm dừng.

Ví dụ: nếu ban đầu bạn có một bản nhạc alpha có dạng như sau:

{
  "track": "alpha",
  "releases": [
    {
      "name": "2 (2.0)",
      "versionCodes": [
        "2"
      ],
      "status": "completed"
    }
  ]
}

và bạn đã tạm dừng bản phát hành "completed" theo các bước trong phần này, việc gọi GetTrack cho bản phát hành alpha sẽ trả về nội dung như sau:

{
  "track": "alpha",
  "releases": [
    {
      "name": "2 (2.0)",
      "versionCodes": [
        "2"
      ],
      "status": "halted"
    },
    {
      "name": "1 (1.0)",
      "versionCodes": [
        "1"
      ],
      "status": "completed"
    }
  ]
}

Nếu sau này quyết định tiếp tục phát hành "completed", bạn có thể đặt trạng thái của bản phát hành đó thành "inProgress" hoặc "completed". Xin lưu ý rằng bạn có thể tạo một bản phát hành trạng thái "inProgress" mới dựa trên bản phát hành "completed" nhưng sau đó bạn sẽ chỉ có thể tiếp tục phát hành bản "completed" trở lại 100% (tức là về trạng thái "completed").

Bản phát hành nháp

Bản phát hành nháp cho phép bạn tự động tải APK lên và tạo bản phát hành thông qua API. Sau đó, bạn có thể triển khai bản phát hành này thông qua Google Play Console. Cách tạo bản phát hành nháp trên một kênh:

  1. Mở một bản chỉnh sửa mới, như mô tả trong phần Quy trình chỉnh sửa
  2. Gọi phương thức Edits.apks: upload cho từng APK mà bạn muốn tải lên. Truyền APK vào phần nội dung yêu cầu của phương thức. Phương thức này trả về mã phiên bản cho mỗi APK mà bạn tải lên; bạn sẽ sử dụng mã phiên bản này để tham chiếu đến APK khi chỉ định APK đó cho một bản phát hành.
  3. Gọi phương thức Edits.tracks: update cho từng bản phát hành mà bạn muốn phát hành. Trong nội dung yêu cầu, hãy truyền một tài nguyên Edits.tracks chứa bản phát hành nháp mà bạn muốn tạo. Ví dụ:

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

  4. Gọi phương thức Edits: commit để lưu các thay đổi. Giờ đây, bạn có thể kiểm tra và triển khai bản phát hành nháp thông qua Google Play Console hoặc API.

Chỉ định ghi chú phát hành

Khi phát hành một phiên bản mới của ứng dụng, bạn có thể nêu bật những điểm mới cho người dùng bằng cách chỉ định ghi chú phát hành cho bản phát hành.

Để thực hiện việc này, hãy sử dụng trường "releaseNotes" khi cung cấp tài nguyên Edits.tracks cho phương thức Edits.tracks: update.

{
  "releases": [{
      "name": "Release with notes",
      "versionCodes": ["88"],
      "status": "completed",
      "releaseNotes": [
        {"language": "en-US", "text": "Describe what's new in this release."}
      ]
  }]
}