Geçmiş verileri Adapty'ye aktarma

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

Veri aktarımı zorunlu değildir

Adapty, Adapty SDK entegre edilmiş uygulamayı açan geçmiş kullanıcılara access level’ları otomatik olarak tanıyacak ve satın alma geçmişlerini geri yükleyecektir. Bu kullanım senaryosu için geçmiş verilerin içe aktarılması zorunlu değildir. Ancak önemli miktarda geçmiş işleminiz varsa veri içe aktarımı, analizlerin daha doğru olmasını sağlar; bununla birlikte bu adım genellikle migrasyon için gerekli değildir.

Adapty’ye veri içe aktarmak için:

  1. İşlemlerinizi bir CSV dosyasına aktarın (iOS, Android ve Stripe için ayrı dosyalar sağlanmalı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 yoluyla veya Adapty Kontrol Paneli’ndeki çevrimiçi sohbet aracılığıyla paylaşın.

Geçmiş verileri içe aktarmanın, Adapty’deki mevcut girişlerle örtüşse bile yinelenen kayıtlar oluşturmayacağı konusunda endişelenmenize gerek yok.

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’dir.
  • Android, iOS ve Stripe importları için ayrı dosyalar.
  • Her import dosyası tüm zorunlu sütunları içerir.
  • Import dosyasındaki sütunların başlıkları vardır.
  • Sütun başlıkları, aşağıdaki tablonun Column name sütunundakiyle birebir aynıdır. Lütfen yazım hatalarını kontrol edin.
  • Zorunlu olmayan sütunlar dosyada bulunmayabilir. Veriniz olmayan sütunlar için boş sütun eklemeyin.
  • Import dosyalarında tabloda belirtilmeyen fazladan sütunlar olmamalıdır. Varsa lütfen silin.
  • Değerler virgülle ayrılır.
  • Değerler tırnak içine alınmaz.
  • 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 alımları 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 İçe Aktarma

Lütfen bizimle iletişime geçin ve içe aktarma dosyalarınızı support@adapty.io adresine veya Adapty Kontrol Paneli’ndeki çevrimiçi sohbet aracılığıyla paylaşın.