Skip to main content
Version: v2

Start integrating RapidoReach

Choose the path that matches your product. You can add an SDK and open a test offerwall in a few minutes once your publisher app is ready. Approval, live inventory, and reward callback setup take additional time.

Before you start​

  1. Create a publisher account and add a survey app or website in the dashboard.
  2. Copy the API token for a mobile SDK, or the App ID and App Key for a web iframe. Use a stable user ID from your own system for each signed-in user.
  3. Keep the web UID signing key and callback secret on your server. Never put them in HTML, browser JavaScript, or a public repository. Follow the platform guide for the mobile SDK API token.

Pick an integration​

PlatformInstall or embedContinue
Androidimplementation "com.rapidoreach:cbofferwallsdk:1.1.0" with mavenCentral()Android setup
iOSpod 'RapidoReach', '~> 1.0.9'iOS setup
Flutterflutter pub add rapidoreachFlutter setup
React Nativenpm install @rapidoreachsdk/react-native-rapidoreachReact Native setup
UnityImport the current Unity package and native pluginsUnity setup
WebCreate a signed UID on your server, then embed /ofw/Web iframe setup

The release matrix records the versions used by these guides. For Offers V2 placements and slots, start with publisher placements before using the integration flow.

Web: show your first offerwall​

This Node.js example runs on your server. Replace the environment variables with your publisher app's values. The App Key must never be sent to the browser.

import { createHash } from 'node:crypto';

function offerwallUrl(internalUserId) {
const appId = process.env.RAPIDOREACH_APP_ID;
const appKey = process.env.RAPIDOREACH_APP_KEY;
if (!appId || !appKey || !internalUserId) throw new Error('Missing offerwall input');
const checksum = createHash('md5')
.update(`${internalUserId}-${appId}-${appKey}`)
.digest('hex');
const uid = `${internalUserId}-${appId}-${checksum}`;
return `https://www.rapidoreach.com/ofw/?userId=${encodeURIComponent(uid)}`;
}

Render the returned URL into an iframe for the signed-in user:

<iframe title="Earn rewards" src="{{SERVER_GENERATED_OFFERWALL_URL}}"
style="width:100%;min-height:700px;border:0" loading="lazy"></iframe>

See UID generation and the iframe guide for the full format. The JavaScript widget is another web presentation option; review its UID endpoint and trust requirements before using it.

Verify before going live​

  1. Follow the testing checklist for your platform and a test user.
  2. Configure a server-to-server callback so your backend can verify and credit rewards. An open or close event in the app is not proof of a completed reward.
  3. Confirm the placement and callback are approved, then move the app out of test mode in the publisher dashboard.

Need help? Contact developers@rapidoreach.com with your platform, SDK version, and a redacted error message.

You can also use the RapidoReach Agent Skills with Codex or Claude Code to implement and verify these steps in your own repository.