Geçmiş verileri Adapty'ye aktarma

Adapty SDK’yı yükleyip uygulamanızı yayınladıktan sonra, kullanıcılarınıza ve abonelerinize Profiller bölümünden erişebilirsiniz. Peki ya eski bir altyapınız varsa ve Adapty’ye geçiş yapmanız gerekiyorsa ya da mevcut verilerinizi Adapty’de görmek istiyorsanız?

Veri aktarımı zorunlu değildir

Adapty SDK entegre edilmiş uygulamayı açtıklarında Adapty, geçmiş kullanıcılara otomatik olarak access level tanıyacak ve satın alma olaylarını geri yükleyecektir. Bu kullanım senaryosunda geçmiş veri aktarımı gerekli değildir. Ancak önemli miktarda geçmiş işleminiz varsa veri aktarımı, analizlerinizin daha doğru olmasını sağlar; yine de genel olarak geçiş için zorunlu değildir.

Verileri Adapty’ye aktarmak için:

  1. İşlemlerinizi bir CSV dosyasına aktarın (iOS, Android ve Stripe için ayrı dosyalar hazırlanmalıdır). Ayrıntılı gereksinimler için aşağıdaki İçe aktarma dosyası formatı bölümüne bakın.
  2. Herhangi bir dosya 1 GB’ı aşıyorsa, yaklaşık 100 satırlık bir veri örneği hazırlayın.
  3. Tüm dosyaları Google Drive’a yükleyin (sıkıştırabilirsiniz, ancak ayrı tutun).
  4. iOS işlemleri için, StoreKit 1 kullansanız bile App settings içindeki In-app purchase API bölümünün Issuer ID, Key ID ve Private key (.P8 dosyası) ile doldurulduğundan emin olun. Ayrıntılı talimatlar için Issuer ID ve Key ID Sağlama ve In-App Purchase Key Dosyası Yükleme bölümlerine bakın.
  5. Bağlantıları ekibimizle e-posta aracılığıyla veya Adapty Kontrol Paneli’ndeki çevrimiçi sohbet üzerinden paylaşın.

Geçmiş verilerin aktarılması, mevcut Adapty girdileriyle çakışsa bile yinelenen kayıtlar oluşturmaz.

Android için bilinen kısıtlamalar

  1. Yalnızca aktif abonelikler geri yüklenecektir; süresi dolmuş işlemler geri yüklenmez.
  2. Bir abonelikteki yalnızca en son yenilemeler geri yüklenecektir; satın alma zincirinin tamamı geri yüklenmez.
  3. Satın alma tarihinden bu yana ürün fiyatı değişmişse, mevcut fiyat kullanılır ve bu da yanlış fiyatlandırmaya yol açabilir.

Büyük hacimde Android işleminiz varsa, varsayılan API sınırını aşmamak için içe aktarmaya başlamadan önce Google Play Developer API kota artışı talep etmeniz gerekebilir.

İçe aktarma dosyası formatı

RevenueCat’ten geçiş yapıyorsanız, RevenueCat dışa aktarma dosyasını doğrudan gönderebilirsiniz — dönüştürme gerekmez. Dışa aktarma talimatları için RevenueCat belgelerine bakın.

Lütfen verilerinizi aşağıdaki kurallara uyan bir veya birden fazla dosyada hazırlayın:

  • Dosya formatı .CSV olmalıdır.
  • Android, iOS ve Stripe içe aktarmaları için ayrı dosyalar hazırlanmalıdır.
  • Her içe aktarma dosyası tüm zorunlu sütunları içermelidir.
  • İçe aktarma dosyalarındaki sütunların başlıkları olmalıdır.
  • Sütun başlıkları aşağıdaki tablodaki Column name sütunuyla birebir aynı olmalıdır. Yazım hatalarını kontrol edin.
  • Zorunlu olmayan sütunlar dosyada bulunmayabilir. Verisini almadığınız alanlar için boş sütun eklemeyin.
  • İçe aktarma dosyaları tabloda belirtilmeyen ekstra sütunlar içermemelidir. Varsa lütfen silin.
  • Değerler virgülle ayrılmalıdır.
  • Değerler tırnak içine alınmamalıdır.
  • Bir kullanıcı için birden fazla apple_original_transaction_id varsa, her apple_original_transaction_id için ayrı satır olarak hepsini ekleyin. Aksi takdirde consumable satın almaları geri yükleyemeyebiliriz.

Örnek dosyalar için lütfen iOS ve Android bağlantılarını kullanın.

Kullanılabilir içe aktarma dosyası sütunları

Sütun adıVarlıkAçıklama
user_idzorunluKullanıcınızın kimliği
apple_original_transaction_idiOS için zorunlu

Orijinal işlem kimliği veya OTID (daha fazla bilgi), StoreKit 2 içe aktarma mekanizmasında kullanılır. Bir kullanıcının birden fazla OTID’i olabileceğinden, başarılı bir içe aktarma için en az birini sağlamak yeterlidir.

Not: Bu içe aktarmanın çalışması için Adapty Kontrol Paneli’nizde In-app purchase API kimlik bilgilerinin ayarlanmış olması gerekir. Nasıl yapacağınızı buradan öğrenin.

