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ı.

Global bayraklar

Bu bayraklar tüm komutlarda kullanılabilir.

BayrakAçıklama
--jsonBiçimlendirilmiş metin yerine JSON olarak çıktı verir
--helpKomut yardımını gösterir

Tüm list komutları ayrıca sayfalama bayraklarını da kabul eder:

BayrakVarsayılanAçıklama
--page1Sayfa numarası
--page-size20Sayfa 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ümanAçıklama
app-idUygulama 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
BayrakZorunluAçıklama
--titleEvetUygulama başlığı
--platformEvetPlatform: ios veya android. İkisi için tekrarlayın: --platform ios --platform android
--apple-bundle-id--platform ios ile zorunluApple bundle ID
--google-bundle-id--platform android ile zorunluGoogle bundle ID

adapty apps update

Mevcut bir uygulamayı günceller.

adapty apps update <app-id> --title "New Name"
ArgümanAçıklama
app-idUygulama ID’si (UUID)
BayrakAçıklama
--titleYeni uygulama başlığı
--apple-bundle-idYeni Apple bundle ID
--google-bundle-idYeni 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>
BayrakZorunluAçıklama
--appEvetUygulama 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ümanAçıklama
access-level-idAccess level ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama 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"
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--sdk-idEvetUygulama kodunda erişimi kontrol etmek için kullanılan tanımlayıcı (örneğin, "pro" veya "premium")
--titleEvetAdapty 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ümanAçıklama
access-level-idAccess level ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetYeni 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>
BayrakZorunluAçıklama
--appEvetUygulama 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ümanAçıklama
product-idÜrün ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)

adapty products create

Yeni bir ürün oluşturun.

Important

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
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetÜrün başlığı
--access-level-idEvetBu ürünün kilidini açtığı access level ID’si (UUID)
--periodEvetAbonelik dönemi: weekly, monthly, two_months, trimonthly, semiannual, annual, lifetime
--ios-product-idEn az bir mağaza zorunluApp Store Connect’teki ürün ID’si
--android-product-idEn az bir mağaza zorunluGoogle Play Console’daki ürün ID’si
--android-base-plan-id--period lifetime kullanılmadığı sürece --android-product-id ile birlikte zorunluGoogle Play Console’daki base plan ID’si
--stripe-product-idEn az bir mağaza zorunluStripe’taki ürün ID’si
--stripe-price-id--stripe-product-id ile birlikte zorunluStripe’taki fiyat ID’si
--paddle-product-idEn az bir mağaza zorunluPaddle’daki ürün ID’si
--paddle-price-id--paddle-product-id ile birlikte zorunluPaddle’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ümanAçıklama
product-idÜrün ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--titleHayırÜrün başlığı
--access-level-idHayırBu ü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>
BayrakZorunluAçıklama
--appEvetUygulama 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ümanAçıklama
paywall-idPaywall ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)

adapty paywalls create

Yeni bir paywall oluşturur.

adapty paywalls create --app <app-id> --title "Default Paywall" --product-id <product-id>
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetPaywall başlığı
--product-idEvetÜ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.

Important

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ümanAçıklama
paywall-idPaywall ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetPaywall başlığı
--product-idEvetÜ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ümanAçıklama
paywall-idPaywall ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama 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>
FlagZorunluAçıklama
--appEvetUygulama 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>
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)

Yanıt; id, name, status ve updated_at alanlarını içerir. Status değeri şunlardan biri olabilir:

DurumAnlam
draftFlow hiç yayınlanmadı
publishedMevcut sürüm yayında
dirtyFlow 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
publishingYayınlama devam ediyor
publication_failedSon yayınlama başarısız oldu. Yapılandırmayı düzeltin ve tekrar yayınlayın
archivedFlow 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"
FlagGerekliAçıklama
--appEvetUygulama ID’si (UUID)
--nameEvetFlow adı

adapty flows update

Bir flow’u yeniden adlandırın.

