Perkox
Back to journal
Article

Offerwall SDK Integration: Android Complete Tutorial

Offerwall SDK Integration: Android Complete Tutorial Prerequisites A Perkox publisher account Your App ID and SDK Key from the dashboard Android minSdk 21+, Kotlin 1.9+ Step 1: Add the SDK Download the Perkox Android SDK (.aar) fr...

perkoxxAugust 16, 20261 min read
SDK Integration
Offerwall SDK Integration: Android Complete Tutorial

Offerwall SDK Integration: Android Complete Tutorial

Prerequisites


Step 1: Add the SDK

Download the Perkox Android SDK (.aar) from the Perkox GitHub Releases page. Place it in app/libs/perkox-android-sdk-release.aar.

dependencies {
    implementation files('libs/perkox-android-sdk-release.aar')
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'androidx.core:core-ktx:1.10.1'
}

Step 2: Initialize the SDK

import com.perkoxofferwall.sdk.PerkoxOfferwall

val offerwall = PerkoxOfferwall.create(
    "YOUR_APP_ID",   // Your App ID
    "YOUR_SDK_KEY",  // Your SDK Key
    "Player_123"     // Unique player ID
)
offerwall.launch(this)

Step 3: Handle Events

offerwall.onReward = { reward ->
    val amount = reward["amount"] as Double
    val status = reward["status"] as String
    val txid = reward["txid"] as String
    Log.d("Perkox", "Reward: $amount, Status: $status")
}
offerwall.onClose = {
    Log.d("Perkox", "Offerwall closed")
}

SDK callbacks are for UI feedback only. The actual reward credit happens on your server via S2S postback.


Step 4: Configure Postback

In the Perkox Publisher Dashboard, set your postback URL. Handle four reward statuses: pending (wait), approved (credit), rejected (ignore), reversed (remove credit).


Troubleshooting

Offerwall not loading: Verify appId and sdkKey. Check internet connection. Confirm app is active in dashboard.
AAR not found: Verify file path and Gradle sync.
Reward callback not triggering: Check if offerwall is still open. Rely on server-side postbacks for production.


Get started with Perkox →