HUAWEI In-App Purchases Flutter Engtegrasyonu — 3. Kısım

Tolunay Öztürk
Huawei Developers - Türkiye
4 min readFeb 23, 2021

Herkese merhaba, bu makale serisinin üçüncü ve son bölümüne hoş geldiniz. Bu bölümde, HUAWEI In-App Purchases’in başka bir özelliğini kullanarak Flutter uygulamamıza daha fazla özellik ekleyeceğiz.

Evet, doğru tahmin ettiniz. Aboneliklerin nasıl entegre edileceğine göz atacağız.

Önceki bölümlerde Consumable ve Non-Consumable ürünlerin entegrasyonuna göz atmıştık. Bu özellikler hakkında bilgi edinmek ve hizmeti nasıl entegre edeceğinizi, ürünlerinizi yönetmeyi ve diğer her şeyi nasıl yapılandıracağınızı öğrenmek istiyorsanız, aşağıdaki bağlantıları ziyaret ederek bunu yapabilirsiniz.

Aboneliklerin Yapılandırılması

Otomatik Yenilenebilir Abonelik oluşturmadan önce, bir abonelik grubu oluşturmamız ve aboneliğin ait olduğu abonelik grubunu belirtmemiz gerekir. Bir abonelik grubu oluşturmak için Uygulamalarım> [Uygulamanız]> Çalıştır> Ürün Yönetimi> Abonelik Grupları’na gidin.

Bir abonelik grubunun birden fazla abonelik içerebileceğini, ancak bir abonelik grubundaki yalnızca bir ürünün aynı anda geçerli olduğunu unutmayın. Bu mekanizma, işlevlerinde küçük farklılıklar olan ürünleri hızlı bir şekilde uygulamak için bize uygun bir yol sağlar.

Bir abonelik grubu oluşturduktan sonra, ürününüzü Ürünler sekmesine ekleyebiliriz.

Implementasyon

Ürün Bilgilerini Almak

Aboneliklerimizin ürün bilgilerini görüntülemek için IapClient.obtainProductInfo (productInfoRequest) çağrısıyla alabiliriz.

Abonelik ürün bilgilerinin elde edilme süreci, Consumable ve Non-Consumable ürünler ile birebir aynıdır. Sadece istekte türü Subscription olarak değiştirmeniz yeterlidir.

Unutmayın: SkuIds, AppGallery Connect’te ürün bilgilerini yapılandırırken geliştirici tarafından belirlenenlerle aynıdır.

Abonelik Satın Almak

Bir abonelik satın almak, diğer herhangi bir ürün türünü satın almak gibidir. Bir satın alma isteği oluşturun, ürün türünü ve talepte ürün tanımlayıcısını ayarlayın ve createPurchaseIntent(request)’i çağırın ve bu kadar.

Unutmayın: Satın alma işlevini test etmek ve gerçek ödeme yapmadan uçtan uca testi tamamlamak için, AppGallery Connect’te bir test kullanıcısı hesabı oluşturmanız ve aşağıdaki kodda olduğu gibi istekte geliştiriciPayload’ı “Test” olarak belirtmeniz gerekir.

Uygulamanız için nasıl test kullanıcısı hesabı oluşturacağınızı öğrenmek için lütfen Sandbox Testing’e bakın.

Ayrıca farklı return kodlarını kontrol edebilir ve duruma göre ayrı işlem yapabilirsiniz. Tüm return kodlarını görmek için lütfen Result Codes’a bakın.

Aboneliğin Geçerliliğini Kontrol Edin

Uygulamanızda bir abonelik hizmetini sağlamadan önce, önce aboneliğin durumunu kontrol edin. Döndürülen inAppPurchaseData’dan abonelikler hakkında bilgi almak için uygulama başlangıcında getOwnedPurchases’ı çağırabilirsiniz. InAppPurchaseData’daki subIsValid true olarak geliyorsa, abonelik geçerli durumdadır ve abonelikle ilişkili hizmetleri sağlayabilirsiniz.

Yukarıdaki örnek, aynı hizmeti birden fazla abonelikle sağladığınızı varsayıyor. (gerçekçi değil ama bu bir demo sonuçta). Farklı hizmetler ile birden fazla abonelik sağlıyorsanız, her birini burada kontrol edebilir ve yönetebilirsiniz.

Ayrıca inAppPurchaseData’dan ürünle ilgili çok daha fazla detaya erişebilirsiniz. Tam listeyi görmek için lütfen InAppPurchaseDetails’e göz atın.

Manage Subscriptions

HUAWEI Uygulama In-App Purchases’in bir diğer harika özelliği, kullanıcılarınızın aboneliklerini birkaç satır kodla tek bir yerden yönetmelerine izin verebilmenizdir.

Abonelik yönetimi sayfası, bir kullanıcının satın aldığı uygulama içi aboneliklerin listesini görüntüler. Abonelik düzenleme sayfası ise bir kullanıcının uygulamanızda satın aldığı bir uygulama içi abonelikle ilgili ayrıntıları, aynı abonelik grubu içindeki diğer aboneliklerle ilgili bilgileri görüntülememize olanak sağlar.

onPressed: () {
IapUtil.startIapActivityForSubscriptions();
},

Test Sırasında Dikkat Edilmesi Gerekenler

Abonelik senaryosunu hızlı bir şekilde test etmenize yardımcı olmak için, sandbox test ortamındaki abonelik yenileme süresi gerçek hayattakinden daha hızlıdır. Aşağıdaki tablo gerçek yenileme dönemleri ile test dönemleri arasındaki farkı göstermektedir.

  • Bir abonelik satın almak için bir banka kartı eklemeniz gerekir, ancak Sandbox Testini yapılandırdıysanız sizden ücret alınmaz.
  • Sandbox test ortamında, bir abonelik altı kez otomatik olarak yenilenir. Altı kereden sonra, kullanıcının bir abonelik devam ettirme isteği başlatması gerekir. Abonelik bir kez devam ettirilirse, abonelik tekrar yenilenir.
  • Sandbox test ortamında ödeme sayfası görüntülendiğinde, aşağıdaki örnek iletişim kutusu hem ödeme sayfasında hem de başarılı satın alma sayfasında gösterilecektir.

Bu kısım ve bu makale serisi için bu kadardı. HUAWEI In-App Purchases’in istemci tarafındaki tüm özelliklerini hemen hemen ele aldık. Sunucu tarafı özelliklerine göz atmak istiyorsanız, lütfen resmi dökümantasyona bakın. Bu demo uygulamasının tam kaynak kodunu aşağıdaki bağlantıda bulabilirsiniz.

Her zaman olduğu gibi, bu makaleyi okuduğunuz ve HMS kullandığınız için teşekkür ederiz. Herhangi bir sorunuz olursa lütfen bize bildirin!

KAYNAKÇA

--

--