Skip to main content

Fetch legacy Paywall Builder paywalls in Unity SDK

After you designed the visual part for your paywall with Paywall Builder in the Adapty Dashboard, you can display it in your Unity app. The first step in this process is to get the paywall associated with the placement and its view configuration as described below.

warning

This guide is for legacy Paywall Builder paywalls only which require SDK v2.x or earlier. The process for fetching paywalls differs for paywalls designed with different versions of Paywall Builder and remote config paywalls.

Before you start displaying paywalls in your Unity app (click to expand)

Fetch paywall designed with Paywall Builder

If you've designed a paywall using the Paywall Builder, you don't need to worry about rendering it in your Unity app code to display it to the user. Such a paywall contains both what should be shown within the paywall and how it should be shown. Nevertheless, you need to get its ID via the placement, its view configuration, and then present it in your Unity app.

To ensure optimal performance, it's crucial to retrieve the paywall and its view configuration as early as possible, allowing sufficient time for images to download before presenting them to the user.

To get a paywall, use the GetPaywall method:

Adapty.GetPaywall("YOUR_PLACEMENT_ID", "en", (paywall, error) => {
if(error != null) {
// handle the error
return;
}

// paywall - the resulting object
});
ParameterPresenceDescription
placementIdrequiredThe identifier of the desired Placement. This is the value you specified when creating a placement in the Adapty Dashboard.
locale

optional

default: en

The identifier of the paywall localization. This parameter is expected to be a language code composed of one or two subtags separated by the minus (-) character. The first subtag is for the language, the second one is for the region.

Example: en means English, pt-br represents the Brazilian Portuguese language.

See Localizations and locale codes for more information on locale codes and how we recommend using them.

Don't hardcode product IDs! Since paywalls are configured remotely, the available products, the number of products, and special offers (such as free trials) can change over time. Make sure your code handles these scenarios.
For example, if you initially retrieve 2 products, your app should display those 2 products. However, if you later retrieve 3 products, your app should display all 3 without requiring any code changes. The only thing you should hardcode is the placement ID.

Response parameters:

ParameterDescription
PaywallAn AdaptyPaywall object with a list of product IDs, the paywall identifier, remote config, and several other properties.

Fetch the view configuration of paywall designed using Paywall Builder

After fetching the paywall, check if it includes a viewConfiguration, which indicates that it was created using Paywall Builder. This will guide you on how to display the paywall. If the viewConfiguration is present, treat it as a Paywall Builder paywall; if not, handle it as a remote config paywall.

For Unity, the view configuration is automatically handled when you present the paywall using the AdaptyUI.ShowPaywall() method.