---
title: "ペイウォールを表示する"
description: "Adapty SDK を使用して Unity アプリでペイウォールを表示する方法を学びましょう。"
---

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

:::warning

このガイドは、Adapty SDK 3.3.0 以降が必要な**新しいペイウォールビルダー**を対象としています。

リモートコンフィグのペイウォールを表示する場合は、[リモートコンフィグで設計したペイウォールのレンダリング](present-remote-config-paywalls)を参照してください。

:::

ペイウォールを表示するには、[`CreatePaywallView`](unity-get-pb-paywalls#fetch-the-view-configuration-of-paywall-designed-using-paywall-builder) メソッドで作成した `view` に対して `view.Present()` メソッドを使用します。各 `view` は一度しか使用できません。ペイウォールを再度表示する必要がある場合は、`CreatePaywallView` をもう一度呼び出して新しい `view` インスタンスを作成してください。

:::warning

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

```csharp showLineNumbers title="Unity"
view.Present((error) => {
  // handle the error
});
```
:::tip

Adapty SDK がモバイルアプリにどのように統合されているか、実際の例を見てみませんか？ペイウォールの表示、購入処理、その他の基本機能を含む完全なセットアップを実演している[サンプルアプリ](sample-apps)をご覧ください。

:::

## ダイアログを表示する \{#show-dialog\}

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

```csharp showLineNumbers title="Unity"
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 の表示スタイルを設定する \{#configure-ios-presentation-style\}

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

```csharp showLineNumbers title="Unity"
view.Present(AdaptyUIIOSPresentationStyle.PageSheet, (error) => {
    // handle the error
});
```