5

Çeşitli platformlar için bir uygulamam var. IOS, Android ve Windows olsun. Bir uygulamayı kullanabilmek için aylık ücret ödenmesi gerekir, ancak tüm platformları kullanmak için sadece bir kez ödenmesi gerekir. Spotify ile aynıdır, bu yüzden bir kere ödeme yaparak her platform kullanılabilir.Çoklu platformlarda satın alma işlemlerini gerçekleştirin ve düzenleyin

Google ve Apple'ın yönergelerine göre, aylık ücret karşılığında Uygulama İçi Satın Alımlar sunmam gerekiyor. Sistem, benim kontrolümdeki bir sunucu tarafından yönetilen kullanıcı hesaplarına bağlanır. Kullanıcıların abonelik verilerini saklıyorum, böylece bir kullanıcı iOS'ta Uygulama İçi Alımlarını kullanıyorsa, Android Uygulamanın kilidini açmak için bilgi merkezi sunucuya iletilir (başka bir platformda ödemesi durumunda) Zaten

Sorun şu senaryoyu oluşturuyor: Bir kullanıcının geçerli bir aboneliği var, bu Google Play üzerinden ödendi. IOS ve Windows uygulamaları da kilitli. Artık kullanıcı Android uygulamasını kaldırır, Google Play web sitesine gider ve aboneliği iptal eder. Mevcut senaryoda, bunu tespit edemem ve abonelik diğer tüm platformlar için geçerli olacak.

Sorun şu ki: Bu sorunu çözmek için herhangi bir model var mı? Spotify ve co bu sorunu da çözüyoruz, bu nedenle bu

cevap

1

için bir çözüm olmalıdır. Kullanıcının yetkilendirmesini gerçekleştiren sunucu (yani sunucunuz) Google Subscription API'sını sorgulamalıdır. geçerli abonelik hala geçerli. Her bir SubscriptionPurchase Resource, aboneliğin ne zaman sona ereceği hakkında bilgi içerir. Bir makbuz alacak ve bu abonelik hala geçerli olup olmadığını o makbuz, denetlemek istediğiniz zaman sunucuyu sorgulayabilir:

(https://developers.google.com/android-publisher/api-ref/purchases/subscriptions bakınız) Elma için

, aynı şeyler geçerlidir.

bu noktaları ve çok iyi tuzaklardan özetleyen bir slayt vardır: https://speakerdeck.com/rosapolis/the-recurring-nightmare-cross-platform-in-app-subscription-purchases

Alt çizgi: Bunu iki mağaza arasındaki iletişimi yapan bir sunucu olmadan gerçekleşmesi mümkün olmayacaktır. Bununla birlikte, slayt gösterileri gibi sorunlarla birlikte gelir.

Bonus: The talk from which the slides are taken is also on Youtube

+1

hakkında Abonelik API ile nokta geçerlidir, zaten bu bölümü kullanıyorum. Apple bölümü hakkında emin değilim, bunu kontrol edeceğim. Şimdiye kadar teşekkürler :-) – thardes2

+1

Temel şey, bu [https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html) 'den makale. Benim bakış açımdan, en kolay yol, güvendeki sunucuda bu talepleri elma sunucularına yönlendiren bazı arayüzlerdir. Yardımlarınız için teşekkür ederiz :-) – thardes2