Tham chiếu lệnh cho Adapty Developer CLI

Bài viết này liệt kê các lệnh Adapty CLI dùng để cấu hình tài khoản của bạn — ứng dụng, mức độ truy cập, sản phẩm, paywall, flow, placement và phân khúc — kèm theo các đối số, cờ và giá trị được chấp nhận. Để biết thêm về các chiến dịch Apple Ads, xem Lệnh Ads Manager.

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ả
--jsonXuất dưới dạng JSON thay vì văn bản định dạng
--helpHiể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 địnhMô tả
--page1Số trang
--page-size20Số 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-idApp 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ộcMô tả
--titleTên ứng dụng
--platformNền tảng: ios hoặc android. Lặp lại để dùng cả hai: --platform ios --platform android
--apple-bundle-idBắt buộc khi dùng --platform iosApple bundle ID
--google-bundle-idBắt buộc khi dùng --platform androidGoogle 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-idApp ID (UUID)
CờMô tả
--titleTên ứng dụng mới
--apple-bundle-idApple bundle ID mới
--google-bundle-idGoogle 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ộcMô tả
--appApp 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-idAccess level ID (UUID)
CờBắt buộcMô tả
--appApp 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ộcMô tả
--appApp ID (UUID)
--sdk-idĐịnh danh dùng trong code ứng dụng để kiểm tra quyền truy cập (ví dụ: "pro" hoặc "premium")
--titleNhã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-idAccess level ID (UUID)
CờBắt buộcMô tả
--appApp ID (UUID)
--titleNhã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ộcMô tả
--appApp 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-idProduct ID (UUID)
CờBắt buộcMô tả
--appApp ID (UUID)

adapty products create

Tạo một sản phẩm mới.

Important

ID sản phẩm và ID giá trong cửa hàng không thể thay đổi sau khi tạo. Để sử dụng các ID cửa hàng khác, 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
FlagRequiredDescription
--appApp ID (UUID)
--titleTiêu đề sản phẩm
--access-level-idID (UUID) của mức độ truy cập mà sản phẩm này mở khóa
--periodChu kỳ gói đăng ký: weekly, monthly, two_months, trimonthly, semiannual, annual, lifetime
--ios-product-idBắt buộc có ít nhất một cửa hàngID sản phẩm từ App Store Connect
--android-product-idBắt buộc có ít nhất một cửa hàngID sản phẩm từ Google Play Console
--android-base-plan-idBắt buộc khi dùng --android-product-id trừ khi --period lifetimeID base plan từ Google Play Console
--stripe-product-idBắt buộc có ít nhất một cửa hàngID sản phẩm từ Stripe
--stripe-price-idBắt buộc khi dùng --stripe-product-idID giá từ Stripe
--paddle-product-idBắt buộc có ít nhất một cửa hàngID sản phẩm từ Paddle
--paddle-price-idBắt buộc khi dùng --paddle-product-idID giá từ Paddle

Mỗi sản phẩm cần có ít nhất một cửa hàng: --ios-product-id, --android-product-id, --stripe-product-id, hoặc --paddle-product-id. Một sản phẩm có thể mang ID của nhiều cửa hàng cùng lúc.

Để bán sản phẩm trên web qua Stripe hoặc Paddle, hãy kết nối nhà cung cấp thanh toán với Adapty trước: xem StripePaddle. Với mỗi cửa hàng này, bạn cần truyền cả product ID lẫn price ID cùng nhau. Lệnh sẽ thất bại nếu bạn chỉ truyền một trong hai.

adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --stripe-product-id prod_xxx --stripe-price-id price_xxx

Sản phẩm chỉ dành cho web là hợp lệ: bạn có thể tạo sản phẩm với ID Stripe hoặc Paddle mà không cần ID App Store hay Google Play.

adapty products update

Cập nhật một sản phẩm hiện có.

ID sản phẩm và ID giá trong cửa hàng không thể thay đổi sau khi tạo và không có sẵn trong lệnh này. Để sử dụng các ID cửa hàng khác, 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>
ArgumentDescription
product-idProduct ID (UUID)
CờBắt buộcMô tả
--appApp ID (UUID)
--titleKhôngTên sản phẩm
--access-level-idKhôngID 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ộcMô tả
--appApp 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-idPaywall ID (UUID)
CờBắt buộcMô tả
--appApp 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ộcMô tả
--appApp ID (UUID)
--titleTên paywall
--product-idID 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ó.

Important

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-idPaywall ID (UUID)
CờBắt buộcMô tả
--appApp ID (UUID)
--titleTên paywall
--product-idID 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ả các placement hiện đang sử dụng một paywall nhất định.

adapty paywalls placements --app <app-id> <paywall-id>
Tham sốMô tả
paywall-idID paywall (UUID)
FlagBắt buộcMô tả
--appID ứng dụng (UUID)

