Adapty Geliştirici CLI için komut referansı
Bu makale, Adapty CLI komutlarını listeler; hesabınızı yapılandıran komutlar — uygulamalar, access level’lar, ürünler, paywalllar, flow’lar, placement’lar ve segmentler — ile RevenueCat projesini taşıyan ve Adapty skill’lerini yükleyen komutları, argümanları, bayrakları ve kabul edilen değerleriyle birlikte açıklar. Apple Ads kampanyaları için bkz. Ads Manager komutları.
Kimlik doğrulama kurulumu ve token yönetimi için bkz. Kimlik Doğrulama.
Global bayraklar
Bu bayraklar tüm komutlarda kullanılabilir.
| Bayrak | Açıklama |
|---|---|
--json | Biçimlendirilmiş metin yerine JSON olarak çıktı verir |
--help | Komut yardımını gösterir |
Tüm list komutları ayrıca sayfalama bayraklarını da kabul eder:
| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--page | 1 | Sayfa numarası |
--page-size | 20 | Sayfa başına öğe sayısı (maks: 100) |
Uygulamalar
Adapty hesabınızdaki uygulamaları yönetin. Kontrol paneli tabanlı yapılandırma için bkz. Uygulama ayarları.
adapty apps list
Adapty hesabınızdaki tüm uygulamaları listeler.
adapty apps list
Sayfalama bayraklarını kabul eder.
adapty apps get
Belirli bir uygulama için ayrıntıları getirir.
adapty apps get <app-id>
| Argüman | Açıklama |
|---|---|
app-id | Uygulama ID’si (UUID) |
adapty apps create
Yeni bir uygulama oluşturur.
adapty apps create --title "My App" --platform ios --apple-bundle-id com.example.app
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--title | Evet | Uygulama başlığı |
--platform | Evet | Platform: ios veya android. İkisi için tekrarlayın: --platform ios --platform android |
--apple-bundle-id | --platform ios ile zorunlu | Apple bundle ID |
--google-bundle-id | --platform android ile zorunlu | Google bundle ID |
adapty apps update
Mevcut bir uygulamayı günceller.
adapty apps update <app-id> --title "New Name"
| Argüman | Açıklama |
|---|---|
app-id | Uygulama ID’si (UUID) |
| Bayrak | Açıklama |
|---|---|
--title | Yeni uygulama başlığı |
--apple-bundle-id | Yeni Apple bundle ID |
--google-bundle-id | Yeni Google bundle ID |
En az bir bayrak zorunludur. --platform oluşturulduktan sonra değiştirilemez.
Access level’lar
adapty access-levels list
Bir uygulamadaki tüm access level’ları listeler.
adapty access-levels list --app <app-id>
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Sayfalama bayraklarını kabul eder.
adapty access-levels get
Belirli bir access level için ayrıntıları getirir.
adapty access-levels get --app <app-id> <access-level-id>
| Argüman | Açıklama |
|---|---|
access-level-id | Access level ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
adapty access-levels create
Yeni bir access level oluşturur.
adapty access-levels create --app <app-id> --sdk-id "pro" --title "Pro"
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--sdk-id | Evet | Uygulama kodunda erişimi kontrol etmek için kullanılan tanımlayıcı (örneğin, "pro" veya "premium") |
--title | Evet | Adapty kontrol panelinde görünen etiket |
adapty access-levels update
Mevcut bir access level’ı günceller.
adapty access-levels update --app <app-id> <access-level-id> --title "Pro Access"
| Argüman | Açıklama |
|---|---|
access-level-id | Access level ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Yeni görünen etiket |
--sdk-id oluşturulduktan sonra değiştirilemez.
Ürünler
adapty products list
Bir uygulamadaki tüm ürünleri listeler.
adapty products list --app <app-id>
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Sayfalama bayraklarını kabul eder.
adapty products get
Belirli bir ürün için ayrıntıları getirir.
adapty products get --app <app-id> <product-id>
| Argüman | Açıklama |
|---|---|
product-id | Ürün ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
adapty products create
Yeni bir ürün oluşturun.
Mağaza ürün ve fiyat ID’leri oluşturulduktan sonra değiştirilemez. Farklı mağaza ID’leri kullanmak için yeni bir ürün oluşturun.
adapty products create --app <app-id> --title "Monthly" --access-level-id <access-level-id> --period monthly --ios-product-id com.example.monthly
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Ürün başlığı |
--access-level-id | Evet | Bu ürünün kilidini açtığı access level ID’si (UUID) |
--period | Evet | Abonelik dönemi: weekly, monthly, two_months, trimonthly, semiannual, annual, lifetime |
--ios-product-id | En az bir mağaza zorunlu | App Store Connect’teki ürün ID’si |
--android-product-id | En az bir mağaza zorunlu | Google Play Console’daki ürün ID’si |
--android-base-plan-id | --period lifetime kullanılmadığı sürece --android-product-id ile birlikte zorunlu | Google Play Console’daki base plan ID’si |
--stripe-product-id | En az bir mağaza zorunlu | Stripe’taki ürün ID’si |
--stripe-price-id | --stripe-product-id ile birlikte zorunlu | Stripe’taki fiyat ID’si |
--paddle-product-id | En az bir mağaza zorunlu | Paddle’daki ürün ID’si |
--paddle-price-id | --paddle-product-id ile birlikte zorunlu | Paddle’daki fiyat ID’si |
Her ürünün en az bir mağazaya ihtiyacı vardır: --ios-product-id, --android-product-id, --stripe-product-id veya --paddle-product-id. Tek bir ürün aynı anda birden fazla mağazanın ID’sini taşıyabilir.
Bir ürünü web üzerinden Stripe veya Paddle aracılığıyla satmak için önce ödeme sağlayıcısını Adapty’ye bağlayın: bkz. Stripe ve Paddle. Bu mağazaların her biri için ürün ID’sini ve fiyat ID’sini birlikte geçirin. Yalnızca ikisinden birini geçerseniz komut hata verir.
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
Yalnızca web’e özgü bir ürün geçerlidir: Stripe veya Paddle ID’leriyle, App Store veya Google Play ID’leri olmadan bir ürün oluşturabilirsiniz.
adapty products update
Mevcut bir ürün günceller.
Mağaza ürün ve fiyat ID’leri oluşturulduktan sonra değiştirilemez ve bu komutta kullanılamaz. Farklı mağaza ID’leri kullanmak için yeni bir ürün oluşturun.
adapty products update --app <app-id> <product-id> --title "Monthly" --access-level-id <access-level-id>
| Argüman | Açıklama |
|---|---|
product-id | Ürün ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Hayır | Ürün başlığı |
--access-level-id | Hayır | Bu ürünün kilidi açacağı access level ID’si (UUID) |
Paywall’lar
adapty paywalls list
Bir uygulamadaki tüm paywall’ları listeler.
adapty paywalls list --app <app-id>
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Sayfalama bayraklarını kabul eder.
adapty paywalls get
Belirli bir paywall için ayrıntıları getirir.
adapty paywalls get --app <app-id> <paywall-id>
| Argüman | Açıklama |
|---|---|
paywall-id | Paywall ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
adapty paywalls create
Yeni bir paywall oluşturur.
adapty paywalls create --app <app-id> --title "Default Paywall" --product-id <product-id>
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Paywall başlığı |
--product-id | Evet | Ürün ID’si (UUID). Birden fazla ürün için tekrarlayın: --product-id <id1> --product-id <id2> |
adapty paywalls update
Mevcut bir paywall’ın tüm alanlarını değiştirir.
Bir paywall placement’a bağlandıktan sonra ürünleri değiştirilemez. Yayındaki bir paywall’da farklı ürünler kullanmak için yeni bir paywall oluşturun ve placement’ı buna yönlendirmek üzere güncelleyin.
adapty paywalls update --app <app-id> <paywall-id> --title "Default Paywall" --product-id <product-id>
Bu komut, tam ürün listesi dahil tüm paywall alanlarını değiştirir.
| Argüman | Açıklama |
|---|---|
paywall-id | Paywall ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Paywall başlığı |
--product-id | Evet | Ürün ID’si (UUID). Birden fazla ürün için tekrarlayın: --product-id <id1> --product-id <id2> |
adapty paywalls placements
Belirli bir paywall’ı şu anda kullanan tüm placement’ları listeler.
adapty paywalls placements --app <app-id> <paywall-id>
| Argüman | Açıklama |
|---|---|
paywall-id | Paywall ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Bir paywall’ı değiştirmeden önce hangi placement’ların etkileneceğini görmek için bu komutu kullanın.
Bu listedeki öğeler is_active alanı içermez. Bir placement’ın etkinleştirme durumunu okumak için placements list veya placements get komutunu kullanın.
Flow’lar
Flow’lar, Flow & Paywall Builder’da oluşturduğunuz paywall’lar ve onboarding’lerdir. CLI; flow kaydını, builder config’ini ve yayını yönetir. Builder config, Flow & Paywall Builder’ın normalde ürettiği büyük bir JSON belgesidir ve CLI bunu oluşturmaz. Terminalden bir config yazmak veya düzenlemek için bu komutları sizin adınıza çalıştıran flow-generator skill’i kullanın. Yayınlamadan önce flow-audit skill, flow’un üretime hazır olup olmadığını kontrol eder. Komutlar burada referans olarak listelenmiştir.
adapty flows list
Bir uygulamaya ait tüm flow’ları listeler.
adapty flows list --app <app-id>
| Flag | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Sayfalandırma flag’lerini kabul eder.
adapty flows get
Belirli bir flow’un ayrıntılarını getirir.
adapty flows get --app <app-id> <flow-id>
| Argument | Description |
|---|---|
flow-id | Flow ID (UUID) |
| Flag | Required | Description |
|---|---|---|
--app | Yes | App ID (UUID) |
Yanıt; id, name, status ve updated_at alanlarını içerir. Status değeri şunlardan biri olabilir:
| Durum | Anlam |
|---|---|
draft | Flow hiç yayınlanmadı |
published | Mevcut sürüm yayında |
dirty | Flow daha önce yayınlandı, ancak mevcut sürümde yayınlanmamış değişiklikler var. Kullanıcılar son yayınlanan sürümü görmeye devam eder |
publishing | Yayınlama devam ediyor |
publication_failed | Son yayınlama başarısız oldu. Yapılandırmayı düzeltin ve tekrar yayınlayın |
archived | Flow arşivlendi |
adapty flows create
Bir flow oluşturur. Yeni flow’un bir adı vardır ve config içermez. Config eklemek için flows config update komutunu kullanın.
adapty flows create --app <app-id> --name "Onboarding"
| Flag | Gerekli | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--name | Evet | Flow adı |
adapty flows update
Bir flow’u yeniden adlandırın.
adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
| Argument | Description |
|---|---|
flow-id | Flow ID (UUID) |
| Flag | Required | Description |
|---|---|---|
--app | Yes | App ID (UUID) |
--name | Yes | New flow name |
adapty flows publish
Bir flow’un mevcut sürümünü kullanıcılarınıza yayınlayın.
adapty flows publish --app <app-id> <flow-id>
| Argüman | Açıklama |
|---|---|
flow-id | Flow ID (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--yes, -y | Hayır | Onay beklemeden yayınlar. Çıktı bir pipe’a yönlendirildiğinde veya --json kullanıldığında zorunludur |
Değişiklikleri yayımlamak kullanıcıların gördüklerini etkilediğinden, komut flow adını ekrana yazdırır ve onay ister. y dışındaki herhangi bir yanıt, komutu 1 çıkış koduyla iptal eder. --json kullanıldığında veya bir pipe içinde çalıştırıldığında komut, yanıt beklemek yerine 2 çıkış koduyla reddeder; bu nedenle script ve agent oturumlarında --yes parametresini kullanın.
Yayınlama işlemi asenkrondur: yanıt status: publishing döndürür ve flow henüz yayında değildir. Durum published veya publication_failed olana kadar flows get ile sorgulama yapın. publication_failed durumunda, flows config get nedenini raporlar.
Yayınlama; flow’un herhangi bir config’i yoksa, config yayınlanabilir durumda değilse veya mevcut sürüm zaten yayındaysa HTTP 400 hatasıyla başarısız olur. Yayınlamadan önce bir config’i kontrol etmek için flows config validate kullanın.
adapty flows config get
Bir flow’un builder yapılandırmasını okur.
adapty flows config get --app <app-id> <flow-id>
| Argüman | Açıklama |
|---|---|
flow-id | Flow ID (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | App ID (UUID) |
Yanıt config, remote_configs, status ve updated_at içerir. updated_at, son config değişikliğinin milisaniye cinsinden zaman damgasıdır. Eş zamanlı bir düzenlemenin üzerine yazmamak için bunu flows config update komutuna --expected-updated-at olarak iletin. Config’i hiç yazılmamış bir flow için 404 döner.
Yayımlama girişiminin ardından yanıt, nasıl gittiğini açıklayan üç alan daha içerir. flows get komutu publication_failed bildirdiğinde bunları okuyun:
| Alan | Açıklama |
|---|---|
publication_status | Bu flow sürümünün yayınlanma durumu: transforming, transformed, uploading, uploaded, published veya failed |
transform_error | Ham dönüştürme hatası — sorunları listeleyen bir JSON yükü veya özet bir dize |
publication_error | Başarısız bir yayın için okunabilir bir mesaj |
adapty flows config update
Bir flow’un builder config’ini yazın.
adapty flows config update --app <app-id> <flow-id> --config-file config.json
| Argument | Description |
|---|---|
flow-id | Flow ID (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID (UUID) |
--config | İkisinden biri | JSON dizesi olarak builder config |
--config-file | İkisinden biri | Builder config içeren bir JSON dosyasının yolu veya stdin’den okumak için - |
--remote-configs | Hayır | {locale, data} girdilerinden oluşan JSON dizisi; data, remote config’in dize halidir |
--expected-updated-at | Hayır | Önceki bir flows config get komutundan alınan updated_at değeri. Config bu okumadan sonra değiştirilmişse komut, değişikliğin üzerine yazmak yerine hata verir. Koşulsuz olarak üzerine yazmak için bu parametreyi atlayın |
Yapılandırmayı kaydetmek bir taslak oluşturur ve yayınlamaz. Yayımlanmış bir flow üzerinde yazma işlemi yeni bir sürüm oluşturur: flow’un durumu dirty olur ve siz flows publish komutunu çalıştırana kadar kullanıcılar yayımlanmış sürümü görmeye devam eder.
adapty flows config validate
Bir builder config’in kaydedilmeden yayınlanabilir olup olmadığını kontrol eder.
adapty flows config validate --app <app-id> <flow-id> --config-file config.json
| Argüman | Açıklama |
|---|---|
flow-id | Flow ID’si (UUID) |
| Flag | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--config | İkisinden biri | JSON dizesi olarak builder config |
--config-file | İkisinden biri | Builder config içeren JSON dosyasının yolu veya stdin’den okumak için - |
valid ve issues listesi içerir. Config yayınlanamaz durumdaysa komut, 1 çıkış koduyla sonlanır; böylece scriptler buna göre karar verebilir.
adapty flows config preview
Yerel bir config dosyasını tarayıcıda render eder. Bu komut API çağrısı yapmaz ve --app bayrağı almaz.
adapty flows config preview ./config.json --screen <screen-id> --device iphone-14 --orientation portrait
| Argüman | Açıklama |
|---|---|
config-file | Yerel bir builder config JSON dosyasına giden yol |
| Bayrak | Varsayılan | Açıklama |
|---|---|---|
--screen | Flow’un ilk ekranı | Render edilecek ekran ID’si |
--device | iphone-14 | Render edilecek cihaz çerçevesi |
--orientation | portrait | portrait veya landscape |
Terminalde, komut önizlemeyi tarayıcınızda açar. Pipe kullanıldığında veya --json ile çalıştırıldığında, bunun yerine URL’yi yazdırır. URL’nin tamamı config’i içerdiğinden oldukça uzundur: ekran görüntüsü aracına pipe edin, yazdırmayın. 32 KB’ı aşan config’ler yavaş render edilir.
adapty flows media upload
Bir flow config’inde kullanmak üzere görsel yükleyin.
adapty flows media upload --app <app-id> ./hero.png
| Argüman | Açıklama |
|---|---|
file | Görsel dosyasının yolu |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Kabul edilen formatlar: GIF, HEIC, JPEG, PNG, SVG ve WebP. Yanıt, config’den referans almak için kullanılacak görselin id, name ve CDN url değerlerini içerir.
Placement’lar
Placement’lar, flow’larınızın, paywall’larınızın ve onboarding’lerinizin kullanıcılara ulaştığı yerlerdir. Bir placement’ın içerik türü oluşturulurken sabitlenir; dolayısıyla bir uygulamayı paywall’lardan flow’lara taşımak, mevcut olanları güncellemek yerine yeni placement’lar oluşturmayı gerektirir — migrate-placements skill bu komutları toplu olarak çalıştırır.
adapty placements list
Bir uygulama için tüm placement’ları listeler.
adapty placements list --app <app-id>
| Flag | Gerekli | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Sayfalandırma flag’lerini kabul eder.
Her öğe id, developer_id, title ve is_active alanlarını içerir. is_active, canlı bir placement için true, pasif bir placement için false değerini alır.
adapty placements get
Belirli bir placement için ayrıntıları alır.
adapty placements get --app <app-id> <placement-id>
| Argüman | Açıklama |
|---|---|
placement-id | Placement ID (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID (UUID) |
Yanıt id, developer_id, title, is_active ve bir audiences dizisi içerir. is_active, aktif bir placement için true, pasif bir placement için ise false değerini alır. Her kitle girişi content_type (paywall veya flow), segment_ids, priority ve paywall_id ya da flow_id içerir. Varsayılan kitle segment_ids: [] değerine ve en yüksek priority değerine (en son değerlendirilen) sahiptir. Bkz. Audiences shape.
adapty placements create
Yeni bir placement oluşturur.
adapty placements create --app <app-id> --title "Main" --developer-id "main" --audiences '[{"content_type":"paywall","segment_ids":[],"paywall_id":"<paywall-id>","priority":0}]'
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Placement başlığı |
--developer-id | Evet | Uygulama kodunda bu placement’ı istemek için kullanılan string tanımlayıcı |
--audiences | İkisinden biri | Açık content_type içeren kitle girişlerinden oluşan JSON dizisi. Bkz. Audiences şekli |
--paywall-id | İkisinden biri | Kullanımdan kaldırıldı. Paywall ID’si (UUID). İstemci tarafında tek bir varsayılan kitleye sarılır |
--audiences veya --paywall-id seçeneklerinden yalnızca birini girin. Her ikisini birden veya hiçbirini geçmemek hataya yol açar.
--paywall-id kullanımdan kaldırılmıştır ve ilerleyen sürümlerde kaldırılacaktır. Kullanıldığında, CLI stderr’e bir uyarı yazdırır ve değeri varsayılan bir kitleye dönüştürür. Yeni otomasyonlar için --audiences kullanın.
adapty placements update
Mevcut bir placement öğesinin tüm alanlarını değiştirir.
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}]'
Bu komut, tüm kitle listesi dahil olmak üzere placement’ın tüm alanlarını değiştirir.
| Argüman | Açıklama |
|---|---|
placement-id | Placement ID’si (UUID) |
| Bayrak | Gerekli | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Placement başlığı |
--developer-id | Evet | Uygulamada bu placement’ı istemek için kullanılan string tanımlayıcı |
--audiences | İkisinden biri | Her girişin açık bir content_type içerdiği kitle girişlerinin JSON dizisi. Bkz. Kitle yapısı |
--paywall-id | İkisinden biri | Kullanım dışı. Paywall ID’si (UUID). Tüm kitlelerin yerini tek bir varsayılan kitle alır |
--paywall-id parametresini geçmek, placement üzerindeki tüm kitlelerin üzerine yazar. Segmente özel kitleler silinir. Bunları korumak için --audiences kullanın ve saklamak istediğiniz tüm girişleri dahil edin.
Kitle yapısı
--audiences bayrağı bir JSON dizisi alır. Her giriş şunları içerir:
| Alan | Tür | Açıklama |
|---|---|---|
content_type | string | "paywall" veya "flow". Her girdide zorunludur. Bir placement içindeki tüm girdiler aynı değere sahip olmalıdır |
segment_ids | string[] | Bu kitle tarafından hedeflenen Segment ID’leri. Uzunluğu 0 veya 1. Boş dizi, varsayılan kitleyi işaret eder — başka hiçbir segmentle eşleşmeyen kullanıcılar için yedek |
paywall_id | string | Bu kitleye gösterilen Paywall ID’si (UUID). content_type "paywall" olduğunda zorunludur |
flow_id | string | Bu kitleye gösterilen Flow ID’si (UUID). content_type "flow" olduğunda zorunludur |
priority | number | 0 tabanlı, placement içinde benzersiz. Kitlelerin değerlendirilmesi küçükten büyüğe doğru yapılır; varsayılan kitle en yüksek değere sahip olmalıdır |
Bir placement’ın tam olarak bir varsayılan kitlesi olmalıdır.
Bir placement’ın içerik türü oluşturulduğunda sabitlenir; bu nedenle placements update komutu bir paywall placement’ını flow’a veya tersine dönüştüremez. Flow’u kendi placement’ından sunun — bkz. Flow için yeni bir placement oluşturma.
CLI, isteği göndermeden önce her girişi kontrol eder. Eksik veya bilinmeyen content_type içeren ya da content_type’ının gerektirdiği ID’yi içermeyen bir giriş, 2 koduyla çıkış yapar ve hiçbir şey gönderilmez.
Bir flow, yalnızca yayımlandıktan sonra eklenebilir. draft durumundaki bir flow veya ilk yayımlama işlemi hâlâ devam eden bir flow, sunucu tarafından reddedilir; CLI bu reddi algılar ve flows publish komutunu yazdırarak 2 koduyla çıkar. Bir flow yayımlamak için flows publish komutunu veya Flow & Paywall Builder aracını kullanın, ardından durumunun published olmasını bekleyin.
Hedefli bir kitle ve bir varsayılan içeren örnek:
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}]'
Yayınlanmış bir flow’u tüm kullanıcılara sunan bir placement örneği:
adapty placements create --app <app-id> --title "Onboarding" --developer-id "onboarding" \
--audiences '[{"content_type":"flow","segment_ids":[],"flow_id":"<flow-id>","priority":0}]'
Segment’e özgü yönlendirmeyi kaybetmeden bir paywall’ı birden fazla placement’ta değiştirmek için:
-
Etkilenen placement’ları bulun:
adapty paywalls placements --app <app-id> <old-paywall-id> -
Her biri için
audiencesdizisinin tamamını okuyun:adapty placements get --app <app-id> <placement-id> --json -
Eşleşen
paywall_iddeğerlerini istemci tarafında değiştirin. -
Değiştirilmiş payload’ı geri yazın:
adapty placements update --app <app-id> <placement-id> --title "<title>" --developer-id "<developer-id>" --audiences '<modified-payload>'
Segmentler
Segmentler, kullanıcıları profil özelliklerine göre gruplar. Segment oluşturmak ve placement kitleleri oluştururken segment ID’lerini aramak için bu komutları kullanın. Apple Ads kampanyalarından, reklam gruplarından veya anahtar kelimelerden segment oluşturmak için bunun yerine adapty asa segments create komutunu kullanın: Apple ID’lerini sizin için arar ve segmenti Ads Manager’ın yaptığı şekilde adlandırır.
adapty segments list
Bir uygulama için tüm segmentleri listeler.
adapty segments list --app <app-id>
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
Sayfalandırma bayraklarını kabul eder.
adapty segments get
Belirli bir segment için ayrıntıları getirir.
adapty segments get --app <app-id> <segment-id>
| Argüman | Açıklama |
|---|---|
segment-id | Segment ID (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID (UUID) |
Yanıt; id, title, description, filters, profile_count, refresh_in_progress, created_at ve updated_at alanlarını içerir. list yalnızca id, title ve description alanlarını döndürür.
adapty segments create
Bir veya daha fazla filtreden segment oluşturur.
adapty segments create --app <app-id> --title "US installs" --filter ip_country:IN:US --filter install_date:>=:2026-01-01
| Flag | Gerekli | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Segment başlığı |
--filter | Evet | Filtre kuralı. Tekrarlanabilir. Bkz. Filtre sözdizimi |
--description | Hayır | Segment açıklaması |
Bir kullanıcı, yalnızca her filtreyle eşleştiğinde segmentle eşleşir. Yanıt, segments get ile aynı alanlara sahiptir. profile_count 0 ile başlar ve Adapty, segment oluşturulduktan sonra bunu yeniden hesaplar.
adapty segments update
Mevcut bir segment’in başlığını, açıklamasını ve filtrelerini günceller.
adapty segments update --app <app-id> <segment-id> --title "US installs" --filter ip_country:IN:US,CA
| Argüman | Açıklama |
|---|---|
segment-id | Segment ID’si (UUID) |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--app | Evet | Uygulama ID’si (UUID) |
--title | Evet | Segment başlığı |
--filter | Evet | Filtre kuralı. Tekrarlanabilir. Bkz. Filtre sözdizimi |
--description | Hayır | Segment açıklaması |
segments update tüm segmenti değiştirir. Korumak istediğiniz her filtreyi, yalnızca değiştirdiğinizi değil, tümünü geçirin. Mevcut filtreleri okumak için adapty segments get --app <app-id> <segment-id> --json komutunu çalıştırın.
Filtre sözdizimi
Her --filter değerini field:OPERATOR:value biçiminde yazın. Birden fazla değerden herhangi birini eşleştirmek için değerleri virgülle ayırın: ip_country:IN:US,CA.
| Operatör | Değerler | Örnek |
|---|---|---|
IN, NOT IN | Bir veya daha fazla | ip_country:NOT IN:US,CA |
>, >=, <, <= | Bir | age:>:18 |
BETWEEN | İki | total_revenue_usd:BETWEEN:10,100 |
IS NULL, IS NOT NULL | Hiçbiri | age:IS NULL |
Sayıları düz değer olarak girin; örneğin age:>:18. Adapty, age, total_revenue_usd ve float türündeki özel nitelikler gibi sayısal alanlar için bunları otomatik olarak dönüştürür.
Bu kısa formun ifade edemediği bir değer için filtreyi JSON nesnesi olarak geçirin:
adapty segments create --app <app-id> --title "Adults" --filter '{"field_name":"age","operator":">","value_list":[18]}'
Adapty alan adlarını, operatörleri ve değer türlerini doğrular; her geçersiz filtre için bir hata bildirir. Mevcut filtrelerin alan adlarını ve değer biçimlerini görmek için kontrol panelinde oluşturulmuş bir segment üzerinde adapty segments get --app <app-id> <segment-id> --json komutunu çalıştırın.
Geçişler
Bir RevenueCat projesini Adapty’e taşıyın: önce katalog, ardından isteğe bağlı olarak store olayları ve işlem geçmişi. Adapty her geçişi bir dizi adım olarak çalıştırır ve hangi eylemleri daha sonra gerçekleştirebileceğinizi bildirir; bu nedenle her eylemden önce status komutunu okuyun. Tüm prosedür için bkz. RevenueCat’ten Geçiş.
list, create, use, current ve unuse dışındaki tüm komutlar migration bayrağını kabul eder:
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
-m, --migration | Hayır | Migration ID’si. Belirtilmezse CLI sırasıyla ADAPTY_MIGRATION ortam değişkenini, ardından create veya use tarafından kaydedilen migration’ı kullanır. |
adapty migrations list
Uygulamaya göre gruplandırılmış migration’larınızı ve başlatabileceğiniz migration flow’larını listeler.
adapty migrations list
adapty migrations create
Bir migration başlatır ve mevcut migration olarak kaydeder.
adapty migrations create --name <app-name>
adapty migrations create --flow <flow> --app <app-id>
| Flag | Zorunlu | Açıklama |
|---|---|---|
--name | --name veya --flow’dan biri | Yeni Adapty uygulamasının adı. Katalog migrasyonunu başlatır. --flow veya --app ile birleştirilemez. |
--flow | --name veya --flow’dan biri | adapty migrations list komutunun gösterdiği şekilde, mevcut bir uygulamada başlatılacak flow. --app gerektirir. |
--app | --flow ile birlikte | Uygulama ID’si (UUID) |
--no-select | Hayır | Migrasyonu mevcut olarak kaydetmeden oluşturur |
Katalog migrasyonunun ardından mevcut bir uygulama için kullanılabilir flow’lar:
| Flow | Açıklama |
|---|---|
transactions | Günlük RevenueCat Cloud Export’tan işlem geçmişini içe aktarır |
transactions_support | Cloud Export olmayan RevenueCat planları için RevenueCat desteği ve Adapty desteği aracılığıyla işlem geçmişini içe aktarır |
apple_events | RevenueCat almaya devam ederken App Store bildirimlerini Adapty’ye iletir |
google_events | Adapty’yi RevenueCat’in Google Play bildirimleri için kullandığı Pub/Sub konusuna abone eder |
code | Kodlama ajanınızın uygulamanın bir kod tabanında RevenueCat SDK’sını değiştirmesini sağlar |
integrations | Kodlama ajanınızın Adapty’de kurulum için uygulama kodundaki analitik, attribution ve mesajlaşma araçlarını bulmasını sağlar |
paywall_design | Kodlama ajanınızın katalog geçişinin oluşturduğu flow’larda RevenueCat paywall tasarımlarını yeniden oluşturmasını sağlar |
adapty migrations use
Bir migration’ı geçerli olarak kaydeder, böylece diğer komutlar için -m kullanmanıza gerek kalmaz.
adapty migrations use <migration-id>
| Argüman | Açıklama |
|---|---|
migration-id | adapty migrations list komutundan alınan Migration ID |
CLI, ID’yi kaydetmeden önce migration’a erişiminizin olup olmadığını kontrol eder. Kaydedilen migration, mevcut token’a ait olup her terminalde geçerlidir.
adapty migrations current
Mevcut migration’ı ve kaynağını gösterir: ADAPTY_MIGRATION ortam değişkeni veya kaydedilmiş seçim.
adapty migrations current
adapty migrations unuse
Kaydedilmiş migration’ı temizler. Shell ortamınızda ayarlanan ADAPTY_MIGRATION değeri, siz kaldırana kadar geçerli olmaya devam eder.
adapty migrations unuse
adapty migrations status
Bir migration’ın durumunu, sorunlarını ve çalıştırabileceğiniz sonraki işlemleri gösterir.
adapty migrations status
| Flag | Zorunlu | Açıklama |
|---|---|---|
--wait | Hayır | Migration değişene kadar yoklama yapar, ardından en son durumu döndürür |
--timeout | Hayır | --wait için yoklama süresi: 1–600 saniye, varsayılan 120. 300, 300s veya 5m biçimlerini kabul eder. --wait gerektirir. |
--json ile next_actions ve available_actions, her işlemin ID’sini, okuduğu kaynakları, input_schema’sını ve confirm metnini listeler.
Çıkış kodu 0, isteğin başarılı olduğu anlamına gelir; migrasyon işleminin başarılı olduğu değil. Yanıttaki migration.state değerini kontrol edin.
Adapty geçiş adımları
Geçiş kontrol listesini ve her adımın durumunu gösterir.
adapty migrations steps
adapty migrations show
Şu anda okuyabileceğiniz kaynakları listeleyin veya birini okuyun.
adapty migrations show [resource]
| Argüman | Açıklama |
|---|---|
resource | Kaynak adı, örneğin apps, mapping, report veya export-config. Mevcut adımda kullanılabilir kaynakları listelemek için bu argümanı atlayın. |
adapty migrations run
adapty migrations status komutundan bir eylem çalıştırır.
adapty migrations run <action-id>
| Argüman | Açıklama |
|---|---|
action-id | adapty migrations status komutundaki next_actions veya available_actions listesinden alınan eylem ID’si |
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--input | Hayır | Aksiyonun input_schema’sıyla eşleşen bir JSON nesnesi olarak aksiyon girdisi. Girdi olmadan, CLI {} gönderir. |
--input-file | Hayır | Aksiyon girdisini içeren bir dosyanın yolu ya da stdin’den okumak için -. --input ile birlikte kullanılamaz. |
-y, --yes | confirm metni olan aksiyonlar için | confirm metnini okuduktan sonra aksiyonu onaylar. Etkileşimli bir istem yoktur. |
--open | Hayır | Pipe kullanılırken veya --json ile bile aksiyonun bağlantısını açar |
--no-browser | Hayır | Aksiyonun bağlantısını tarayıcı açmadan yazdırır |
Eylemler üç türde gelir:
- Girdi eylemleri Adapty’ye veri gönderir; örneğin taşınacak RevenueCat uygulamaları veya eşleştirme kararlarınız.
- Dış eylemler Adapty Kontrol Paneli’nde bir sayfa açar; örneğin RevenueCat gizli API anahtarını yapıştırmak için. Sayfayı tamamlayın, ardından
statusile durumu kontrol edin. - Agent eylemleri, örneğin
migrate_code, kodlama agent’ınız için gereken çalışmalardır. Bunları uygulamanın git deposundan çalıştırın: CLI, migration verilerini.git/adapty/<migration-id>/altına kaydeder ve agent için talimatları yazdırır. Agent, eylemi--inputile tekrar çalıştırarak sonucu bildirir.
adapty migrations close
Bir migrasyonu tamamlayın veya iptal edin. Sonradan yeniden açamazsınız.
adapty migrations close --outcome finish --yes
| Flag | Gerekli | Açıklama |
|---|---|---|
--outcome | Evet | finish migrasyonu tamamlandı olarak işaretler; cancel ise iptal eder |
-y, --yes | Evet | Kapatmayı onaylayın |
Beceriler
adapty skills install
Bu makinedeki kodlama agent’larına Adapty skill’lerini yükler.
adapty skills install
| Bayrak | Zorunlu | Açıklama |
|---|---|---|
--agent | Hayır | Yüklenecek agent: claude-code, codex veya gemini-cli. Birden fazla agent için bayrağı tekrarlayın. |
-y, --yes | Hayır | Sormadan bulunan tüm agent’lara yükler. CLI birden fazla agent bulduğunda ve sormak mümkün olmadığında gereklidir; örneğin --json ile kullanıldığında. |
The CLI looks for Claude Code, Codex, and Gemini CLI on PATH. If it finds none, it asks whether to run npx skills@1.7.0 add adaptyteam/adapty-skills --all --global, which covers other agents. Restart the agent to load the skills.
Auth
| Komut | Açıklama |
|---|---|
adapty auth login | Cihaz flow’u kullanarak tarayıcı üzerinden kimlik doğrulama |
adapty auth logout | Kayıtlı kimlik bilgilerini ve yerel olarak kaydedilen migration’ı temizle |
adapty auth whoami | Token’ı sunucuyla doğrula ve kullanıcı bilgilerini göster |
adapty auth status | Sunucuya çağrı yapmadan yerel kimlik doğrulama durumunu göster |
adapty auth revoke | Token’ı sunucu tarafında iptal et, ardından token’ı ve kayıtlı migration’ı yerel olarak temizle |
Her komut hakkında ayrıntılı bilgi için Authentication sayfasına bakın.