Flutter SDK'da buton eylemlerine yanıt verme

Adapty paywall builder kullanarak paywall oluşturuyorsanız, butonları doğru şekilde yapılandırmak çok önemlidir:

  1. Paywall builder’da bir buton ekleyin ve ona mevcut bir eylem atayın ya da özel bir eylem ID’si oluşturun.
  2. Atadığınız her eylemi yönetmek için uygulama kodunuzu yazın.

Bu kılavuz, kodunuzda özel ve mevcut eylemleri nasıl yöneteceğinizi gösterir.

Yalnızca satın almalar ve restorasyon işlemleri otomatik olarak yönetilir. Paywall kapatma veya link açma gibi diğer tüm buton eylemleri, uygulama kodunda uygun yanıtların uygulanmasını gerektirir.

Paywall’ları kapatma

Paywall’ınızı kapatacak bir buton eklemek için:

  1. Paywall builder’da bir buton ekleyin ve ona Close eylemini atayın.
  2. Uygulama kodunuzda CloseAction ve AndroidSystemBackAction eylemleri için bir handler uygulayın.

Flutter SDK’da CloseAction ve AndroidSystemBackAction eylemleri varsayılan olarak paywall’ı kapatır. Ancak gerekirse bu davranışı kodunuzda geçersiz kılabilirsiniz. Örneğin, bir paywall’ı kapatmak başka bir paywall’ın açılmasını tetikleyebilir.

void paywallViewDidPerformAction(AdaptyUIPaywallView view, AdaptyUIAction action) {
    switch (action) {
      case const CloseAction():
      case const AndroidSystemBackAction():
        view.dismiss();
        break;
      default:
        break;
    }
}

Paywall’lardan URL açma

Bir grup link eklemek istiyorsanız (ör. kullanım koşulları ve satın alma restorasyon), paywall builder’da bir Link öğesi ekleyin ve bunu Open URL eylemine sahip butonlarla aynı şekilde yönetin.

Paywall’ınızdan link açan bir buton eklemek için (ör. Kullanım Koşulları veya Gizlilik Politikası):

  1. Paywall builder’da bir buton ekleyin, Open URL eylemini atayın ve açmak istediğiniz URL’yi girin.
  2. Uygulama kodunuzda, alınan URL’yi bir tarayıcıda açan openUrl eylemi için bir handler uygulayın.
// You have to install url_launcher plugin in order to handle urls:
// https://pub.dev/packages/url_launcher

void paywallViewDidPerformAction(AdaptyUIView view, AdaptyUIAction action) {
    switch (action) {
      case OpenUrlAction(url: final url):
        final Uri uri = Uri.parse(url);
        launchUrl(uri, mode: LaunchMode.inAppBrowserView);
        break;
      default:
        break;
    }
}

Uygulamaya giriş yapma

Kullanıcıları uygulamanıza giriş yaptıracak bir buton eklemek için:

  1. Paywall builder’da bir buton ekleyin ve ona Login eylemini atayın.
  2. Uygulama kodunuzda, kullanıcınızı tanımlayan login eylemi için bir handler uygulayın.
void paywallViewDidPerformAction(AdaptyUIPaywallView view, AdaptyUIAction action) {
    switch (action) {
      case CustomAction(action: 'login'):
        // Handle login action
        Navigator.of(context).push(MaterialPageRoute(builder: (context) => LoginScreen()));
        break;
      default:
        break;
    }
}

Özel eylemleri yönetme

Diğer eylemleri yönetecek bir buton eklemek için:

  1. Paywall builder’da bir buton ekleyin, Custom eylemini atayın ve bir ID belirleyin.
  2. Uygulama kodunuzda, oluşturduğunuz eylem ID’si için bir handler uygulayın.

Örneğin, başka bir abonelik teklifi veya tek seferlik satın alma seçeneğiniz varsa, başka bir paywall görüntüleyen bir buton ekleyebilirsiniz:

void paywallViewDidPerformAction(AdaptyUIPaywallView view, AdaptyUIAction action) {
   switch (action) {
     case CustomAction(action: 'openNewPaywall'):
       // Display another paywall
       break;
     default:
       break;
   }
}