Transition To Another Paywall

Learn how to raise another paywall from a paywall

In some cases you may want to offer a product on a paywall and you want to direct your users to another paywall for all price options.

Transition to another paywall is available on a limited number themes and it is optional on them. If the theme you are using supports transition to another paywall and you also enable it while you are requesting the paywall then you can listen and catch the relevant event sent to your app by the Deepwall SDK and raise another paywall in your app.

If you want to use transition to another paywall feature e.g. View all plans, follow the steps below, make necessary integration and update your app.

1- First choose a theme that supports transition to another paywall like "View all plans", and create and publish a paywall with this feature. We suggest you to create and use a separate in-app action to manage the second paywall.

2- For enabling transition to another paywall, relevant parameter should be sent via extraData while requesting a paywall.

For "View all plans", send viewAllPlans parameter as true via deepwallExtraData for enabling "View all plans" button on the requested paywall.

```
let deepwallExtraData: DeepWallExtraDataType = [
    "viewAllPlans": true
]
DeepWall.shared.requestPaywall(action: "{ACTION_KEY}", in: self, extraData: deepwallExtraData)
```

3- Deepwall SDK sends an extraData event to your app so that you can close the current paywall and request another paywall.

When the "View all plans" is clicked on the paywall by the users, the extraData event is sent to app layer. This event is sent as "user_choice: 'view_plans'". You can catch this by listening to the "deepWallPaywallExtraDataReceived" event.

Learn more about listening SDK events here.

4- When you catch the "user_choice: 'view_plans'" event you need to close the current open paywall first and request another paywall.

Learn more for closing paywalls here and for requesting paywalls here.

Important Note

You need to close the open paywall first before requesting a new paywall, otherwise you will receive multiple request error and new paywall won't be raised.

Last updated