Video Walkthrough
A ~2-minute screen recording of react-native-encore-mock running inside the
example game Hotspot Havoc — the full offer flow end to end, in mock mode
with no native build and no API key.
It shows the exact path described in Getting Started and Sponsored Offers: a Pro paywall, a decline, and the brand-sponsored partner win-back.
What you’re seeing
The recording is the docs site on the left and Hotspot Havoc booting in the iOS
simulator on the right. Once the app loads, the menu is a real integration of the
package — every offer below is driven by Encore.placement(id).show().
The app home — Hotspot Havoc
The menu shows a Hotspot Havoc Pro banner (“Unlock 6 & 8-player mega-matches and more.”) with a Go Pro button, plus the Create Game and Join controls. The banner is the entry point for the paid placement.
Tap Go Pro → the Pro paywall
A bottom sheet presents the paid offer:
Unlock Pro — Host 6 & 8-player mega-matches, skip the ads, and flex exclusive arena skins. One-time unlock — yours forever.
Unlock Pro — $4.99 · Maybe later
This is a paid placement. Accepting it would route through your billing via
the purchase callback; the footer reads “Powered by Encore · Mock mode” because
no native SDK or real billing is wired in the demo.
Tap Maybe later → the sponsored win-back
Declining the paywall chains straight into Encore’s headline feature — Brand-Sponsored Premium Trials:
Not ready to pay? Pick a perk — A partner brand will sponsor your Hotspot Havoc Pro. Grab a free trial and Pro unlocks instantly — on them.
A scrollable carousel of partner cards appears (from DEFAULT_PARTNERS):
| Partner | Perk |
|---|---|
| Disney+ | 3 months free |
| Netflix | 2 months free |
| Spotify Premium | 3 months free |
| Amazon Music | 4 months free |
| HelloFresh | discount on boxes |
| ClassPass | free credits |
…with a No thanks, stay free dismissal at the bottom.
Pick a perk → entitlement granted (the brand pays)
Choosing a partner resolves the placement as a win without ever touching your
billing — { status: 'completed', entitlement, offerId, campaignId } — and fires
onPurchaseComplete. The same isGranted(result) check that handles a paid
purchase entitles the user here; the partner brand foots the bill.
The flow in code
Everything above is the five-line integration from the
walkthrough — one show() call, one isGranted
check. Encore decides whether to show the paid offer, the sponsored carousel, or
nothing:
import Encore, { isGranted } from './src/lib/encore';
// "Go Pro" tap → the paywall, then the sponsored win-back on decline
const result = await Encore.placement('feature_paywall').show();
if (isGranted(result)) {
unlockPro(); // status 'granted' (paid) OR 'completed' (brand-sponsored)
}Reproduce it yourself
In the Hotspot Havoc project:
npm install
npm run ios # Expo dev build; mock mode needs no extra native moduleThen tap Go Pro → Maybe later to reach the brand-sponsored partner carousel, exactly as in the video.
Where to go next
- Getting Started — install and wire up the same flow.
- Sponsored Offers — how the partner win-back works and why you don’t build the carousel.
- Integration Walkthrough — every step with code and the why.
- Mock vs Live Mode — flip
USE_MOCKto render the real native carousel.