Capacitor SDK'da Observer modunda flow sunma
Builder ile bir flow veya paywall özelleştirdiyseniz, bunu kullanıcıya göstermek için mobil uygulama kodunuzda ayrıca render etmeniz gerekmez. Böyle bir flow veya paywall, hem ne gösterileceğini hem de nasıl gösterileceğini içerir.
Bu bölüm yalnızca Observer mode için geçerlidir. Observer mode’da çalışmıyorsanız Display flows & paywalls konusuna bakın.
Bu özellik, Adapty Capacitor SDK 4.0 veya sonraki sürümlerini gerektirir; daha önce yalnızca yerel iOS ve Android SDK’larında kullanılabilirdi. Yükseltmek için geçiş kılavuzuna bakın.
Flow sunmaya başlamadan önce (Genişletmek için tıklayın)
- Adapty’nin App Store ile ve Google Play ile ilk entegrasyonunu ayarlayın.
2. Adapty SDK’yı yükleyin ve yapılandırın.
observerModeparametresinitrueolarak ayarladığınızdan emin olun. Capacitor SDK kurulum kılavuzuna bakın. 3. Adapty Kontrol Paneli’nde ürünler oluşturun. 4. Builderlarda flow’lar veya paywalllar yapılandırın ve ürünleri bunlara atayın. 5. Placementlar oluşturun ve flow’larınızı veya paywalllarınızı bunlara atayın. 6. Mobil uygulama kodunuzda flow’ları ve yapılandırmalarını alın.
Observer modunda SDK, satın alma işlemlerini sizin adınıza gerçekleştirmez. Bir kullanıcı, Adapty tarafından render edilen bir flow veya paywallda satın alma ya da geri yükleme düğmesine dokunduğunda, SDK doğrudan satın alma veya geri yükleme yapmak yerine onObserverPurchaseInitiated veya onObserverRestoreInitiated olay işleyicinizi çağırır — satın alma veya geri yükleme işlemini orada kendi kodunuzla gerçekleştirin.
- View üzerindeki observer modu olay işleyicilerini ayarlayın. Diğer platformlardan farklı olarak, ayrı bir resolver nesnesi yoktur — işleyiciler, normal olay işleyicilerinin bir parçasıdır; bu nedenle oluşturduğunuz her view’da bunları ayarlayın:
import { adapty, createFlowView } from '@adapty/capacitor'; const view = await createFlowView(flow); const unsubscribe = await view.setEventHandlers({ onObserverPurchaseInitiated(product, onStartPurchase, onFinishPurchase) { onStartPurchase(); // the view shows its loading indicator myPurchaseApi(product.vendorProductId) .then((transactionId) => adapty.reportTransaction({ transactionId, variationId: flow.variationId }), ) .finally(() => onFinishPurchase()); // the view hides the loading indicator return false; // keep the flow open; dismiss it yourself after success }, onObserverRestoreInitiated(onStartRestore, onFinishRestore) { onStartRestore(); myRestoreApi().finally(() => onFinishRestore()); return false; }, });
onObserverPurchaseInitiated handler, kullanıcının bir satın alma başlattığını bildirir; onObserverRestoreInitiated ise kullanıcının bir geri yükleme başlattığını. Bu olaylara yanıt olarak kendi özel satın alma veya geri yükleme flow’unuzu tetikleyin.
Ayrıca, satın alma veya geri yükleme sürecini AdaptyUI’a bildirmek için aşağıdaki callback’leri çağırmayı unutmayın. Bu, yükleyiciyi göstermek gibi düzgün flow davranışı için gereklidir:
| Callback | Description |
|---|---|
| onStartPurchase() | Satın alma işleminin başladığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır. |
| onFinishPurchase() | Satın alma işleminin tamamlandığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır. |
| onStartRestore() | Geri yükleme işleminin başladığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır. |
| onFinishRestore() | Geri yükleme işleminin tamamlandığını AdaptyUI’ya bildirmek için bu callback çağrılmalıdır. |
- Flow görünümünü her zamanki gibi sunun: flow’u alın ve görünümünü oluşturun, ardından sunun. Ekstra parametre gerekmez — handler’lar yalnızca SDK
observerMode: trueile etkinleştirildiğinde tetiklenir.
İşlemi bildirmeyi ve paywall ile ilişkilendirmeyi unutmayın. Aksi takdirde Adapty işlemi tanımaz ve satın almanın hangi paywall’dan geldiğini belirleyemez.