Ready-to-install plugins for WordPress, WooCommerce, Shopify, and Wix
Our platform plugins let you integrate the AdswedMedia offerwall into your website with zero coding required. Each plugin loads our remote Web SDK and handles user identification, reward notifications, and banner ads automatically.
How it works: All plugins load the SDK from adswedmedia.com/sdk/v1/adsw.js remotely. No local SDK copies — always up to date.
WordPress
Install the adswedmedia-offerwall plugin, enter your API key in Settings → AdswedMedia, and use shortcodes to display the offerwall on any page or post.
Installation:
Upload adswedmedia-offerwall to /wp-content/plugins/
Activate via Plugins menu
Go to Settings → AdswedMedia and enter your API Key
Add the shortcode to any page
Shortcode
Description
[adswedmedia_offerwall]
Button that opens the offerwall modal
[adswedmedia_offerwall mode="embed"]
Embed offerwall directly on the page
[adswedmedia_offerwall button_text="Earn"]
Custom button text
[adswedmedia_banner size="300x250"]
Banner ad (sizes: 300x250, 728x90, 320x50, 160x600, 468x60)
Also available as a sidebar widget via Appearance → Widgets.
Setting
Description
Default
API Key
Your site st_key from the publisher dashboard
required
Base URL
AdswedMedia server URL
https://adswedmedia.com
Display Mode
Modal (popup) or Embed (inline)
Modal
Button Text
Text shown on the offerwall button
Earn Rewards
Reward Polling
Auto-show toast when user earns rewards
Enabled
Debug Mode
Enable SDK console logging
Disabled
User ID: Logged-in users get wp_{user_id}. Anonymous visitors get a cookie-based ID (anon_{uuid}, 30-day expiry).
WooCommerce
Everything from the WordPress plugin plus store credit, a "My Rewards" tab in the customer account, and a S2S webhook endpoint for server-side reward verification.
Installation:
Upload adswedmedia-woocommerce to /wp-content/plugins/ (WooCommerce must be active)
Go to WooCommerce → Settings → AdswedMedia tab
Enter your API Key and Callback Secret
Copy the S2S Callback URL shown in settings and paste it in your AdswedMedia dashboard as SDK Callback URL
User ID: Wix Members use wix_{member._id}. Anonymous visitors get a localStorage-based ID.
All Plugins Share
Remote SDK — always up to date
Modal & embed display modes
5 banner ad sizes
Automatic reward toast notifications
Logged-in & anonymous user support
Platform-prefixed user IDs (no collisions)
Lightweight (<50KB per plugin)
Settings UI in each platform's admin
Native Banner API
Use this endpoint to display banner ads in mobile apps (Flutter, Kotlin, Swift, React Native) or any platform that can make HTTP requests. Returns JSON with image URLs — no JavaScript required.
Endpoint
GET https://pro.adswedmedia.com/api/banners/v1/native
Parameters
Param
Required
Description
site_key
Yes
Your site/app key from the publisher dashboard
sub_id
Yes
Unique user ID in your app (for tracking & anti-fraud)
When the banner is visible, fire a GET request to impression_url (for CPM tracking)
When the user taps the banner, open click_url in the browser
Flutter Example
import 'dart:convert';
import 'package:http/http.dart' as http;
import 'package:url_launcher/url_launcher.dart';
class BannerAd {
final int id;
final String imageUrl, clickUrl, impressionUrl;
final int width, height;
BannerAd.fromJson(Map<String, dynamic> json)
: id = json['id'],
imageUrl = json['image_url'],
clickUrl = json['click_url'],
impressionUrl = json['impression_url'],
width = json['width'],
height = json['height'];
}
Future<BannerAd?> fetchBanner(String siteKey, String userId) async {
final uri = Uri.parse(
'https://pro.adswedmedia.com/api/banners/v1/native'
'?site_key=$siteKey&sub_id=$userId&size=320x50&limit=1',
);
final res = await http.get(uri);
if (res.statusCode != 200) return null;
final data = jsonDecode(res.body);
final banners = data['banners'] as List;
if (banners.isEmpty) return null;
return BannerAd.fromJson(banners[0]);
}
// Display: Image.network(banner.imageUrl)
// On show: http.get(Uri.parse(banner.impressionUrl))
// On tap: launchUrl(Uri.parse(banner.clickUrl))
Kotlin (Android) Example
val url = "https://pro.adswedmedia.com/api/banners/v1/native" +
"?site_key=$siteKey&sub_id=$userId&size=320x50&limit=1"
val response = URL(url).readText()
val json = JSONObject(response)
val banners = json.getJSONArray("banners")
if (banners.length() > 0) {
val banner = banners.getJSONObject(0)
val imageUrl = banner.getString("image_url")
val clickUrl = banner.getString("click_url")
val impressionUrl = banner.getString("impression_url")
// Load imageUrl into ImageView
// Fire GET to impressionUrl on display
// Open clickUrl in browser on tap
}
Swift (iOS) Example
let url = URL(string: "https://pro.adswedmedia.com/api/banners/v1/native?site_key=\(siteKey)&sub_id=\(userId)&size=320x50&limit=1")!
URLSession.shared.dataTask(with: url) { data, _, _ in
guard let data = data,
let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any],
let banners = json["banners"] as? [[String: Any]],
let banner = banners.first else { return }
let imageUrl = banner["image_url"] as! String
let clickUrl = banner["click_url"] as! String
let impressionUrl = banner["impression_url"] as! String
// Load imageUrl into UIImageView
// Fire GET to impressionUrl on display
// Open clickUrl with UIApplication.shared.open() on tap
}.resume()