Web Offerwall Integration Guide
There are two available methods to integrate the AdGem Offer Wall into your website or app:
- Direct Link - Opens the offer wall in a new tab/window
- iFrame / WebView - Embeds the offer wall within your page
Requirements
Account Requirements:
- You have an active AdGem Account
- You have added your App to your Account
App Approval:
- Your app has been approved in the AdGem system
By default, your app will not have access to AdGem's offers until you complete the initial integration steps and your app is approved. Contact your dedicated Publisher Support Advocate with any questions about the approval process.
:::
Platform Requirements
iOS SDK Requirements
- iOS 15.8 or higher
- Swift 5 or Objective-C
- Xcode 11 or higher
Android SDK Requirements
- Android API level 28 (Android 9.0) or higher
- Target SDK 34 or higher
- Android Studio with Gradle support
Unity SDK Requirements
- Unity 2020.3 or higher
- iOS or Android build target configured
- For iOS: Xcode 11+
- For Android: Android Studio with Gradle
Web Offerwall Requirements
- Modern web browser with JavaScript enabled
- HTTPS-enabled website (recommended for production)
- Server-side postback endpoint
- Android: 9.0 and higher
- iOS: 15.8 and higher
Step 1 - Create a New Property
- Click on Properties & Apps in the left navigation
- Click on the New Property button
- Select Desktop/Web from the Platform dropdown
- Complete the form and create the property
You must have a unique Property/App ID for each website you want to integrate the Offer Wall on. For example, if you have multiple website URLs, they each must be set up separately from the AdGem Dashboard.
Step 2 - Get Your Integration Links
- Click Options > Edit on your property
- Navigate to the Offerwall tab
Integration Links
Once on the Offerwall settings page, you can find the integration links to add to your website:
- Direct Link - Labeled "Web Offerwall Direct Link"
- iFrame - Labeled "Full Screen iFrame Code"
Required Parameters
Player ID
IMPORTANT: The Player ID is Required
The player_id parameter must be set with a unique identifier for each user in your application. This identifies the player so that virtual currency can be attributed to their account via the postback request. The player ID must remain constant for each unique player to:
- Prevent players from completing an offer more than once
- Ensure players receive their rewards correctly
Missing Player ID
Tracking URL clicks that do not contain a player_id value will be redirected to a 404 error page.
Player ID Structure Requirements
| Requirement | Details |
|---|---|
| Case | Letters must be lowercase |
| Characters | Alphanumeric characters, hyphens, and underscores only |
| Max Length | 256 characters |
| Forbidden | Emojis, special characters, uppercase letters |
Good Examples:
abc-123-efg-456user_12345player-a1b2c3d4
Bad Examples:
aBc-123-Efg-456(contains uppercase)player@123!(contains special characters)user-😀(contains emoji)
Mobile Advertising IDs (for in-app traffic)
When possible, please append the following parameters:
| Parameter | Description |
|---|---|
gaid | Google Advertising ID, available when using Google Play Services |
idfa | Apple Advertising ID, available when the user has not limited ad tracking |
Optional Parameters
All parameter names and their values are case-sensitive.
| Parameter | Description |
|---|---|
limit | Limit the amount of offers returned to a set number |
app_version | The version of your app where the click originated |
device | The user's device type (e.g., "Moto E Plus") |
device_name | The user's device name |
ip | The IP Address for the user |
useragent | The User Agent from the user's default browser app |
os_version | The user's Operating System version number |
platform | The platform the user's device is using (e.g., "ios") |
player_age | The user's age as set by the publisher |
player_gender | The user's gender as set by the publisher |
player_payer | A boolean value indicating if user has made purchases |
player_iap_total_usd | Total in-app purchase amount in USD |
player_created_at | A datetime stamp without the time zone |
player_level | The level achieved by the player |
placement | Integer value representing the ad unit placement |
c1 - c5 | Custom parameter values as set by the publisher |
Example Integration
Direct Link
<a href="https://api.adgem.com/v1/wall?appid=YOUR_APP_ID&playerid=USER_ID" target="_blank">
Open Offers
</a>
iFrame
<iframe
src="https://api.adgem.com/v1/wall?appid=YOUR_APP_ID&playerid=USER_ID"
width="100%"
height="600"
frameborder="0">
</iframe>
Ensure the iFrame or WebView is scalable according to device resolution. Include a header image or divider to clearly indicate where your site ends and the offerwall begins.
Additional Information
Customization
You can customize the offer wall appearance including virtual currency name, icon, and multiplier. See the Customization Guide for details.
Postback Setup
If you have opted for a "Server Postback", on each successful offer completion AdGem will send a request to your server. Please visit our guide on Server Postback Setup to learn more.
Updated on August 26, 2024