SDK Changelog
Version history and updates for the BZZE Ads SDK.
Current Version: v2.0.0 - Latest stable release with major improvements!
Version 2.0.0 (Current)
Released: October 2024
Type: Major Release
🎉 Major New Features
Ad Preloading System
- ✅ Auto-preload: Automatically download ads in the background for instant display
- ✅ Configurable count: Set how many ads to keep ready (
preloadCount) - ✅ Staggered loading: Multiple ads load with smart retry logic
- ✅ onAdLoaded callback: Know when ads are ready
- ✅ getPreloadedAdCount(): Check how many ads are queued
Example
RewardedAd.init({
appId: "YOUR_APP_ID",
apiKey: "YOUR_API_KEY",
userId: "user_123",
autoPreload: true, // NEW in v2.0
preloadCount: 2, // NEW in v2.0
onAdLoaded: (count) => {
console.log(`${count} ad(s) ready`);
}
});
Frequency Capping & Rate Limiting
- ✅ 60-second cooldown: Prevents showing ads too frequently
- ✅ 10 ads/hour limit: Per-user hourly cap
- ✅ 50 ads/day limit: Per-user daily cap
- ✅ Server-side enforcement: Limits enforced on API level
- ✅ getCooldownRemaining(): Check time until next ad allowed
- ✅ Built-in UI messaging: Automatic cooldown notifications
Example
const seconds = RewardedAd.getCooldownRemaining(); // NEW in v2.0
if (seconds > 0) {
console.log(`Wait ${seconds} seconds before next ad`);
} else {
RewardedAd.showAd();
}
Viewability Tracking
- ✅ IAB compliant: 50%+ visible for 2+ seconds standard
- ✅ IntersectionObserver API: Browser-native tracking
- ✅ Automatic tracking: No configuration needed
- ✅ Analytics integration:
viewableImpressionsmetric - ✅ Higher CPMs: Better viewability = more revenue
GDPR & COPPA Compliance
- ✅ GDPR support: Pass consent flags for EU users
- ✅ COPPA support: Mark child-directed content
- ✅ Flexible consent:
gdprApplies,gdprConsentflags - ✅ Child protection:
coppaCompliant,isChildDirectedflags
Example
RewardedAd.init({
appId: "YOUR_APP_ID",
apiKey: "YOUR_API_KEY",
userId: "user_123",
gdprApplies: true, // NEW in v2.0
gdprConsent: "1YNN", // NEW in v2.0
coppaCompliant: true // NEW in v2.0
});
Enhanced Analytics
- ✅ getAnalytics(): Retrieve session stats
- ✅ Viewable impressions: Track actually seen ads
- ✅ Error tracking: Detailed error codes
- ✅ Click tracking: Monitor CTA engagement
Example
const analytics = RewardedAd.getAnalytics(); // NEW in v2.0
console.log(analytics);
// Output: {
// impressions: 10,
// completions: 8,
// clicks: 2,
// errors: { 480: 1 },
// viewableImpressions: 9
// }
Improved Ad Player
- ✅ Skip button redesign: Bottom-right overlay with better UX
- ✅ CTA button enhancements: Smooth animations, centered placement
- ✅ Reward indicator: Clear display of earned rewards
- ✅ Completion status: "✓ Reward Earned" badge
- ✅ Progress bar: Enhanced visibility
- ✅ Bottom gradient: Better text contrast
VAST Improvements
- ✅ ClickThrough support: Extract and display CTA from VAST
- ✅ Error code tracking: Full IAB standard error codes (100-901)
- ✅ Better parsing: More reliable VAST XML handling
- ✅ Timeout handling: 10-second timeout for slow responses
🔧 API Changes
New Methods
| Method | Description |
|---|---|
isAdAvailable() |
Check if ad is ready to show (respects cooldown) |
isReady() |
Check if SDK is initialized |
getPreloadedAdCount() |
Get count of preloaded ads in queue |
getCooldownRemaining() |
Get seconds until next ad allowed |
getAnalytics() |
Get session analytics data |
getInfo() |
Get SDK version and config info |
enableDebug() |
Enable detailed console logging |
disableDebug() |
Disable debug logging |
New Init Options
| Option | Type | Default | Description |
|---|---|---|---|
autoPreload |
Boolean | false |
Enable automatic ad preloading |
preloadCount |
Number | 1 |
Number of ads to preload |
gdprApplies |
Boolean | false |
User is subject to GDPR |
gdprConsent |
String | "" |
GDPR consent string |
coppaCompliant |
Boolean | false |
COPPA compliance mode |
isChildDirected |
Boolean | false |
Content directed at children |
New Callbacks
| Callback | Parameters | When It Fires |
|---|---|---|
onAdLoaded |
(count) |
Ad preloaded and ready |
onAdClicked |
() |
User clicked CTA button |
🐛 Bug Fixes
- 🔧 Fixed request tracking double-counting on retries
- 🔧 Fixed impression tracking session ID mismatch
- 🔧 Fixed completion tracking for skipped ads
- 🔧 Fixed click tracking for VAST ads
- 🔧 Fixed ad expiration causing stale ads to play
- 🔧 Fixed cooldown not persisting across page refreshes
- 🔧 Fixed VAST parsing errors with special characters
- 🔧 Fixed player Z-index conflicts with game UI
⚡ Performance Improvements
- ⚡ Reduced SDK bundle size by 30%
- ⚡ Faster ad loading with parallel requests
- ⚡ Optimized video playback buffering
- ⚡ Reduced API latency with better caching
- ⚡ Improved mobile performance
📱 Mobile Enhancements
- 📱 Better mobile responsiveness
- 📱 Improved touch target sizes
- 📱 Fixed iOS Safari video autoplay issues
- 📱 WebView compatibility (Cordova, Capacitor)
- 📱 Better mobile network handling
🔒 Security & Compliance
- 🔒 Server-side rate limiting
- 🔒 GDPR consent management
- 🔒 COPPA compliance features
- 🔒 Enhanced API authentication
- 🔒 Domain whitelisting support
⚠️ Breaking Changes
No breaking changes! v2.0 is fully backward compatible with v1.x. All existing integrations continue to work without modifications.
🔄 Migration from v1.x
No changes required! Simply update your script tag to the latest version:
HTML
<!-- Update this line -->
<script src="https://ads.bzze.com/sdk/rewarded.min.js"></script>
Recommended: Enable new features for better performance:
JavaScript
RewardedAd.init({
appId: "YOUR_APP_ID",
apiKey: "YOUR_API_KEY",
userId: "user_123",
autoPreload: true, // Enable for instant ad display
preloadCount: 2 // Keep 2 ads ready
});
Version 1.0.0
Released: August 2024
Type: Initial Release
🎉 Features
- ✅ Rewarded video ad support
- ✅ Basic SDK initialization
- ✅
showAd()method - ✅ Core callbacks:
onReward,onNoFill,onClose,onError - ✅ Full-screen video player
- ✅ House ad campaigns
- ✅ VAST/SSP ad support
- ✅ Publisher dashboard
- ✅ Analytics tracking
- ✅ 80/20 revenue share
🚀 Roadmap
Upcoming features we're working on:
v2.1 (Q1 2025) - Planned
- 🔜 Banner ads support
- 🔜 Interstitial ads
- 🔜 Advanced A/B testing
- 🔜 Custom player themes
- 🔜 More payment methods (wire transfer, crypto)
v3.0 (Q2 2025) - Planned
- 🔜 Native iOS SDK
- 🔜 Native Android SDK
- 🔜 Unity plugin
- 🔜 Unreal Engine plugin
- 🔜 Advanced mediation features
Future Considerations
- 💡 Playable ads
- 💡 Offer wall integration
- 💡 Cross-promotion network
- 💡 Real-time bidding
- 💡 Advanced targeting options
💡 Have a Feature Request?
We'd love to hear your ideas! Contact us at support@bzze.com with the subject "Feature Request".
We'd love to hear your ideas! Contact us at support@bzze.com with the subject "Feature Request".
Stay Updated
To stay informed about SDK updates:
- Check this changelog regularly
- Subscribe to updates in your Publisher Dashboard
- Follow our email notifications for major releases
Version Naming
We follow Semantic Versioning (MAJOR.MINOR.PATCH):
- MAJOR: Breaking changes (v1.0 → v2.0)
- MINOR: New features, backward compatible (v2.0 → v2.1)
- PATCH: Bug fixes, backward compatible (v2.0.0 → v2.0.1)