adapty flows update --app <app-id> <flow-id> --name "Onboarding v2"
ArgumentDescription
flow-idFlow ID (UUID)
FlagRequiredDescription
--appYesApp ID (UUID)
--nameYesNew 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ümanAçıklama
flow-idFlow ID (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--yes, -yHayırOnay 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ümanAçıklama
flow-idFlow ID (UUID)
BayrakZorunluAçıklama
--appEvetApp 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:

AlanAçıklama
publication_statusBu flow sürümünün yayınlanma durumu: transforming, transformed, uploading, uploaded, published veya failed
transform_errorHam dönüştürme hatası — sorunları listeleyen bir JSON yükü veya özet bir dize
publication_errorBaş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
ArgumentDescription
flow-idFlow ID (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID (UUID)
--configİkisinden biriJSON dizesi olarak builder config
--config-fileİkisinden biriBuilder config içeren bir JSON dosyasının yolu veya stdin’den okumak için -
--remote-configsHayır{locale, data} girdilerinden oluşan JSON dizisi; data, remote config’in dize halidir
--expected-updated-atHayı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ümanAçıklama
flow-idFlow ID’si (UUID)
FlagZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--configİkisinden biriJSON dizesi olarak builder config
--config-fileİkisinden biriBuilder 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ümanAçıklama
config-fileYerel bir builder config JSON dosyasına giden yol
BayrakVarsayılanAçıklama
--screenFlow’un ilk ekranıRender edilecek ekran ID’si
--deviceiphone-14Render edilecek cihaz çerçevesi
--orientationportraitportrait 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ümanAçıklama
fileGörsel dosyasının yolu
BayrakZorunluAçıklama
--appEvetUygulama 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>
FlagGerekliAçıklama
--appEvetUygulama 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ümanAçıklama
placement-idPlacement ID (UUID)
BayrakZorunluAçıklama
--appEvetUygulama 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}]'
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetPlacement başlığı
--developer-idEvetUygulama kodunda bu placement’ı istemek için kullanılan string tanımlayıcı
--audiencesİkisinden biriAçık content_type içeren kitle girişlerinden oluşan JSON dizisi. Bkz. Audiences şekli
--paywall-idİkisinden biriKullanı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.

Warning

--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ümanAçıklama
placement-idPlacement ID’si (UUID)
BayrakGerekliAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetPlacement başlığı
--developer-idEvetUygulamada bu placement’ı istemek için kullanılan string tanımlayıcı
--audiencesİkisinden biriHer girişin açık bir content_type içerdiği kitle girişlerinin JSON dizisi. Bkz. Kitle yapısı
--paywall-idİkisinden biriKullanım dışı. Paywall ID’si (UUID). Tüm kitlelerin yerini tek bir varsayılan kitle alır
Warning

--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:

AlanTürAçıklama
content_typestring"paywall" veya "flow". Her girdide zorunludur. Bir placement içindeki tüm girdiler aynı değere sahip olmalıdır
segment_idsstring[]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_idstringBu kitleye gösterilen Paywall ID’si (UUID). content_type "paywall" olduğunda zorunludur
flow_idstringBu kitleye gösterilen Flow ID’si (UUID). content_type "flow" olduğunda zorunludur
prioritynumber0 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:

  1. Etkilenen placement’ları bulun:

    adapty paywalls placements --app <app-id> <old-paywall-id>
  2. Her biri için audiences dizisinin tamamını okuyun:

    adapty placements get --app <app-id> <placement-id> --json
  3. Eşleşen paywall_id değerlerini istemci tarafında değiştirin.

  4. 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>