Sử dụng lệnh này trước khi thay đổi paywall để xem những placement nào sẽ bị ảnh hưởng.

Các mục trong danh sách này không có trường is_active. Để đọc trạng thái kích hoạt của một placement, hãy dùng placements list hoặc placements get.

Flows

Flow là các paywall và onboarding bạn xây dựng trong Flow & Paywall Builder. CLI quản lý bản ghi flow, cấu hình builder và việc xuất bản. Cấu hình builder là một tài liệu JSON lớn mà Flow & Paywall Builder thường tạo ra, và CLI không tự tạo cấu hình đó. Để tạo hoặc chỉnh sửa cấu hình từ terminal, hãy sử dụng flow-generator skill, công cụ này sẽ điều phối các lệnh cho bạn. Trước khi xuất bản, flow-audit skill sẽ kiểm tra xem flow có sẵn sàng cho môi trường production chưa. Các lệnh được liệt kê ở đây để tham khảo.

adapty flows list

Liệt kê tất cả các flow của một ứng dụng.

adapty flows list --app <app-id>
FlagRequiredDescription
--appYesApp ID (UUID)

Chấp nhận các flag phân trang.

adapty flows get

Lấy thông tin chi tiết của một flow cụ thể.

adapty flows get --app <app-id> <flow-id>
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)

Kết quả trả về bao gồm id, name, status, và updated_at. Giá trị của status là một trong các giá trị sau:

Trạng tháiÝ nghĩa
draftFlow chưa bao giờ được xuất bản
publishedPhiên bản hiện tại đang hoạt động
dirtyFlow đã được xuất bản trước đó, và phiên bản hiện tại có các thay đổi chưa được xuất bản. Người dùng vẫn đang xem phiên bản được xuất bản lần cuối
publishingĐang trong quá trình xuất bản
publication_failedLần xuất bản cuối đã thất bại. Hãy sửa cấu hình và xuất bản lại
archivedFlow đã được lưu trữ

adapty flows create

Tạo một flow. Flow mới có tên và chưa có cấu hình. Để thêm cấu hình, dùng flows config update.

adapty flows create --app <app-id> --name "Onboarding"
FlagBắt buộcMô tả
--appApp ID (UUID)
--nameTên flow

adapty flows update

Đổi tên một flow.

adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)
--nameYesTên flow mới

adapty flows publish

Xuất bản phiên bản hiện tại của một flow đến người dùng.

adapty flows publish --app <app-id> <flow-id>
Đối sốMô tả
flow-idID của flow (UUID)
CờBắt buộcMô tả
--appID của app (UUID)
--yes, -yKhôngXuất bản mà không cần xác nhận. Bắt buộc khi đầu ra được dẫn qua pipe hoặc dùng --json

Vì việc xuất bản ảnh hưởng trực tiếp đến những gì người dùng nhìn thấy, lệnh sẽ in tên flow và yêu cầu xác nhận. Bất kỳ câu trả lời nào khác y đều hủy lệnh với mã thoát 1. Khi dùng --json hoặc trong pipe, lệnh sẽ từ chối với mã thoát 2 thay vì chờ câu trả lời, vì vậy hãy truyền --yes trong các script và phiên agent.

Quá trình xuất bản là bất đồng bộ: phản hồi trả về status: publishing và flow chưa hoạt động ngay. Hãy poll flows get cho đến khi trạng thái chuyển thành published hoặc publication_failed. Khi gặp publication_failed, flows config get sẽ cho biết nguyên nhân.

Việc xuất bản sẽ thất bại với HTTP 400 khi flow chưa có config, khi config không thể xuất bản được, hoặc khi phiên bản hiện tại đã được phát hành. Để kiểm tra config trước khi xuất bản, hãy dùng flows config validate.

adapty flows config get

Đọc cấu hình builder của một flow.

adapty flows config get --app <app-id> <flow-id>
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)

Phản hồi chứa các trường config, remote_configs, statusupdated_at. updated_at là timestamp tính bằng mili giây của lần thay đổi config cuối cùng. Truyền giá trị này vào flows config update qua tham số --expected-updated-at để tránh ghi đè các chỉnh sửa đồng thời. Một flow chưa từng được ghi config sẽ trả về 404.

Sau một lần thử publication, phản hồi cũng chứa thêm ba trường mô tả kết quả. Hãy đọc chúng khi flows get báo publication_failed:

TrườngMô tả
publication_statusMức độ hoàn thành của quá trình xuất bản phiên bản flow này: transforming, transformed, uploading, uploaded, published, hoặc failed
transform_errorLỗi transform thô — có thể là một JSON payload liệt kê các vấn đề hoặc một chuỗi tóm tắt
publication_errorThông báo dễ đọc cho một lần xuất bản thất bại

