Tài liệu đầy đủ về Adapty Developer CLI
Đang dùng trợ lý AI? Có sẵn Adapty CLI skill để giúp các LLM làm việc với CLI.
Bài viết này liệt kê tất cả các lệnh Adapty CLI cùng với các đối số, cờ và giá trị được chấp nhận.
Để thiết lập xác thực và quản lý token, xem Xác thực.
Cờ toàn cục
Các cờ này có thể dùng với tất cả các lệnh.
| Cờ | Mô tả |
|---|---|
--json | Xuất dưới dạng JSON thay vì văn bản định dạng |
--help | Hiển thị trợ giúp lệnh |
Tất cả lệnh list cũng chấp nhận cờ phân trang:
| Cờ | Mặc định | Mô tả |
|---|---|---|
--page | 1 | Số trang |
--page-size | 20 | Số mục mỗi trang (tối đa: 100) |
Apps
Quản lý các ứng dụng trong tài khoản Adapty của bạn. Để cấu hình qua Dashboard, xem App settings.
adapty apps list
Liệt kê tất cả ứng dụng trong tài khoản Adapty của bạn.
adapty apps list
Chấp nhận cờ phân trang.
adapty apps get
Lấy thông tin chi tiết của một ứng dụng cụ thể.
adapty apps get <app-id>
| Đối số | Mô tả |
|---|---|
app-id | App ID (UUID) |
adapty apps create
Tạo ứng dụng mới.
adapty apps create --title "My App" --platform ios --apple-bundle-id com.example.app
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--title | Có | Tên ứng dụng |
--platform | Có | Nền tảng: ios hoặc android. Lặp lại để dùng cả hai: --platform ios --platform android |
--apple-bundle-id | Bắt buộc khi dùng --platform ios | Apple bundle ID |
--google-bundle-id | Bắt buộc khi dùng --platform android | Google bundle ID |
adapty apps update
Cập nhật ứng dụng hiện có.
adapty apps update <app-id> --title "New Name"
| Đối số | Mô tả |
|---|---|
app-id | App ID (UUID) |
| Cờ | Mô tả |
|---|---|
--title | Tên ứng dụng mới |
--apple-bundle-id | Apple bundle ID mới |
--google-bundle-id | Google bundle ID mới |
Cần có ít nhất một cờ. --platform không thể thay đổi sau khi tạo.
Mức độ truy cập
adapty access-levels list
Liệt kê tất cả mức độ truy cập của một ứng dụng.
adapty access-levels list --app <app-id>
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Chấp nhận cờ phân trang.
adapty access-levels get
Lấy thông tin chi tiết của một mức độ truy cập cụ thể.
adapty access-levels get --app <app-id> <access-level-id>
| Đối số | Mô tả |
|---|---|
access-level-id | Access level ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
adapty access-levels create
Tạo mức độ truy cập mới.
adapty access-levels create --app <app-id> --sdk-id "pro" --title "Pro"
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--sdk-id | Có | Định danh dùng trong code ứng dụng để kiểm tra quyền truy cập (ví dụ: "pro" hoặc "premium") |
--title | Có | Nhãn hiển thị trên Adapty dashboard |
adapty access-levels update
Cập nhật mức độ truy cập hiện có.
adapty access-levels update --app <app-id> <access-level-id> --title "Pro Access"
| Đối số | Mô tả |
|---|---|
access-level-id | Access level ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--title | Có | Nhãn hiển thị mới |
--sdk-id không thể thay đổi sau khi tạo.
Sản phẩm
adapty products list
Liệt kê tất cả sản phẩm của một ứng dụng.
adapty products list --app <app-id>
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Chấp nhận cờ phân trang.
adapty products get
Lấy thông tin chi tiết của một sản phẩm cụ thể.
adapty products get --app <app-id> <product-id>
| Đối số | Mô tả |
|---|---|
product-id | Product ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
adapty products create
Tạo sản phẩm mới.
Các ID sản phẩm trong cửa hàng (--ios-product-id, --android-product-id, --android-base-plan-id) không thể thay đổi sau khi tạo. Để dùng ID sản phẩm khác trong cửa hàng, hãy tạo sản phẩm mới.
adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --ios-product-id com.example.monthly
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--title | Có | Tên sản phẩm |
--access-level-id | Có | ID mức độ truy cập (UUID) mà sản phẩm này mở khóa |
--period | Có | Chu kỳ gói đăng ký: weekly, monthly, 2_months, 3_months, 6_months, yearly, lifetime |
--ios-product-id | Cần ít nhất một nền tảng | Product ID từ App Store Connect |
--android-product-id | Cần ít nhất một nền tảng | Product ID từ Google Play Console |
--android-base-plan-id | Bắt buộc khi dùng --android-product-id trừ khi --period lifetime | Base plan ID từ Google Play Console |
adapty products update
Cập nhật sản phẩm hiện có.
Các ID sản phẩm trong cửa hàng (--ios-product-id, --android-product-id) không thể thay đổi sau khi tạo và không có trong lệnh này. Để dùng ID sản phẩm khác trong cửa hàng, hãy tạo sản phẩm mới.
adapty products update --app <app-id> <product-id> --title "Monthly" --access-level-id <access-level-id>
| Đối số | Mô tả |
|---|---|
product-id | Product ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--title | Không | Tên sản phẩm |
--access-level-id | Không | ID mức độ truy cập (UUID) mà sản phẩm này mở khóa |
Paywall
adapty paywalls list
Liệt kê tất cả paywall của một ứng dụng.
adapty paywalls list --app <app-id>
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Chấp nhận cờ phân trang.
adapty paywalls get
Lấy thông tin chi tiết của một paywall cụ thể.
adapty paywalls get --app <app-id> <paywall-id>
| Đối số | Mô tả |
|---|---|
paywall-id | Paywall ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
adapty paywalls create
Tạo paywall mới.
adapty paywalls create --app <app-id> --title "Default Paywall" --product-id <product-id>
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--title | Có | Tên paywall |
--product-id | Có | ID sản phẩm (UUID). Lặp lại cho nhiều sản phẩm: --product-id <id1> --product-id <id2> |
adapty paywalls update
Thay thế toàn bộ các trường của một paywall hiện có.
Khi paywall đã được liên kết với một placement, không thể thay đổi sản phẩm của nó. Để dùng sản phẩm khác trong paywall đang hoạt động, hãy tạo paywall mới và cập nhật placement để trỏ đến paywall đó.
adapty paywalls update --app <app-id> <paywall-id> --title "Default Paywall" --product-id <product-id>
Lệnh này thay thế toàn bộ các trường của paywall, bao gồm cả danh sách sản phẩm đầy đủ.
| Đối số | Mô tả |
|---|---|
paywall-id | Paywall ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--title | Có | Tên paywall |
--product-id | Có | ID sản phẩm (UUID). Lặp lại cho nhiều sản phẩm: --product-id <id1> --product-id <id2> |
adapty paywalls placements
Liệt kê tất cả placement đang dùng một paywall nhất định.
adapty paywalls placements --app <app-id> <paywall-id>
| Đối số | Mô tả |
|---|---|
paywall-id | Paywall ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Dùng lệnh này trước khi thay đổi paywall để xem các placement nào sẽ bị ảnh hưởng.
Placement
adapty placements list
Liệt kê tất cả placement của một ứng dụng.
adapty placements list --app <app-id>
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Chấp nhận cờ phân trang.
adapty placements get
Lấy thông tin chi tiết của một placement cụ thể.
adapty placements get --app <app-id> <placement-id>
| Đối số | Mô tả |
|---|---|
placement-id | Placement ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Kết quả trả về chứa mảng audiences. Mỗi phần tử có dạng {segment_ids, paywall_id, priority}. Đối tượng mặc định có segment_ids: [] và giá trị ưu tiên cao nhất (được đánh giá cuối cùng). Đầu ra dạng văn bản cũng hiển thị Paywall ID ở cấp cao nhất, lấy từ đối tượng mặc định để tiện tham khảo. --json trả về dữ liệu API thô không thay đổi.
adapty placements create
Tạo placement mới.
adapty placements create --app <app-id> --title "Main" --developer-id "main" --audiences '[{"segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--title | Có | Tên placement |
--developer-id | Có | Định danh chuỗi dùng trong code ứng dụng để yêu cầu placement này |
--audiences | Một trong hai | Mảng JSON gồm các phần tử {segment_ids, paywall_id, priority}. Xem Cấu trúc Audiences |
--paywall-id | Một trong hai | Không còn dùng. ID paywall (UUID). Được phía client chuyển đổi thành một đối tượng mặc định |
Truyền đúng một trong --audiences hoặc --paywall-id. Truyền cả hai hoặc không truyền cái nào sẽ báo lỗi.
--paywall-id không còn được khuyến nghị và sẽ bị xóa. Khi truyền vào, CLI sẽ in cảnh báo ra stderr và chuyển đổi giá trị thành một đối tượng mặc định. Hãy dùng --audiences cho các tự động hóa mới.
adapty placements update
Thay thế toàn bộ các trường của một placement hiện có.
adapty placements update --app <app-id> <placement-id> --title "Main" --developer-id "main" --audiences '[{"segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
Lệnh này thay thế toàn bộ các trường của placement, bao gồm cả danh sách audiences đầy đủ.
| Đối số | Mô tả |
|---|---|
placement-id | Placement ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
--title | Có | Tên placement |
--developer-id | Có | Định danh chuỗi dùng trong code ứng dụng để yêu cầu placement này |
--audiences | Một trong hai | Mảng JSON gồm các phần tử {segment_ids, paywall_id, priority}. Xem Cấu trúc Audiences |
--paywall-id | Một trong hai | Không còn dùng. ID paywall (UUID). Thay thế toàn bộ audiences bằng một đối tượng mặc định |
Truyền --paywall-id sẽ ghi đè toàn bộ audiences của placement. Các audiences theo phân khúc sẽ bị xóa. Để giữ lại chúng, hãy dùng --audiences và thêm đầy đủ các phần tử bạn muốn giữ.
Cấu trúc Audiences
Cờ --audiences nhận một mảng JSON. Mỗi phần tử có các trường sau:
| Trường | Kiểu | Mô tả |
|---|---|---|
segment_ids | string[] | Các ID phân khúc được nhắm mục tiêu bởi đối tượng này. Độ dài 0 hoặc 1. Mảng rỗng đánh dấu đối tượng mặc định — dự phòng cho người dùng không khớp với phân khúc nào khác |
paywall_id | string | ID paywall (UUID) hiển thị cho người dùng trong đối tượng này |
priority | number | Bắt đầu từ 0, không trùng nhau trong cùng placement. Audiences được đánh giá từ thấp đến cao; đối tượng mặc định phải có giá trị cao nhất |
Một placement phải có đúng một đối tượng mặc định.
Ví dụ với một đối tượng có mục tiêu và một đối tượng mặc định:
adapty placements update <placement-id> --app <app-id> --title "Main" --developer-id "main" \
--audiences '[{"segment_ids":["<vip-segment-id>"],"paywall_id":"<vip-paywall-id>","priority":0},{"segment_ids":[],"paywall_id":"<default-paywall-id>","priority":1}]'
Để thay đổi paywall trên nhiều placement mà không mất cấu hình định tuyến theo phân khúc:
-
Tìm các placement bị ảnh hưởng:
adapty paywalls placements --app <app-id> <old-paywall-id> -
Với mỗi placement, đọc toàn bộ mảng
audiences:adapty placements get --app <app-id> <placement-id> --json -
Thay thế các giá trị
paywall_idtương ứng ở phía client. -
Ghi lại payload đã chỉnh sửa:
adapty placements update --app <app-id> <placement-id> --title "<title>" --developer-id "<developer-id>" --audiences '<modified-payload>'
Phân khúc
Phân khúc chỉ có thể đọc qua CLI. Tạo và chỉnh sửa chúng trên Adapty dashboard. Dùng các lệnh này để tra cứu ID phân khúc khi soạn audiences cho placement.
adapty segments list
Liệt kê tất cả phân khúc của một ứng dụng.
adapty segments list --app <app-id>
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Chấp nhận cờ phân trang.
adapty segments get
Lấy thông tin chi tiết của một phân khúc cụ thể.
adapty segments get --app <app-id> <segment-id>
| Đối số | Mô tả |
|---|---|
segment-id | Segment ID (UUID) |
| Cờ | Bắt buộc | Mô tả |
|---|---|---|
--app | Có | App ID (UUID) |
Kết quả trả về chứa id, title và description. Các quy tắc lọc không được hiển thị qua API này.
Xác thực
| Lệnh | Mô tả |
|---|---|
adapty auth login | Xác thực qua trình duyệt bằng device flow |
adapty auth logout | Xóa thông tin đăng nhập đã lưu ở máy cục bộ |
adapty auth whoami | Xác minh token với máy chủ và hiển thị thông tin người dùng |
adapty auth status | Hiển thị trạng thái xác thực cục bộ mà không gọi máy chủ |
adapty auth revoke | Thu hồi token ở phía máy chủ và xóa ở máy cục bộ |
Xem Xác thực để biết chi tiết từng lệnh.