React Native
Offerwalls are in-app ads that incentivize users to take particular actions. In return, the user gets an in-app reward and the developer gets paid by the advertiser.
Before you start
To set up the PubScale Offerwall, you’ll need to add your app to our platform. Follow this guide for instructions on how to set up your app. Once completed, you will receive a unique 8-digit app ID.
1. Add this to your build.gradle file
Add the below line inside the dependencies block in your build.gradle file
implementation("com.pubscale.sdkone:offerwall:1.0.11")
2. Configure proguard rules
For the SDK to work properly in release(obfuscated/minified) builds, add the following rules in your proguard-rules.pro file.
-keep class com.pubscale.sdkone.offerwall.** {*;}
-keep class com.pubscale.caterpillar.analytics.** {*;}
#Supporting R8 full mode
-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation
-keep,allowobfuscation,allowshrinking interface retrofit2.Call
-keep,allowobfuscation,allowshrinking class retrofit2.Response
We have added the SDK to the project. Learn how to initialize the SDK in the next step
3. Add native module files
Add the files in the zip file to your app's android module under app folder.
Download the pubscale_ow_java.zip from the below link
https://github.com/greedyraagava/demo-offerwall-react-native/releases/latest
3.1. Link the module
Add the following line inside the getPackages() method of MainApplication class
packages.add(new PubscaleOfferwallPackage())

4. Initialize the SDK
To initialize the SDK, call the PubscaleOfferwall.init() method.
Pass the app_id (generated from the console) as the first parameter of the init method. Make sure to call the init method as soon as your app starts up, ideally in app.js or index.js.
Optional Parameters:
user_id
Pass your user's id in this field to tag your user. This id will be sent along with the S2S callback. Make sure to call the init function every time the user id changes.
background_Base64
An image that will be displayed as a banner on top of the offer wall. Pass the image in base64 encoded format. The background will be black by default.
appicon_Base64
An image that will be displayed in the center on the top banner of the offerwall. Pass the image in base64 encoded format. Default value is the app icon.
sandbox
Enables the sandbox environment for the Offerwall Session
4.1. Making the Init call
import {NativeModules, Alert} from 'react-native';
const {PubscaleOfferwall} = NativeModules;
//Initializes the SDK
//call init once the user is logged in
PubscaleOfferwall.init( "app_id", {
"user_id": "test-user", //optional, but require to tag user to offer completion.
"sandbox": false, //set it to true to enable sandbox mode
"background_Base64": base64Image, //optional
"appicon_Base64": app64Image, //optional
}, () => { //onSuccess Callback
console.log("success")
}, (errMsg)=>{ //onFailure Callback
console.log(errMsg)
})
5. Start the OfferWall
To start the offerwall, just call, PubscaleOfferwall.launch()
method.
PubscaleOfferwall.launch(
() => {
// Offerwall Showed Callback
console.log("Offerwall launched");
},
() => {
// Offerwall Closed Callback
console.log("Offerwall closed");
},
(amt, curr, token) => {
// Offerwall Rewarded Callback
console.log("Reward:", amt, curr, token);
},
(err) => {
// Offerwall Error Callback
console.log("Launch error:", err);
}
);
6. Setup S2S callbacks
Setup the S2S callbacks to get instant updates whenever the user gets the reward. You can use this callback to reward the user in your application. Learn more.
7. Test the OfferWall
Finally, To test the offerwall, build the application to an actual device. Check if you can launch the Offerwall and get the appropriate callbacks.
Last updated
Was this helpful?