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: viewableImpressions metric
  • 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, gdprConsent flags
  • Child protection: coppaCompliant, isChildDirected flags
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".

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)

Related Resources