Google Cloud Storage

Google Cloud Storage entegrasyonunu etkinleştirerek abonelik etkinliklerini ve paywall ziyaret verilerini tek bir merkezi konumda güvenli bir şekilde saklayabilirsiniz: Google Cloud Storage bucket’ınız.

Adapty her gün UTC 04:00’de bir önceki günün verilerini içeren .csv dosyalarını bucket’larınıza yükler. Etkinlik verilerini, paywall ziyaret verilerini veya her ikisini almak isteyip istemediğinizi seçebilirsiniz. Bu verileri istediğiniz zaman, istediğiniz zaman aralığı için manuel olarak da dışa aktarabilirsiniz.

Entegrasyonu kurmak için Google Cloud Console’da bucket erişim anahtarı oluşturun ve ardından Adapty ayarlarınıza ekleyin.

Yükleme zamanlaması ve süresi

Adapty, verileri her 24 saatte bir UTC 04:00’de Google Cloud Storage’a yükler.

Dosyalar, bir önceki takvim gününde (UTC) oluşturulan etkinliklerin verilerini içerir. 8 Mart’ta yüklenen dosya, 7 Mart’ta 00:00:00 ile 23:59:59 UTC arasında oluşturulan tüm etkinlikleri içerir.

Kuyruktaki toplam dosya sayısına ve kişisel olarak talep ettiğiniz veri miktarına bağlı olarak işlem birkaç saate kadar sürebilir. Adapty ilk yüklemede geçmiş verileri de ekliyorsa, sonraki günlük yüklemelerden daha uzun sürer.

Google Cloud Storage entegrasyonunu kurma

Yazma erişimine sahip geçerli bir Google Cloud hizmet hesabı anahtarına ihtiyacınız var. Oluşturmak için kimlik bilgileri oluşturma bölümündeki adımları izleyin.

Etkinlikler ve paywall ziyaretleri için farklı kimlik bilgileriyle farklı bucket’lar kullanabilirsiniz. Ancak kimlik bilgilerinden herhangi biri geçersizse her iki yükleme de başarısız olur.

Integrations -> Google Cloud Storage sayfasına gidin ve ilgili sekmeyi açın (Events veya Paywall visits). Entegrasyonu etkinleştirin.

Google Cloud hizmet hesabı anahtarınızı içeren dosyayı yükleyin. Hedef bucket ve klasörü belirtin. Değişikliklerinizi kaydedin.

google-cloud-storage-setup.webp

Etkinlik verileri için isteğe bağlı ayarlar

Rapora dahil edilecek etkinlikleri belirleyebilir ve etkinlikler için özel isimler ayarlayabilirsiniz. Mevcut etkinliklerin tam listesi için etkinlikler makalesine bakın.

event-specific-settings.webp
AdVarsayılanAçıklama
Exclude historical eventstrueAdapty SDK’yı uygulamanıza entegre etmeden önce gerçekleşen etkinliklere ait bilgileri hariç tutar.

Analitik platformunuz Adapty’yi kullanmaya başlamadan önce abonelik etkinlikleri aldıysa bu seçenek yinelenen etkinliklerin gönderilmesini engeller.
Pratik örnek

Bir kullanıcı 10 Ocak’ta aylık abonelik satın aldı. Uygulamanızın 1 Mart güncellemesi Adapty SDK’yı ilk kez içeriyordu.

Bu ayar açıksa rapor, Ocak’taki “abonelik başladı” etkinliğini veya Şubat’taki “abonelik yenilendi” etkinliğini içermez. Mart’ın 10’undaki “abonelik yenilendi” etkinliğini içerir.

Include events without profilefalseBir kullanıcı profiliyle ilişkilendirilmemiş veya belirli bir kullanıcıya hemen atanamayan işlemleri dahil eder. Bunlar, Adapty SDK kurulmadan önce yapılan satın almalar veya sunucu bildirimleri aracılığıyla alınan işlemler olabilir.
Send user attributesfalseÖzel kullanıcı özniteliklerini (kullanıcı verileri ve uygulama kullanım verileri gibi) dahil eder. OneSignal planınız 10’dan fazla etiketi destekliyorsa bu seçeneği seçin. Etiket limitinin aşılması hatalara yol açabilir.

Google Cloud Storage kimlik bilgileri oluşturma

Bu kılavuz, Google Cloud Platform Console’da gerekli kimlik bilgilerini oluşturmanıza yardımcı olur.

Adapty’nin ham veri raporlarını belirlediğiniz bucket’a yükleyebilmesi için hizmet hesabı anahtarı ve ilgili bucket’a yazma erişimi gereklidir. Hizmet hesabı anahtarını sağlayarak ve bucket’a yazma erişimi vererek Adapty’nin ham veri raporlarını platformunuzdan depolama ortamınıza güvenli ve verimli bir şekilde aktarmasına izin vermiş olursunuz.