adapty flows config update

Ghi cấu hình builder của một flow.

adapty flows config update --app <app-id> <flow-id> --config-file config.json
ArgumentDescription
flow-idID của flow (UUID)
FlagBắt buộcMô tả
--appApp ID (UUID)
--configMột trong haiBuilder config dưới dạng chuỗi JSON
--config-fileMột trong haiĐường dẫn đến file JSON chứa builder config, hoặc - để đọc từ stdin
--remote-configsKhôngMảng JSON gồm các mục {locale, data}, trong đó data là Remote Config dưới dạng chuỗi
--expected-updated-atKhôngGiá trị updated_at lấy từ lệnh flows config get trước đó. Nếu config đã thay đổi sau lần đọc đó, lệnh sẽ thất bại thay vì ghi đè. Bỏ qua để ghi đè vô điều kiện

Việc ghi config sẽ lưu bản nháp và không xuất bản nó. Trên một flow đã xuất bản, lệnh ghi sẽ tạo một phiên bản mới: trạng thái của flow trở thành dirty, và người dùng vẫn thấy phiên bản đã xuất bản cho đến khi bạn chạy flows publish.

adapty flows config validate

Kiểm tra xem một cấu hình builder có thể được xuất bản hay không, mà không cần lưu lại.

adapty flows config validate --app <app-id> <flow-id> --config-file config.json
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)
--configOne of the twoCấu hình builder dưới dạng chuỗi JSON
--config-fileOne of the twoĐường dẫn đến file JSON chứa cấu hình builder, hoặc - để đọc từ stdin

Phản hồi chứa valid và danh sách issues. Khi config không thể publish được, lệnh sẽ thoát với mã 1, do đó các script có thể dùng nó để kiểm soát luồng thực thi.

adapty flows config preview

Render một file config cục bộ trên trình duyệt. Lệnh này không gọi API và không nhận cờ --app.

adapty flows config preview ./config.json --screen <screen-id> --device iphone-14 --orientation portrait
Đối sốMô tả
config-fileĐường dẫn đến file JSON config của builder cục bộ
CờMặc địnhMô tả
--screenMàn hình đầu tiên của flowID màn hình cần render
--deviceiphone-14Khung thiết bị để render
--orientationportraitportrait hoặc landscape

Trong terminal, lệnh sẽ mở bản xem trước trong trình duyệt của bạn. Khi được pipe hoặc dùng với --json, nó sẽ in ra URL thay thế. URL chứa toàn bộ cấu hình nên khá dài: hãy pipe nó vào công cụ chụp ảnh màn hình thay vì in ra. Các cấu hình vượt quá khoảng 32 KB sẽ render chậm.

adapty flows media upload

Tải lên hình ảnh để sử dụng trong cấu hình flow.

adapty flows media upload --app <app-id> ./hero.png
ArgumentDescription
fileĐường dẫn đến tệp hình ảnh
FlagRequiredDescription
--appYesApp ID (UUID)

Định dạng được chấp nhận: GIF, HEIC, JPEG, PNG, SVG và WebP. Phản hồi chứa id, nameurl CDN của hình ảnh để tham chiếu từ cấu hình.

Placements

Placements là nơi các flow, paywall và onboarding của bạn tiếp cận người dùng. Loại nội dung của một placement được cố định ngay khi tạo, vì vậy việc chuyển ứng dụng từ paywall sang flow đồng nghĩa với việc phải tạo các placement mới thay vì cập nhật những cái hiện có — kỹ năng migrate-placements hỗ trợ các lệnh này để thực hiện hàng loạt.

adapty placements list

Liệt kê tất cả placement của một ứng dụng.

adapty placements list --app <app-id>
FlagRequiredDescription
--appYesApp ID (UUID)

Chấp nhận pagination flags.

Mỗi mục chứa id, developer_id, title, và is_active. is_activetrue với placement đang hoạt động và false với placement không hoạt động.

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-idPlacement ID (UUID)
CờBắt buộcMô tả
--appApp ID (UUID)

Phản hồi chứa id, developer_id, title, is_active, và một mảng audiences. is_activetrue cho placement đang hoạt động và false cho placement không hoạt động. Mỗi mục trong audience chứa content_type (paywall hoặc flow), segment_ids, priority, và paywall_id hoặc flow_id. Đối tượng mặc định có segment_ids: [] và giá trị priority cao nhất (được đánh giá sau cùng). Xem Cấu trúc Audiences.

adapty placements create

Tạo placement mới.

