Flutter SDKでボタンアクションに応答する

ペイウォールビルダーでペイウォールを作成する場合、ボタンを適切に設定することが重要です。

  1. ペイウォールビルダーでボタンを追加し、既存のアクションを割り当てるか、カスタムアクションIDを作成します。
  2. 割り当てた各アクションを処理するコードをアプリに実装します。

このガイドでは、カスタムアクションと既存アクションをコードで処理する方法を説明します。

購入と復元のみが自動的に処理されます。 ペイウォールを閉じたりリンクを開いたりする操作など、その他のボタンアクションはすべて、アプリのコードに適切な処理を実装する必要があります。

ペイウォールを閉じる

ペイウォールを閉じるボタンを追加するには:

  1. ペイウォールビルダーでボタンを追加し、Close アクションを割り当てます。
  2. アプリのコードに、CloseActionAndroidSystemBackAction アクションのハンドラーを実装します。

Flutter SDK では、CloseActionAndroidSystemBackAction アクションはデフォルトでペイウォールを閉じる動作をします。ただし、必要に応じてコードでこの動作をオーバーライドすることもできます。たとえば、あるペイウォールを閉じると別のペイウォールが開くようにすることも可能です。

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

ペイウォールからURLを開く

リンクのグループ(利用規約や購入の復元など)を追加したい場合は、ペイウォールビルダーで Link 要素を追加し、Open URL アクションが割り当てられたボタンと同じ方法で処理します。

ペイウォールからリンクを開くボタン(Terms of usePrivacy policy など)を追加するには:

  1. ペイウォールビルダーでボタンを追加し、Open URL アクションを割り当てて、開きたいURLを入力します。
  2. アプリのコードに、受け取ったURLをブラウザで開く openUrl アクションのハンドラーを実装します。
// 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;
    }
}

アプリへのログイン

ユーザーをアプリにログインさせるボタンを追加するには:

  1. ペイウォールビルダーでボタンを追加し、Login アクションを割り当てます。
  2. アプリのコードに、ユーザーを識別する login アクションのハンドラーを実装します。
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;
    }
}

カスタムアクションを処理する

その他のアクションを処理するボタンを追加するには:

  1. ペイウォールビルダーでボタンを追加し、Custom アクションを割り当てて、IDを設定します。
  2. アプリのコードに、作成したアクションIDのハンドラーを実装します。

たとえば、別のサブスクリプションプランや買い切り購入がある場合、別のペイウォールを表示するボタンを追加できます。

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