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 của mình và phát hành tệp APK đó trên các kênh phát hành khác nhau. Điều này cho phép bạn triển khai các phiên bản alpha và beta của ứng dụng. Các phiên bản này được cung cấp cho người dùng được phê duyệt. Điều này cũng cho phép bạn triển khai 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 tải phiên bản ứng dụng đó cho đến khi triển khai phiên bản đó dưới dạng phiên bản "chính thức".

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

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

    Phương thức này sẽ tải tệp APK lên một "bộ chứa" lưu trữ, trong đó bạn có thể chỉ định tệp APK 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 bị loại bỏ, thì mọi APK được tải lên bản chỉnh sửa đó cũng sẽ bị mất.)

  2. Phát hành tệp APK trên "tracks" bằng cách gọi Edits.tracks: update. Bạn có thể phát hành tệp APK trên những 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 cho các nhóm thử nghiệm 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 trên kênh kiểm thử nội bộ như đã định cấu hình trong Google Play Console.

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

      Các bản phát hành trên kênh "chính thức" được triển khai cho tất cả người dùng. Trước tiên, bạn có thể tận dụng các bản phát hành theo giai đoạn trên kênh "chính thức" để 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 phiên bản chính thức, sau đó tăng dần tỷ lệ này khi bạn ngày càng tin tưởng vào bản phát hành.

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

Tên kênh cho kênh phát hành dành cho kiểu dáng thiết bị

Tên kênh cho kênh dành cho hệ số hình dạng được thêm vào trước 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

Cách tính tên kênh cho một kênh có hệ số hình dạng cụ thể?

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 phổ biến.

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

Tên kênh cho một kênh có 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".

Các 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. Do đó, kênh kiểm thử khép kín cho 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 làm việc APK

Phần này mô tả cách sử dụng thông thường của Tracks API. Trong trường hợp này, chúng tôi giả định bạn muốn tải các phiên bản APK mới lên cho mỗi 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. (Trong thực tế, nhà phát triển sẽ 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 beta vào một ngày, tạo một bản phát hành theo giai đoạn trong quá trình "chính thức" vào một ngày khác, v.v.)

  1. Mở một nội dung chỉnh sửa mới, như mô tả trong phần Edits Workflow (Chỉnh sửa quy trình làm việc)
  2. Gọi phương thức Edits.apks: upload cho từng tệp APK mà bạn muốn tải lên. Truyền APK vào 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 khu vực 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 sẽ trả về một mã phiên bản cho từng tệp 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 tệp 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 tệp APK. Trong nội dung yêu cầu, hãy chuyển một tài nguyên Edits.tracks có chứa bản phát hành mà bạn muốn ra mắt. Ví dụ: để phát hành một tệp 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 tệp APK. Giống như các nội dung chỉnh sửa khác, các thay đổi sẽ không có hiệu lực cho đến khi bạn thực hiện.

  4. Hãy gọi phương thức Edits: cam kết để xác nhận 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ẽ được cung cấp phiên bản APK cập nhật. (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 phiên bản "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 giải pháp này cho tỷ lệ người dùng ứng dụng mong muốn mà bạn chỉ định. Nếu APK "ra mắt" không gặp vấn đề nào (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 chính thức mới.

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

  1. Tạo một chỉnh sửa, như mô tả trong Chỉnh sửa quy trình làm việc.

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

  3. Bắt đầu 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 nhóm người dùng sẽ nhận được tệp APK mới. Tại thời điểm này, bất kỳ người dùng cuối nào vẫn không thể sử dụng tệp APK.

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

  4. Xác nhận các thay đổi trong nội dung chỉnh sửa đang hoạt động bằng cách gọi Edits: take (Chỉnh sửa: xác nhận). Trong vài giờ tới, APK mới sẽ được ra mắt cho người dùng. Tỷ lệ người dùng mà bạn chọn sẽ nhận được APK mới.

Tuỳ thuộc vào sự thành công của quá trình phát hành theo giai đoạn, bạn nê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 bản phát hành theo giai đoạn

Giả sử bạn đang có một đợt phát hành theo giai đoạn đang diễn ra ở mức 5%, như mô tả trong phần trước, thì phần này sẽ 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 chỉnh sửa, như mô tả trong Chỉnh sửa quy trình làm việc.

  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 phân khúc người dùng sẽ nhận được tệp APK mới:

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

  3. Xác nhận các thay đổi trong nội dung chỉnh sửa đang hoạt động bằng cách gọi Edits: take (Chỉnh sửa: xác nhận). Trong vài giờ tới, APK mới sẽ được ra mắt cho người dùng. Tỷ lệ 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 phát hành theo giai đoạn ở mức 5%, như mô tả trong phần trước, thì phần này sẽ mô tả cách tạm dừng phát hành theo giai đoạn trong trường hợp bạn phát hiện sự cố:

  1. Tạo một chỉnh sửa, như mô tả trong Chỉnh sửa quy trình làm việc.

  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 nội dung chỉnh sửa đang hoạt động bằng cách gọi Edits: take (Chỉnh sửa: xác nhận). Bản phát hành của bạn sẽ không được cung cấp cho người dùng mới nữa.

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

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

Khi đã hài lòng với bản phát hành theo giai đoạn và muốn ra mắt 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 chỉnh sửa, như mô tả trong Chỉnh sửa quy trình làm việc.

  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 nội dung chỉnh sửa đang hoạt động bằng cách gọi Edits: take (Chỉnh sửa: xác nhận). Trong vài giờ tới, APK mới sẽ được ra mắt cho người dùng. Tỷ lệ người dùng mà bạn chọn sẽ nhận được APK mới.

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 tệp APK lên và tạo bản phát hành thông qua API để sau này triển khai 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 nội dung chỉnh sửa mới, như mô tả trong phần Edits Workflow (Chỉnh sửa quy trình làm việc)
  2. Gọi phương thức Edits.apks: upload cho từng tệp APK mà bạn muốn tải lên. Truyền APK vào nội dung yêu cầu của phương thức. Phương thức này sẽ trả về một mã phiên bản cho mỗi APK 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 nhạc 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. Hãy gọi phương thức Edits: cam kết để xác nhận các thay đổi. Giờ đây, bạn có thể kiểm tra và ra mắt 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ể làm nổi bật tính năng mới cho người dùng bằng cách chỉ định ghi chú phát hành trên 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."}
      ]
  }]
}