⚠️ Demonstration mock — react-native-encore-mock is not the real Encore SDK and will be deleted after the demo.
Video Walkthrough

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 ProHost 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 perkA 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):

PartnerPerk
Disney+3 months free
Netflix2 months free
Spotify Premium3 months free
Amazon Music4 months free
HelloFreshdiscount on boxes
ClassPassfree 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 module

Then tap Go Pro → Maybe later to reach the brand-sponsored partner carousel, exactly as in the video.

Where to go next