フローとペイウォールの表示 - Unity

Display flows and paywalls
フロー Flow & Paywall Builder で作成——デバイス上でネイティブにレンダリングされ、WebView は不要
旧 Paywall Builder のペイウォール 旧 Paywall Builder で作成された既存のすべてのコンテンツ

フローまたは旧ペイウォールビルダーで作成されたペイウォールを使用している場合、モバイルアプリのコードでレンダリングしてユーザーに表示する処理を自分で実装する必要はありません。このようなフローやペイウォールには、表示するコンテンツと表示方法の両方が含まれています。

Warning

このガイドでは、Adapty がレンダリングするフローとペイウォールについて説明します。リモートコンフィグのペイウォールや Observer モード の場合は、手順が異なります。

:::

以下で使用する view オブジェクトの取得方法については、フローとペイウォールの取得を参照してください。

フローまたはペイウォールを表示するには、CreateFlowView メソッドで作成した view に対して view.Present() メソッドを呼び出します。各 view は一度しか使用できません。一度閉じられた view は破棄されます。再度フローを表示する必要がある場合は、CreateFlowView をもう一度呼び出して新しい view インスタンスを作成してください。

Warning

view を再作成せずに再利用すると、エラーが発生する場合があります。

view.Present((error) => {
    // handle the error
});
Tip

Adapty SDK がモバイルアプリにどのように組み込まれているか、実際の例を見たいですか?ペイウォールの表示、購入処理、その他の基本的な機能を含むフルセットアップを示したサンプルアプリをご覧ください。

ダイアログを表示する

Android でフローまたはペイウォールが表示されている場合は、ネイティブのアラートダイアログの代わりにこのメソッドを使用してください。Android では、通常のアラートがフロービューの背後に表示されるため、ユーザーには見えなくなります。このメソッドを使用することで、すべてのプラットフォームでフローの前面にダイアログが正しく表示されます。

var dialog = new AdaptyUIDialogConfiguration()
    .SetTitle("Close this screen?")
    .SetContent("You will lose access to exclusive offers.")
    .SetDefaultActionTitle("Stay")
    .SetSecondaryActionTitle("Close");

AdaptyUI.ShowDialog(view, dialog, (action, error) => {
    if (error == null) {
        if (action == AdaptyUIDialogActionType.Secondary) {
            // User confirmed - close the flow
            view.Dismiss((error) => {
                // handle the error
            });
        }
        // If primary - do nothing, user stays
    }
});

iOSのプレゼンテーションスタイルを設定する

Present()メソッドにiosPresentationStyleパラメーターを渡すことで、iOS上でのフローまたはペイウォールの表示スタイルを設定できます。パラメーターにはAdaptyUIIOSPresentationStyle.FullScreen(デフォルト)またはAdaptyUIIOSPresentationStyle.PageSheetを指定できます。

view.Present(AdaptyUIIOSPresentationStyle.PageSheet, (error) => {
    // handle the error
});

ペイウォールビルダーを使ってペイウォールをカスタマイズした場合、モバイルアプリのコードでレンダリングしてユーザーに表示する必要はありません。このようなペイウォールには、表示する内容と表示方法の両方が含まれています。

Warning

このガイドは旧ペイウォールビルダーを対象としており、Adapty SDK 3.3.0以降が必要です。

リモートコンフィグのペイウォールを表示する方法については、リモートコンフィグで設計したペイウォールのレンダリングをご覧ください。

ペイウォールを表示するには、CreatePaywallView メソッドで作成した view に対して view.Present() メソッドを呼び出します。各 view は一度しか使用できません。再度ペイウォールを表示する必要がある場合は、CreatePaywallView をもう一度呼び出して新しい view インスタンスを作成してください。

Warning

view を再作成せずに再利用すると、AdaptyUIError.viewAlreadyPresented エラーが発生する場合があります。

view.Present((error) => {
  // handle the error
});
Tip

Adapty SDK がモバイルアプリにどのように組み込まれているか、実際の例を見たいですか?ペイウォールの表示、購入処理、その他の基本的な機能を含むフルセットアップを示したサンプルアプリをご覧ください。

ダイアログを表示する

Android でペイウォールビューが表示されている場合は、ネイティブのアラートダイアログの代わりにこのメソッドを使用してください。Android では、通常のアラートはペイウォールビューの背面に表示されるため、ユーザーには見えません。このメソッドを使用すると、すべてのプラットフォームでペイウォールの上に正しくダイアログが表示されます。

var dialog = new AdaptyUIDialogConfiguration()
    .SetTitle("Close paywall?")
    .SetContent("You will lose access to exclusive offers.")
    .SetDefaultActionTitle("Stay")
    .SetSecondaryActionTitle("Close");

AdaptyUI.ShowDialog(view, dialog, (action, error) => {
    if (error == null) {
        if (action == AdaptyUIDialogActionType.Secondary) {
            // User confirmed - close the paywall
            view.Dismiss();
        }
        // If primary - do nothing, user stays
    }
});

iOSプレゼンテーションスタイルを設定する

Present() メソッドに iosPresentationStyle パラメータを渡すことで、iOS でのペイウォールの表示スタイルを設定できます。パラメータには AdaptyUIIOSPresentationStyle.FullScreen(デフォルト)または AdaptyUIIOSPresentationStyle.PageSheet を指定できます。

view.Present(AdaptyUIIOSPresentationStyle.PageSheet, (error) => {
    // handle the error
});