Şunu hayal edin: bir kullanıcı abonelik satın alıyor, cihaz değiştiriyor, uygulamanızı yeniden yüklüyor ve aniden erişimini kaybediyor. Güven kaybetmenin en kolay yolu budur.
İşte bu yüzden “Satın almayı geri yükle” seçeneği mevcuttur. Bu seçenek isteğe bağlı bir düğme gibi görünebilir, ancak özellikle abonelik tabanlı uygulamalar için zorunludur.
Bu seçenek, kullanıcıların daha önce satın aldıkları içeriğe tekrar ödeme yapmadan erişmelerini sağlar.
Güven, uyumluluk ve kullanıcı sadakati açısından büyük önemi olan küçük bir düğmedir.
Neden önemlidir
- Kullanıcı güveni: Bir kişi bir kez ödeme yaptıysa, cihaz ne olursa olsun erişimi sürdürmeyi bekler.
- Destek yükü: Karışık veya eksik geri yükleme mantığı = kızgın kullanıcılar + daha fazla bilet.
- App Store uyumluluğu: Apple ve Google, belirli ürün türleri için geri yükleme seçeneği eklemenizi beklemektedir.
Hangi satın almalar geri yüklenebilir
Geri yüklenebilir satın alımlar şunları içerir:
- Tüketilmeyen ürünler: Ömür boyu erişim veya premium özellikler gibi tek seferlik satın alımlar.
- Otomatik yenilenebilir abonelikler: Cihazlar arasında senkronize edilen aylık/yıllık planlar.
- Yenilenmeyen abonelikler: Sabit süreli erişim (örneğin, 3 aylık geçiş kartı).
Geri yüklenemez:
- Sarf malzemeleri gibi madeni paralar, ekstra canlar veya tek seferlik güçlendirmeler. Bunlar tüketilmek üzere tasarlanmıştır.
“Satın almayı geri yükle” düğmesi nasıl çalışır
- UI/UX. Genellikle ayarlarda veya doğrudan ödeme duvarında bir “Satın almayı geri yükle” düğmesi ekleyin.
- Tetikleyici. Tıklandığında, aşağıdaki yol üzerinden geri yüklemeyi tetikleyin:
- iOS için SKPaymentQueue.restoreCompletedTransactions()
- BillingClient.queryPurchaseHistoryAsync() Android için
- Veya hakları sunucu tarafında yönetiyorsanız arka uç mantığınız
- Erişimi güncelleyin. Geri yükleme tamamlandıktan sonra, kullanıcının abonelik durumunu yenileyin ve içeriğin kilidini açın.
- Yararlı bir metin ekleyin. Basit bir satır, karışıklığı azaltmaya yardımcı olur: “Cihazınızı değiştirdiyseniz veya uygulamayı yeniden yüklediyseniz bunu kullanın.”
- Yinelemeden kaçının. Kullanıcı zaten erişime sahipse, düğmeyi devre dışı bırakın veya tamamen gizleyin.
- Hesap mantığı. Giriş gerektiren uygulamalar için: abonelikleri kullanıcı hesaplarına bağlayın ve arka uç üzerinden senkronize ederek cihazlar arası geri yüklemeyi basitleştirin.
iOS’ta satın almaları geri yükleme nasıl çalışır
iOS’ta satın almaları geri yüklemek, uygulama makbuzunu yeniler ve kullanıcının Apple ID’sine bağlı ürünleri yeniden sunar. İşlem arka planda sessizce çalışır ve deneyim basit ve anlaşılır olmalıdır.
Bunu yerel StoreKit kullanarak nasıl yapacağınız (StoreKit 2 öncesi):
1. Geri yükleme işlemini başlatın
Geri yükleme akışını tetiklemek için restoreCompletedTransactions() işlevini çağırın:
SKPaymentQueue.default().restoreCompletedTransactions()Bu, StoreKit’e mevcut Apple ID’ye bağlı geçmiş satın almaları aramasını söyler.
2. Geri yüklenen işlemleri yönetin
Ödeme kuyruğunu dinleyin ve .restored işlem durumlarını kontrol edin. Ardından, içeriğin kilidini açın ve işlemi tamamlandı olarak işaretleyin:
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
if transaction.transactionState == .restored {
// Unlock access based on restored product
unlockContent(transaction: transaction)
SKPaymentQueue.default().finishTransaction(transaction)
}
}
}finishTransaction(_:) işlevini çağırmayı unutmayın. Aksi takdirde, StoreKit aynı işlemi tekrar tekrar denemeye devam edebilir.
3. Hataları düzgün bir şekilde yönetin
Geri yükleme; geçersiz makbuzlar, ağ sorunları veya Apple ID’de uygun satın alma bulunmaması nedeniyle başarısız olabilir. Kullanıcılara net bir geri bildirim gösterin ve hatayı hata ayıklama için kaydedin.
Adapty SDK kullanıyor musunuz? Makbuz doğrulama ve istisnai durumlar dahil olmak üzere tüm bunları tek bir yöntem çağrısı ile hallediyoruz.
Android’de satın almaları geri yükleme nasıl çalışır
Android’de satın almaları geri yüklemek, kullanıcının satın alma geçmişini Google Play üzerinden kontrol etmek ve tüketilemez ürünleri veya aktif abonelikleri yeniden etkinleştirmek anlamına gelir. iOS’taki gibi yerleşik bir “geri yükle” düğmesi yoktur. Bu, işlemi billing API aracılığıyla manuel olarak yönetmeniz gerektiği anlamına gelir.
Bunu Google Play Billing Library kullanarak nasıl yapacağınız:
1. Satın alma geçmişini sorgula
Kullanıcının geçmiş satın alımlarını almak için queryPurchaseHistoryAsync() işlevini kullanın:
billingClient.queryPurchaseHistoryAsync(
BillingClient.SkuType.SUBS
) { billingResult, purchaseHistoryList ->
if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchaseHistoryList != null) {
for (purchase in purchaseHistoryList) {
// Restore subscription access
restoreEntitlement(purchase)
}
}
}Ayrıca, BillingClient.SkuType.INAPP değerini ileterek uygulama içi satın alımları sorgulayabilirsiniz.
2. Doğrulayın ve kilidi açın
Satın alma geçmişini aldıktan sonra makbuzları doğrulayın (tercihen sunucu tarafında) ve buna göre erişim verin. Sahteciliği önlemek için imza verilerini doğrulamayı unutmayın.
Adapty; satın alma doğrulamasını, kullanıcı erişim mantığını ve platformlar arası senkronizasyonu hazır olarak sunar.
3. UX değerlendirmeleri
Android kullanıcıları bir “Satın Almaları Geri Yükle” düğmesi beklemediğinden, şunları yapabilirsiniz:
- Giriş yapıldığında veya uygulama başlatıldığında otomatik olarak geri yüklemeyi etkinleştir
- Veya şeffaflık için Ayarlar altında gizli bir seçenek sunabilirsiniz
Her iki durumda da geri yükleme mantığının arka planda sessizce çalıştığından ve erişim geri yüklendiğinde arayüzü güncellediğinden emin olun.
Son düşünceler
“Satın almayı geri yükle” düğmesi basit görünebilir, ancak abonelik yolculuğunda kritik bir rol oynar.
- Güven inşa eder.
- Kullanıcı kaybını azaltır.
- Uyumluluğunuzu sağlar.
Görünür yapın. Çalışır hale getirin. Ve anlaşılmasını kolaylaştırın.