google_product_idGoogle için zorunluGoogle Play Store’daki ürün kimliği.
google_purchase_tokenGoogle için zorunluKullanıcıyı ve satın aldıkları uygulama içi ürünün ürün kimliğini temsil eden benzersiz tanımlayıcı
google_is_subscriptionGoogle için zorunluOlası değerler: 1 | 0
stripe_tokenStripe için zorunluBenzersiz bir satın almayı temsil eden Stripe nesnesinin token’ı. Stripe’ın Abonelik (sub_...) veya Ödeme Niyeti (pi_...) token’ı olabilir.
subscription_expiration_dateisteğe bağlıAbonelik bitiş tarihi, yani bir sonraki ödeme tarihi; saat dilimi bilgisiyle birlikte tarih ve saat (2020-12-31T23:59:59-06:00)
created_atisteğe bağlıProfil oluşturma tarihi ve saati (2019-12-31 23:59:59-06:00)
birthdayisteğe bağlıKullanıcının doğum tarihi, format: 2000-12-31
emailisteğe bağlıKullanıcınızın e-posta adresi
genderisteğe bağlıKullanıcının cinsiyeti
phone_numberisteğe bağlıKullanıcınızın telefon numarası
countryisteğe bağlıISO 3166-1 alpha-2 formatı
first_nameisteğe bağlıKullanıcınızın adı
last_nameisteğe bağlıKullanıcınızın soyadı
last_seenisteğe bağlıSaat dilimi bilgisiyle birlikte tarih ve saat (2020-12-31T23:59:59-06:00)
idfaisteğe bağlıReklam verenler için tanımlayıcı (IDFA), Apple’ın kullanıcının cihazına atadığı rastgele bir cihaz tanımlayıcısıdır. Yalnızca iOS uygulamaları için geçerlidir
idfvisteğe bağlıSatıcılar için tanımlayıcı (IDFV), tek bir geliştiricinin geliştirdiği tüm uygulamalara (bu durumda sizin uygulamalarınıza) atanan benzersiz bir koddur. Yalnızca iOS uygulamaları için geçerlidir
advertising_idisteğe bağlıReklam kimliği, reklamverenlerin bir kullanıcının cihazını benzersiz şekilde tanımlamak için kullanabileceği Android İşletim Sistemi tarafından atanan benzersiz bir koddur
amplitude_user_idisteğe bağlıAmplitude’deki kullanıcı kimliği
amplitude_device_idisteğe bağlıAmplitude’deki cihaz kimliği
mixpanel_user_idisteğe bağlıMixpanel’deki kullanıcı kimliği
appmetrica_profile_idisteğe bağlıAppMetrica’daki kullanıcı profil kimliği
appmetrica_device_idisteğe bağlıAppMetrica’daki cihaz kimliği
appsflyer_idisteğe bağlıAppsFlyer’dan benzersiz tanımlayıcı
adjust_device_idisteğe bağlıAdjust’taki cihaz kimliği
facebook_anonymous_idisteğe bağlıFacebook’un, uygulamanız veya web sitenizle Facebook’a giriş yapmadan (anonim olarak) etkileşime giren kullanıcılar için oluşturduğu benzersiz tanımlayıcı
branch_idisteğe bağlıBranch’ten benzersiz tanımlayıcı
attribution_sourceisteğe bağlıAttribution’ın kaynak entegrasyonu, örneğin appsflyer
attribution_statusisteğe bağlıorganic
attribution_channelisteğe bağlıİşlemi getiren attribution kanalı
attribution_campaignisteğe bağlıİşlemi getiren attribution kampanyası
attribution_ad_groupisteğe bağlıİşlemi getiren attribution reklam grubu
attribution_ad_setisteğe bağlıİşlemi getiren attribution reklam seti
attribution_creativeisteğe bağlıTıklama, dönüşüm veya yükleme gibi istenen eylemleri yönlendirmedeki etkinliklerini belirlemek için takip edilen bir reklam veya pazarlama kampanyasında kullanılan belirli görsel veya metinsel öğeler
custom_attributesisteğe bağlıAnahtar-değer formatında JSON sözlüğü olarak en fazla 30 özel öznitelik tanımlayın:
  • key: (string) Özel özniteliğin adı
  • value: (string, integer, float veya boolean) Özel özniteliğin değeri.

Format: "{'string_value': 'some_value', 'float_value': 123.0, 'int_value': 456}".

Formatta çift ve tek tırnak kullanımına dikkat edin. Boolean ve tam sayı değerlerinin float’a dönüştürüleceğini unutmayın.

Zorunlu Alanlar

Her platform için 2 grup zorunlu alan vardır: user_id ve ilgili platforma özgü satın almaları tanımlayan veriler. Platform başına zorunlu alanlar için aşağıdaki tabloya bakın.

PlatformZorunlu alanlar
iOS

user_id

apple_original_transaction_id

Android

user_id

google_product_id

google_purchase_token

google_is_subscription

Stripe

user_id

stripe_token

Bu alanlar olmadan Adapty işlemleri getiremez.

Doğru kohort analitiği için lütfen created_at alanını belirtin. Sağlanmazsa, yükleme tarihinin ilk satın alma tarihiyle aynı olduğu varsayılır.

Verileri Adapty’ye Aktar

Lütfen bizimle iletişime geçin ve içe aktarma dosyalarınızı [email protected] adresi veya Adapty Kontrol Paneli’ndeki çevrimiçi sohbet aracılığıyla paylaşın.