Yalnızca Service Account HMAC key yetkilendirmesini desteklediğimizi unutmayın. Google Cloud Storage’a düzgün erişim sağlamak için Service Account HMAC key’inize “Storage Object Viewer”, “Storage Legacy Bucket Writer” ve “Storage Object Creator” rollerinin eklenmiş olması zorunludur.

  1. İlk adım olarak Google Cloud hesabınızın IAM bölümüne gidin ve ilgili projeyi seçin ya da yeni bir proje oluşturun.
30a81ef-CleanShot_2023-03-17_at_15.22.142x.webp
  1. Ardından ”+ CREATE SERVICE ACCOUNT” düğmesine tıklayarak Adapty için yeni bir hizmet hesabı oluşturun.

    98f8ebf-CleanShot_2023-03-17_at_15.40.062x.webp
  2. İlk adımdaki alanları doldurun; erişim izinleri sonraki aşamada verilecektir. Bu sayfa hakkında daha fazla bilgi için belgeleri okuyabilirsiniz.

    2190c50-CleanShot_2023-03-17_at_15.48.552x.webp
  3. Özel JSON anahtarı oluşturmak ve indirmek için KEYS bölümüne gidin ve “ADD KEY” düğmesine tıklayın.

    8a45468-CleanShot_2023-03-17_at_15.58.092x.webp
  4. DETAILS bölümünde yeni oluşturulan hizmet hesabıyla ilişkili E-posta değerini bulun ve kopyalayın. Bu bilgi, hesabı yetkilendirmek ve bucket’a yazma izni vermek için sonraki adımlarda gerekli olacaktır.

    6ccd0f0-CleanShot_2023-03-17_at_16.03.162x.webp
  5. Google Cloud Storage’ın Buckets sayfasına gidin, mevcut bir bucket’ı seçin veya Adapty’den gelen Etkinlik ya da Ziyaret Verisi raporlarını depolamak için yeni bir bucket oluşturun. Ardından PERMISSIONS bölümüne gidin ve GRANT ACCESS seçeneğini tıklayın.

    3cdd937-CleanShot_2023-03-17_at_16.14.232x.webp
  6. PERMISSIONS bölümüne beşinci adımda aldığınız hizmet hesabının e-posta adresini girin, Storage Object Creator rolünü seçin ve değişiklikleri uygulamak için SAVE’e tıklayın.

    62801f4-CleanShot_2023-03-17_at_16.17.312x.webp

    Bucket adını ileride kullanmak üzere not edin.

Manuel veri dışa aktarma

Adapty, Google Cloud Storage’a otomatik etkinlik verisi dışa aktarmanın yanı sıra manuel dosya dışa aktarma işlevi de sunar. Bu özellikle etkinlik verileri için belirli bir zaman aralığı seçebilir ve GCS bucket’ınıza manuel olarak aktarabilirsiniz. Bu sayede hangi verileri ne zaman dışa aktaracağınız üzerinde daha fazla kontrol sahibi olursunuz.

Belirtilen tarih aralığı, A Tarihi 00:00:00 UTC’den B Tarihi 23:59:59 UTC’ye kadar oluşturulan etkinlikleri dışa aktarmak için kullanılır.

e347308-CleanShot_2023-03-17_at_17.39.452x.webp

Veri yapısı

Adapty, verileri tablo formatında dışa aktarmak için .csv dosyaları kullanır.

Etkinlik içeriği zaman içinde büyüyebilir; bizim veya birlikte çalıştığımız üçüncü tarafların eklediği yeni verilerle genişleyebilir. İşleyen kodunuzun yeterince esnek olduğundan ve yapının tamamına değil belirli alanlara dayandığından emin olun.

Etkinlikler

Raporlarınıza dahil edilecek etkinliklerin listesini değiştirebilirsiniz.