BayrakZorunluAçıklama
--appEvetUygulama 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ümanAçıklama
segment-idSegment ID (UUID)
BayrakZorunluAçıklama
--appEvetUygulama 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
FlagGerekliAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetSegment başlığı
--filterEvetFiltre kuralı. Tekrarlanabilir. Bkz. Filtre sözdizimi
--descriptionHayırSegment 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ümanAçıklama
segment-idSegment ID’si (UUID)
BayrakZorunluAçıklama
--appEvetUygulama ID’si (UUID)
--titleEvetSegment başlığı
--filterEvetFiltre kuralı. Tekrarlanabilir. Bkz. Filtre sözdizimi
--descriptionHayırSegment açıklaması
Warning

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örDeğerlerÖrnek
IN, NOT INBir veya daha fazlaip_country:NOT IN:US,CA
>, >=, <, <=Birage:>:18
BETWEENİkitotal_revenue_usd:BETWEEN:10,100
IS NULL, IS NOT NULLHiçbiriage: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:

BayrakZorunluAçıklama
-m, --migrationHayırMigration 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>
FlagZorunluAçıklama
--name--name veya --flow’dan biriYeni Adapty uygulamasının adı. Katalog migrasyonunu başlatır. --flow veya --app ile birleştirilemez.
--flow--name veya --flow’dan biriadapty migrations list komutunun gösterdiği şekilde, mevcut bir uygulamada başlatılacak flow. --app gerektirir.
--app--flow ile birlikteUygulama ID’si (UUID)
--no-selectHayırMigrasyonu mevcut olarak kaydetmeden oluşturur

Katalog migrasyonunun ardından mevcut bir uygulama için kullanılabilir flow’lar:

FlowAçıklama
transactionsGünlük RevenueCat Cloud Export’tan işlem geçmişini içe aktarır
transactions_supportCloud 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_eventsRevenueCat almaya devam ederken App Store bildirimlerini Adapty’ye iletir
google_eventsAdapty’yi RevenueCat’in Google Play bildirimleri için kullandığı Pub/Sub konusuna abone eder
codeKodlama ajanınızın uygulamanın bir kod tabanında RevenueCat SDK’sını değiştirmesini sağlar
integrationsKodlama ajanınızın Adapty’de kurulum için uygulama kodundaki analitik, attribution ve mesajlaşma araçlarını bulmasını sağlar
paywall_designKodlama 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ümanAçıklama
migration-idadapty 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
FlagZorunluAçıklama
--waitHayırMigration değişene kadar yoklama yapar, ardından en son durumu döndürür
--timeoutHayı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ümanAçıklama
resourceKaynak 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ümanAçıklama
action-idadapty migrations status komutundaki next_actions veya available_actions listesinden alınan eylem ID’si
BayrakZorunluAçıklama
--inputHayırAksiyonun input_schema’sıyla eşleşen bir JSON nesnesi olarak aksiyon girdisi. Girdi olmadan, CLI {} gönderir.
--input-fileHayırAksiyon girdisini içeren bir dosyanın yolu ya da stdin’den okumak için -. --input ile birlikte kullanılamaz.
-y, --yesconfirm metni olan aksiyonlar içinconfirm metnini okuduktan sonra aksiyonu onaylar. Etkileşimli bir istem yoktur.
--openHayırPipe kullanılırken veya --json ile bile aksiyonun bağlantısını açar
--no-browserHayırAksiyonun 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 status ile 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 --input ile 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
FlagGerekliAçıklama
--outcomeEvetfinish migrasyonu tamamlandı olarak işaretler; cancel ise iptal eder
-y, --yesEvetKapatmayı onaylayın

Beceriler

adapty skills install

Bu makinedeki kodlama agent’larına Adapty skill’lerini yükler.

adapty skills install
BayrakZorunluAçıklama
--agentHayırYüklenecek agent: claude-code, codex veya gemini-cli. Birden fazla agent için bayrağı tekrarlayın.
-y, --yesHayırSormadan 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

KomutAçıklama
adapty auth loginCihaz flow’u kullanarak tarayıcı üzerinden kimlik doğrulama
adapty auth logoutKayıtlı kimlik bilgilerini ve yerel olarak kaydedilen migration’ı temizle
adapty auth whoamiToken’ı sunucuyla doğrula ve kullanıcı bilgilerini göster
adapty auth statusSunucuya çağrı yapmadan yerel kimlik doğrulama durumunu göster
adapty auth revokeToken’ı 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.