Capacitor SDK ile Flow Builder kullanarak satın almaları etkinleştirme
Uygulama içi satın almaları etkinleştirmek için üç temel kavramı anlamanız gerekir:
- Ürünler – kullanıcıların satın alabileceği her şey (abonelikler, consumable’lar, süresiz erişim)
- Flow’lar – no-code Flow Builder ile oluşturulan, kullanıcılara ürünleri sunan ekran dizileri. SDK bunları
getFlowaracılığıyla getirir. Kullanıcı arayüzünü kendi kodunuzla oluşturmayı tercih ediyorsanız bunun yerine bir paywall kullanın — bkz. Paywalleri manuel olarak uygulama. - Placement’lar – uygulamanızda flow’ları nerede ve ne zaman göstereceğiniz (örneğin
main,onboarding,settings). Kontrol panelinde flow’ları placement’lara bağlar, ardından kodunuzda placement ID’si ile bunları talep edersiniz. Bu sayede A/B testleri çalıştırmak ve farklı kullanıcılara farklı flow’lar göstermek kolaylaşır. Adapty, uygulamanızda satın almaları etkinleştirmek için üç farklı yöntem sunar. Uygulama gereksinimlerinize göre birini seçin:
| Uygulama | Karmaşıklık | Ne Zaman Kullanılır |
|---|---|---|
| Adapty Flow Builder | ✅ Kolay | No-code builder’da eksiksiz, satın almaya hazır bir flow oluşturursunuz. Adapty bunu otomatik olarak render eder ve tüm karmaşık satın alma akışını, makbuz doğrulamayı ve abonelik yönetimini arka planda halleder. |
| Manuel oluşturulan paywall’lar | 🟡 Orta | Paywall arayüzünüzü uygulama kodunuzda kendiniz uygularsınız, ancak ürün tekliflerinde esnekliği korumak için flow nesnesini Adapty’den alırsınız. Kılavuza bakın. |
| Observer modu | 🔴 Zor | Kendi satın alma altyapınız zaten mevcuttur ve bunu kullanmaya devam etmek istersiniz. Observer modunun Adapty’de bazı sınırlamaları olduğunu unutmayın. Makaleye bakın. |
Aşağıdaki adımlar, Adapty Flow Builder’da oluşturulan bir flow’un nasıl uygulanacağını göstermektedir.
Paywall arayüzünü kendiniz oluşturmayı tercih ederseniz, bkz. Paywall’ları manuel olarak uygulama.
Adapty Flow Builder’da oluşturulan bir flow’u görüntülemek için uygulama kodunuzda yalnızca şunları yapmanız gerekir:
- Flow’u alın: Adapty’den alın.
- Gösterin ve satın alma işlemlerini Adapty yönetsin: Görünümü uygulamanızda gösterin.
- Buton eylemlerini yönetin: Kullanıcı etkileşimlerini uygulamanızın tepkileriyle ilişkilendirin. Örneğin, kullanıcılar butona tıkladığında bağlantıları açın veya flow’u kapatın.
Başlamadan Önce
Başlamadan önce şu adımları tamamlayın:
- Uygulamanızı Adapty Kontrol Paneli’nde App Store ve/veya Google Play ile bağlayın.
- Adapty’de ürünlerinizi oluşturun.
- Bir flow oluşturun ve ürünleri ekleyin.
- Bir placement oluşturun ve flow’unuzu ekleyin.
- Uygulama kodunuzda Adapty SDK’yı kurun ve etkinleştirin. Bu kılavuz Adapty Capacitor SDK v4 API’larını kullanmaktadır.
1. Flow’u alın
Flow’larınız, kontrol panelinde yapılandırılmış placement’larla ilişkilendirilir. Placement’lar, farklı kitleler için farklı flow’lar çalıştırmanıza veya A/B testleri yapmanıza olanak tanır.
Adapty Flow Builder’da oluşturulmuş bir flow’u almak için getFlow metodunu kullanarak placement ID’sine göre flow nesnesini alın. Flow, görüntülenmek için gereken UI öğelerini ve stil bilgilerini içerir.
try {
const flow = await adapty.getFlow({
placementId: 'YOUR_PLACEMENT_ID',
});
// the requested flow
} catch (error) {
// handle the error
}
2. Flow’u görüntüleyin
Flow’a sahip olduğunuzda, onu görüntülemek için yalnızca birkaç satır eklemeniz yeterli.
createFlowView metoduyla bir view oluşturun, olay işleyicilerini ayarlayın, ardından view.present() çağrısını yapın. Her view yalnızca bir kez kullanılabilir. Flow’u tekrar görüntülemeniz gerekiyorsa yeni bir view örneği oluşturmak için createFlowView’ı bir kez daha çağırın.
try {
const view = await createFlowView(flow);
await view.setEventHandlers({
onPurchaseCompleted(purchaseResult, product) {
return purchaseResult.type === 'success'; // close the flow on a successful purchase, keep it open for cancelled or pending purchases
},
});
await view.present();
} catch (error) {
// handle the error
}
Bir flow’un nasıl görüntüleneceğine dair daha fazla ayrıntı için kılavuzumuza bakın.
3. Buton eylemlerini yönetin
Kullanıcılar flow’daki butonlara tıkladığında, Capacitor SDK satın alma, geri yükleme, flow’u kapatma ve URL açma işlemlerini otomatik olarak gerçekleştirir.
Ancak diğer butonların özel veya önceden tanımlanmış ID’leri vardır ve bu eylemlerin kodunuzda yönetilmesi gerekir. Ya da varsayılan davranışlarını geçersiz kılmak isteyebilirsiniz.
Örneğin, kapatma butonu için varsayılan davranış aşağıdaki gibidir. Bunu koda eklemeniz gerekmez, ancak gerektiğinde nasıl yapıldığını buradan görebilirsiniz.
const unsubscribe = await view.setEventHandlers({
onCloseButtonPress() {
return true; // allow the flow to close
},
});
Düğme eylemlerini ve olayları nasıl yöneteceğiniz hakkındaki kılavuzlarımızı okuyun.
Sonraki adımlar
Sorularınız mı var ya da sorunlarla mı karşılaşıyorsunuz? Sık sorulan soruların yanıtlarını bulabileceğiniz veya kendi sorularınızı sorabileceğiniz destek forumumuza göz atın. Ekibimiz ve topluluğumuz yardımcı olmak için burada!
Flow’unuz uygulamada görüntülenmeye hazır. Flow üzerinden test satın alma işlemini tamamlayabildiğinizden emin olmak için satın almalarınızı test edin.
Şimdi, flow’u veya ücretli özelliklere erişimi doğru kullanıcılara sunduğunuzdan emin olmak için kullanıcıların access level durumunu kontrol etmeniz gerekiyor.
Tam örnek
Bu kılavuzdaki tüm adımlar uygulamanıza şu şekilde entegre edilebilir.
export async function showFlow() {
try {
const flow = await adapty.getFlow({
placementId: 'YOUR_PLACEMENT_ID',
});
const view = await createFlowView(flow);
await view.setEventHandlers({
onCloseButtonPress() {
return true;
},
onPurchaseCompleted(purchaseResult, product) {
return purchaseResult.type === 'success'; // close the flow on a successful purchase, keep it open for cancelled or pending purchases
},
});
await view.present();
} catch (error) {
// handle any error that may occur during the process
console.warn('Error showing flow:', error);
}
}