Integrate an Offers V2 slot
Choose the integration that matches the slot type in your placement. The publisher console can generate credential-free snippets for a selected placement and ad slot. Check the minimum SDK version shown there; the existing survey SDK setup is a separate integration.
The current Android AAR published in the RapidReach Android SDK repository documents the legacy survey offerwall and app-key initialization. It is not evidence of an Offers V2 native SDK release. The Offers V2 flow documented here is the implemented /sdk/v2 HTTP session and hosted URL contract. Do not ship the legacy survey API key or call a legacy survey SDK method expecting it to authenticate an Offers V2 slot. Confirm a native Offers V2 SDK artifact and version with RapidoReach before writing platform-specific dependency instructions.
| Placement | Identity supplied in the session | Slot choice |
|---|---|---|
ANDROID_APP | Exact installed Android package name and supported SDK version. | OFFERWALL or OFFER_API for a user-bound experience; STATIC_API only for server feed use. |
IOS_APP | Exact bundle ID and supported SDK version. | User-bound Offerwall/Offer API or server Static API. |
WEBSITE | Exact registered hostname and web platform. | Hosted Offerwall or custom Offer API; never embed a Static API key in browser JavaScript. |
API_NETWORK | Registered network identity. | STATIC_API only; poll from a server. |
User-bound Offerwall or Offer API
- Create a short-lived session for the placement, optional slot, user, platform, SDK version, exact package/bundle/domain, environment, and consent state. A valid session lasts 15 minutes.
- Use the returned session token and
adSlotIdto fetch eligible offers or open the returned hosted offerwall URL when present. The URL contains the session token in the fragment; treat it as sensitive and do not paste it into analytics or support logs. - For a custom Offer API display, render the title, required steps, reward, pending conditions, and disclosures returned for each eligible offer. Handle no-fill, loading, and expired-session states.
- Record an impression and request a signed launch through the SDK API with an
Idempotency-Key. Open the returned destination. Do not construct a launch URL or calculate a reward in client code. - Show pending and confirmed states from the reward-status API and the verified server callback. Your server owns final crediting.
The session service checks that the placement is verified, the production placement is released, the SDK version is allowed, the platform identity matches, and consent meets the placement policy. Refresh a session before expiry when the user is still present; revoke it when it is no longer valid. User and slot identifiers are opaque.
Static API
A STATIC_API slot is for server-side inventory polling. Issue its slot-scoped key from an authorized publisher dashboard session, set an expiry, and copy the returned token once. Call the static offer endpoint from your server with X-RapidoReach-Static-Key, a country, and a compatible platform. Honor ETag, Cache-Control, and 304 Not Modified responses. Refresh inventory as needed for targeting and caps; the feed is not personalized to one user and cannot prove a conversion.
Never embed the static key in an app, public site, browser URL, or client bundle. An API network placement can use a Static API slot only. A verified placement and a READY or ACTIVE static slot are prerequisites.
Rewards and support
Configure the signed publisher callback before live delivery. Store its transaction or event ID and apply confirmed rewards idempotently. Keep reversals tied to the original credit. The publisher offer report and callback delivery log help reconcile missing or duplicate rewards.
Next: Test and launch. Endpoint details are in the publisher offer API reference.