adapty placements create --app <app-id> --title "Main" --developer-id "main" --audiences '[{"content_type":"paywall","segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
FlagRequiredDescription
--appYesApp ID (UUID)
--titleYesTiêu đề placement
--developer-idYesChuỗi định danh dùng trong code ứng dụng để yêu cầu placement này
--audiencesMột trong haiMảng JSON gồm các mục đối tượng, mỗi mục có content_type rõ ràng. Xem Cấu trúc Audiences
--paywall-idMột trong haiDeprecated. ID Paywall (UUID). Được bọc phía client thành một đối tượng mặc định duy nhất

Truyền đúng một trong hai --audiences hoặc --paywall-id. Truyền cả hai hoặc không truyền cái nào đều gây lỗi.

Warning

--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 '[{"content_type":"paywall","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-idPlacement ID (UUID)
FlagBắt buộcMô tả
--appApp ID (UUID)
--titleTiêu đề placement
--developer-idChuỗi định danh dùng trong code ứng dụng để yêu cầu placement này
--audiencesMột trong haiMảng JSON gồm các mục đối tượng, mỗi mục có content_type rõ ràng. Xem Cấu trúc Audiences
--paywall-idMột trong haiKhông còn được hỗ trợ. ID Paywall (UUID). Thay thế tất cả đối tượng bằng một đối tượng mặc định duy nhất
Warning

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ườngKiểuMô tả
content_typestring"paywall" hoặc "flow". Bắt buộc trong mỗi mục. Tất cả các mục trong một placement phải có cùng giá trị
segment_idsstring[]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 — phương án dự phòng cho người dùng không khớp với bất kỳ phân khúc nào khác
paywall_idstringID Paywall (UUID) hiển thị cho người dùng trong đối tượng này. Bắt buộc khi content_type"paywall"
flow_idstringID Flow (UUID) hiển thị cho người dùng trong đối tượng này. Bắt buộc khi content_type"flow"
prioritynumberBắt đầu từ 0, duy nhất trong placement. Các đối tượng được đánh giá từ thấp đến cao; đối tượng mặc định phải có giá trị cao nhất

Mỗi placement phải có đúng một đối tượng mặc định.

Loại nội dung của một placement được cố định khi bạn tạo nó, vì vậy placements update không thể chuyển một paywall placement thành flow hoặc ngược lại. Hãy phục vụ flow từ một placement riêng — xem Tạo một placement mới cho flow của bạn.

CLI kiểm tra từng mục trước khi gửi yêu cầu. Một mục có content_type bị thiếu hoặc không hợp lệ, hoặc thiếu ID mà content_type của nó yêu cầu, sẽ thoát với mã 2 và không có gì được gửi đi.

Flow chỉ có thể được đính kèm sau khi đã được xuất bản. Flow ở trạng thái draft, hoặc flow có lần xuất bản đầu tiên vẫn đang diễn ra, sẽ bị server từ chối; CLI nhận ra sự từ chối đó và thoát với mã 2, in ra lệnh flows publish cho flow đó. Để xuất bản một flow, hãy dùng flows publish hoặc Flow & Paywall Builder, sau đó chờ trạng thái của nó chuyển thành published.

Ví dụ với một đối tượng 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 '[{"content_type":"paywall","segment_ids":["<vip-segment-id>"],"paywall_id":"<vip-paywall-id>","priority":0},{"content_type":"paywall","segment_ids":[],"paywall_id":"<default-paywall-id>","priority":1}]'

Ví dụ về một placement phục vụ một flow đã được xuất bản cho tất cả người dùng:

adapty placements create --app <app-id> --title "Onboarding" --developer-id "onboarding" \
  --audiences '[{"content_type":"flow","segment_ids":[],"flow_id":"<flow-id>","priority":0}]'

Để thay đổi paywall trên nhiều placement mà không mất routing theo phân khúc:

  1. Tìm các placement bị ảnh hưởng:

    adapty paywalls placements --app <app-id> <old-paywall-id>
  2. Với mỗi placement, đọc toàn bộ mảng audiences:

    adapty placements get --app <app-id> <placement-id> --json
  3. Thay thế các giá trị paywall_id tương ứng ở phía client.

  4. Ghi payload đã chỉnh sửa trở lại:

    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ộcMô tả
--appApp 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-idSegment ID (UUID)
CờBắt buộcMô tả
--appApp ID (UUID)

Kết quả trả về chứa id, titledescription. Các quy tắc lọc không được hiển thị qua API này.

Xác thực

LệnhMô tả
adapty auth loginXác thực qua trình duyệt bằng device flow
adapty auth logoutXóa thông tin đăng nhập đã lưu ở máy cục bộ
adapty auth whoamiXác minh token với máy chủ và hiển thị thông tin người dùng
adapty auth statusHiển thị trạng thái xác thực cục bộ mà không gọi máy chủ
adapty auth revokeThu 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.