SütunAçıklama
profile_idAdapty kullanıcı kimliği.
event_typeKüçük harfli etkinlik adı. Etkinlik türlerini öğrenmek için Etkinlikler bölümüne bakın.
event_datetimeISO 8601 tarih formatı.
transaction_idSatın alma veya yenileme gibi bir işlem için benzersiz tanımlayıcı.
original_transaction_idOrijinal satın almanın işlem tanımlayıcısı.
subscription_expires_atAboneliğin sona erme tarihi. Genellikle gelecektedir.
environmentSandbox veya Production olabilir.
revenue_usdUSD cinsinden gelir. Boş olabilir.
proceeds_usdUSD cinsinden net hasılat. Boş olabilir.
net_revenue_usdUSD cinsinden net gelir (vergiler sonrası). Boş olabilir.
tax_amount_usdUSD cinsinden kesilen vergi tutarı. Boş olabilir.
revenue_localYerel para biriminde gelir. Boş olabilir.
proceeds_localYerel para biriminde net hasılat. Boş olabilir.
net_revenue_localYerel para biriminde net gelir (vergiler sonrası). Boş olabilir.
tax_amount_localYerel para biriminde kesilen vergi tutarı. Boş olabilir.
customer_user_idGeliştirici kullanıcı kimliği. Örneğin kullanıcı UUID’niz, e-postanız veya başka bir kimlik olabilir. Ayarlanmadıysa null.
storeapp_store veya play_store olabilir.
product_idApple App Store, Google Play Store veya Stripe’taki ürün kimliği.
base_plan_idGoogle Play Store’daki Base plan ID veya Stripe’taki fiyat kimliği.
developer_idİşlemin gerçekleştiği paywallın geliştirici (SDK) kimliği.
ab_test_nameİşlemin gerçekleştiği A/B testinin adı.
ab_test_revisionİşlemin gerçekleştiği A/B testinin revizyonu.
paywall_nameİşlemin gerçekleştiği paywallın adı.
paywall_revisionİşlemin gerçekleştiği paywallın revizyonu.
profile_countryAdapty tarafından IP’ye göre belirlenen profil ülkesi.
install_dateKurulumun gerçekleştiği ISO 8601 tarih formatı.
idfviOS cihazlarda identifierForVendor
idfaiOS cihazlarda advertisingIdentifier
advertising_idAndroid İşletim Sistemi tarafından atanan ve reklamcıların bir kullanıcının cihazını benzersiz şekilde tanımlamak için kullanabileceği benzersiz kod
ip_addressCihaz IP’si (IPv4 veya IPv6 olabilir, mevcut olduğunda IPv4 tercih edilir). Cihazın IP’si her değiştiğinde güncellenir.
cancellation_reason

Kullanıcının aboneliği iptal etme nedeni.

Olası değerler:

iOS & Androidvoluntarily_cancelled, billing_error, refund

Yalnızca iOSprice_increase, product_was_not_available, unknown, upgraded

Yalnızca Androidnew_subscription_replace, cancelled_by_developer

android_app_set_idParasal olmayan reklam kullanım durumları için cihaz başına, geliştirici hesabı başına kullanıcı tarafından sıfırlanabilir benzersiz bir kimlik olan AppSetId.
android_idAndroid 8.0 (API seviyesi 26) ve üzeri platformlarda uygulama imzalama anahtarı, kullanıcı ve cihaz kombinasyonuna özgü 64 bitlik bir sayı (onaltılık dize olarak ifade edilir). Daha fazla bilgi için Android geliştirici belgelerine bakın.
deviceSon kullanıcıya görünür cihaz model adı.
currencyİşlemin 3 harfli para birimi kodu (ISO-4217).
store_countryApple/Google mağazası tarafından belirlenen profil ülkesi.
attribution_sourceAttribution kaynağı.
attribution_network_user_idAttribution kaynağı tarafından kullanıcıya atanan kimlik.
attribution_statusorganic, non_organic veya unknown olabilir.
attribution_channelPazarlama kanalı adı.
attribution_campaignPazarlama kampanyası adı.
attribution_ad_groupAttribution reklam grubu.
attribution_ad_setAttribution reklam seti.
attribution_creativeAttribution kreatif anahtar kelimesi.
attributesÖzel kullanıcı özniteliklerinin JSON’ı. Mobil uygulamanızdan gönderecek şekilde ayarladığınız tüm özel öznitelikleri içerir. Göndermek için Integrations -> Webhooks sayfasındaki Send User Attributes seçeneğini etkinleştirin.
integration_idsBir profille ilişkili tüm entegrasyon kimlikleri. Sözlük. Örnek: {‘mixpanel_user_id’: ‘mixpanelUserId-test’, ‘facebook_anonymous_id’: ‘facebookAnonymousId-test’}

Paywall ziyaretleri

SütunAçıklama
profile_idAdapty kullanıcı kimliği.
customer_user_idGeliştirici kullanıcı kimliği. Örneğin kullanıcı UUID’niz, e-postanız veya başka bir kimlik olabilir. Ayarlanmadıysa null.
profile_countryApple/Google mağazası tarafından belirlenen profil ülkesi.
install_dateKurulumun gerçekleştiği ISO 8601 tarih formatı.
storeapp_store veya play_store olabilir.
paywall_showed_atPaywallın müşteriye gösterildiği tarih.
developer_idİşlemin gerçekleştiği paywallın geliştirici (SDK) kimliği.
ab_test_nameİşlemin gerçekleştiği A/B testinin adı.
ab_test_revisionİşlemin gerçekleştiği A/B testinin revizyonu.
paywall_nameİşlemin gerçekleştiği paywallın adı.
paywall_revisionİşlemin gerçekleştiği paywallın revizyonu.

Sorun giderme

Adapty, yükleme başlamadan önce erişim anahtarlarınızın geçerliliğini kontrol eder. Google Cloud Storage anahtarlarınızdan yalnızca biri geçersizse bile Adapty yüklemeyi iptal eder ve hata fırlatır.

Yüklemelerin kesintisiz devam etmesi için anahtarlarınızı süresi dolmadan önce yenileyin. Etkinlikler için anahtarı güncellediyseniz paywall ziyaretleri için de güncellemeyi unutmayın; ya da tam tersi.