Özel mağazalardan işlemleri senkronize etme

Amazon Appstore, Microsoft Store veya kendi ödeme platformunuz gibi özel mağazalar üzerinden abonelik ya da uygulama içi satın alma sunuyorsanız, access level yönetimini otomatikleştirmek ve geliri analizlerinizde takip etmek için bu işlemleri Adapty ile senkronize edebilirsiniz.

Bu kılavuzda, özel mağaza satın almalarını SDK ve API aracılığıyla Adapty’ye nasıl bağlayacağınızı öğreneceksiniz.

Örnek kullanım senaryosu

Diyelim ki uygulamanızı Amazon Appstore’da dağıtıyorsunuz ya da doğrudan satış için kendi web mağazanızı kurduğunuz. Bir kullanıcı bu platformlardan birinde satın alma işlemini tamamladığında şunları yapmak istiyorsunuz:

  • Kullanıcıya mobil uygulamanızdaki premium özelliklere otomatik olarak erişim vermek
  • İşlemi, App Store ve Google Play gelirinizin yanı sıra Adapty analizlerinde de takip etmek
  • Diğer abonelikler gibi entegrasyonları ve webhook’ları tetiklemek

İşte bu entegrasyon tam olarak bunu sağlar.

1. Adım. Kullanıcıları tanımlayın

Adapty, platformlar arası kullanıcı tanımlaması için customer_user_id kullanır.

Bu ID’yi bir kez oluşturup hem mobil SDK’ya hem de web arka ucunuza iletmeniz gerekir. Kullanıcılar uygulamadan ilk kez kayıt olduğunda, SDK aktivasyonu sırasında customer user ID’yi geçirebilirsiniz. Adapty SDK’yı kayıt aşamasından önce aktive ettiyseniz, yeni bir profil oluşturmak ve buna customer user ID atamak için identify metodunu kullanın.

SDK aktivasyonundan sonra yeni kullanıcıları tanımlarsanız SDK önce anonim bir profil oluşturur (profil olmadan çalışamaz). identify metodunu customer user ID ile çağırdığınızda yeni bir profil oluşturulur.

Bu davranış normaldir ve analiz doğruluğunu etkilemez. Daha fazla bilgi için buraya bakın.

2. Adım. Adapty Kontrol Paneli’nde özel mağaza ürünleri oluşturun

Adapty’nin özel mağaza işlemlerini ürünlerinizle eşleştirebilmesi için ürünleri eklemeniz ve bunlara özel mağaza bilgilerini tanımlamanız gerekir.

  1. Adapty Kontrol Paneli’nde sol menüden Products bölümüne gidin ve Create product düğmesine tıklayın. Ya da mevcut bir ürüne tıklayarak düzenleyin.
  2. Ürünü satın alan kullanıcılara vermek istediğiniz access level seçeneğini belirlediğinizden emin olun.
  3. + düğmesine tıklayın ve Add a custom store seçeneğini seçin.
  4. Create new custom store seçeneğine tıklayın.
add-custom-store.webp
  1. Mağazanıza bir ad (örn. “Amazon Appstore”, “Microsoft Store” veya “Web Store”) ve ID verin. Create custom store düğmesine tıklayın.
new-store.webp
  1. Ardından ürünü özel mağazayla ilişkilendirmek için Save changes düğmesine tıklayın.
  2. Ürünü o mağazadaki bir ürünle eşleştirmek için Store product ID alanını doldurun ve Save düğmesine tıklayın.
store-product-id.webp

3. Adım. API aracılığıyla işlemleri senkronize edin

Özel mağazanızda bir satın alma tamamlandığında, sunucu tarafı API’yi kullanarak bunu Adapty’ye senkronize etmeniz gerekir.

Bu API çağrısı şunları yapar:

  • İşlemi Adapty’ye kaydeder
  • Kullanıcıya karşılık gelen access level’ı atar
  • Yapılandırdığınız entegrasyonları ve webhook’ları tetikler
  • İşlemin analizlerinizde görünmesini sağlar

Metodun tam referansına buradan ulaşabilirsiniz.

curl --request POST \
  --url https://api.adapty.io/api/v2/server-side-api/purchase/set/transaction/ \
  --header 'Accept: application/json' \
  --header 'Authorization: Api-Key YOUR_SECRET_API_KEY' \
  --header 'Content-Type: application/json' \
  --header 'adapty-customer-user-id: YOUR_CUSTOMER_USER_ID' \
  --data '{
  "purchase_type": "PRODUCT_PERIOD",
  "store": "YOUR_CUSTOM_STORE",
  "environment": "production",
  "store_product_id": "YOUR_STORE_PRODUCT_ID",
  "store_transaction_id": "STORE_TRANSACTION_ID",
  "store_original_transaction_id": "ORIGINAL_TRANSACTION_ID",
  "price": {
    "country": "COUNTRY_CODE",
    "currency": "CURRENCY_CODE",
    "value": "YOUR_PRICE"
  },
  "purchased_at": "2024-01-15T10:30:00Z"
}'

Önemli parametreler:

  • store: 2. Adım’daki özel mağazanızın ID’si
  • store_product_id: 2. Adım’daki Store product ID
  • store_transaction_id: Bu işlem için benzersiz bir tanımlayıcı
  • purchased_at: Satın almanın gerçekleştiği ISO 8601 biçimli zaman damgası
  • price: Kullanıcının ödediği tutar

4. Adım. Uygulamada erişimi doğrulayın

İşlem senkronize edildiğinde, kullanıcının profili yeni access level ile otomatik olarak güncellenir.

Kullanıcı mobil uygulamanızı açtığında, abonelik durumunu kontrol etmek ve premium özelliklerin kilidini açmak için profilini çekin.