RapidoReach
Build a working reward flow

Unity offerwall

Put an optional reward center inside your mobile game. Start with the public Unity package, connect a scene button and verify rewards on your server.

Public Unity v1.0.2 package · Guide reviewed October 15, 2026

RapidoReach public web playground showing sample survey cardsPublic web playground · Sample inventory · Native presentation varies

From install to the first open.

Add an Earn currency button to the game shop or rewards menu. Keep gameplay paused while the native view is open, then refresh the player balance when the game resumes.

1. Install the released package

Import the v1.0.2 .unitypackage with Assets → Import Package → Custom Package. Keep its bundled native libraries together; do not substitute the Android 1.1.0 artifact without validating compatibility.

Package and source reference

2. Configure your app

Build for Android or iOS. The native offerwall does not run in the Unity Editor. Check the selected release’s Android minimum API and iOS deployment target before building.

Create a publisher app in the dashboard and use its SDK token with a stable, non-personal app user ID. The web UID signing App Key stays on your backend.

Unity integration reference

3. Connect your opt-in entry point

Replace the placeholders in your own app. Catch SDK errors in the calling screen, handle unavailable inventory and refresh balances from your server.

C# / integration example
using UnityEngine;

public class SurveyRewards : MonoBehaviour
{
    void Start()
    {
#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR
        RapidoReach.Initialize("YOUR_API_TOKEN", "YOUR_USER_ID");
        RapidoReach.SetListener(gameObject.name);
#endif
    }

    // Wire this method to your opt-in rewards button.
    public void OpenRewards()
    {
#if (UNITY_ANDROID || UNITY_IOS) && !UNITY_EDITOR
        RapidoReach.ShowRewardCenter();
#endif
    }

    void OnReward(string quantity)
    {
        // Refresh the balance from your server after verification.
    }
}

Inspect the wall. Try the return flow.

These are screenshots of the public web playground, captured October 15, 2026. They show sample survey cards shared as a visual reference, not screenshots of a Unity native build or a guarantee of inventory.

Mobile layout of the public web demo with four sample survey cards
Mobile web demo. Open image to inspect the full capture.
Unity reward journeySimulation

This local interaction illustrates presentation states. It does not call the SDK, load live surveys or issue rewards.

Ready to explore

A survey is available in this simulated placement.

Open the public widget playground ↗

The playground previews layout and themes. To validate Unity SDK behavior, use the package example and your own development app on a supported device.

Get the Unity package / example

Make the first reward traceable.

Set up a test user

Use a development publisher app. In the app’s Test users section, add the raw app user ID exactly as your SDK sends it and enable Test mode for that test user. For web, generate the signed UID from that same raw user ID.

The test survey helps verify the journey. Keep test activity separate from live earnings.

Open the integration testing guide

Verify your server ledger

Configure the app’s server callback and send a Test Callback from the dashboard. Verify the documented hash, attribute the transaction to the correct user and store it once. Repeat the same transaction to check duplicate handling.

Client reward notifications should refresh UI. They should not create a second credit.

Callback verification reference

Unity acceptance checklist

  1. Build and run on both target platforms; do not use Editor Play mode as the integration check.
  2. Open and close the wall from the same scene, then repeat after a scene change.
  3. Verify that returning to gameplay restores input and reads the server balance.
  4. Test loading, no inventory, offline, invalid credentials and retry. Reopen for the same user and verify attribution stays consistent.
  5. Confirm your backend handles duplicate and invalid callback hashes, then review reversal handling before enabling live traffic.

Find the failing boundary.

Nothing opens in Play mode

Export an Android or iOS build and run it on a device. Editor execution cannot exercise the native offerwall.

Lifecycle or reward events never arrive

Register the receiving GameObject with SetListener(gameObject.name). Keep it alive while the offerwall is open and use the documented callback method names.

Android or Xcode link errors

Check for duplicate native SDKs and use the libraries bundled with the selected Unity release. Validate each mobile export separately.

The user completed a survey but the balance is unchanged

Trace the same app user ID and transaction through your callback receiver and reward ledger. Check hash verification, duplicate detection and currency conversion. Use redacted diagnostics when contacting support.

Build your unity offerwall pilot.

Create a publisher account, register your app and connect the first test user. Review the reward flow before opening the placement to live users.

Choose another integration path.