Debug Methods
Enable and disable detailed console logging for development and troubleshooting.
โ ๏ธ Development Only: Debug mode should only be enabled during development. Disable it in production to avoid performance impact and exposing internal details.
enableDebug()
Enables verbose console logging for all SDK operations.
Syntax
JavaScript
RewardedAd.enableDebug()
Parameters
None
Return Value
None (void)
What Gets Logged
When debug mode is enabled, you'll see detailed logs for:
- โ SDK initialization
- ๐ก API requests and responses
- ๐ฌ Ad preloading operations
- โถ๏ธ Ad display events
- ๐ฐ Reward callbacks
- โ Errors and warnings
- โฑ๏ธ Frequency capping checks
- ๐๏ธ Viewability tracking
- ๐ GDPR/COPPA consent
disableDebug()
Disables debug logging and returns to normal operation.
Syntax
JavaScript
RewardedAd.disableDebug()
Parameters
None
Return Value
None (void)
Examples
Basic Usage
JavaScript
// Enable debug mode
RewardedAd.enableDebug();
// Initialize SDK (you'll see detailed logs)
RewardedAd.init({
appId: "YOUR_APP_ID",
apiKey: "YOUR_API_KEY",
userId: "user_123"
});
// Show ad (you'll see all internal operations)
RewardedAd.showAd();
// Disable when done debugging
RewardedAd.disableDebug();
Conditional Debug Mode
JavaScript
// Enable debug only in development
const isDevelopment = window.location.hostname === 'localhost'
|| window.location.hostname === '127.0.0.1';
if (isDevelopment) {
console.log('๐ Debug mode enabled for development');
RewardedAd.enableDebug();
}
// Or use URL parameter
const urlParams = new URLSearchParams(window.location.search);
if (urlParams.has('debug')) {
console.log('๐ Debug mode enabled via URL parameter');
RewardedAd.enableDebug();
}
Environment-Based Debug
JavaScript
// Using environment variables (webpack/vite)
if (process.env.NODE_ENV === 'development') {
RewardedAd.enableDebug();
}
// Or use custom flag
const DEBUG_MODE = true; // Change to false for production
if (DEBUG_MODE) {
RewardedAd.enableDebug();
console.log('๐ BZZE Ads debug mode active');
}
Toggle Debug at Runtime
JavaScript
// Add debug toggle to your game's dev menu
let debugEnabled = false;
function toggleDebugMode() {
debugEnabled = !debugEnabled;
if (debugEnabled) {
RewardedAd.enableDebug();
console.log('โ
Debug mode ON');
} else {
RewardedAd.disableDebug();
console.log('โ Debug mode OFF');
}
return debugEnabled;
}
// Usage: Press D key to toggle debug
document.addEventListener('keydown', (e) => {
if (e.key === 'd' && e.ctrlKey) {
e.preventDefault();
toggleDebugMode();
}
});
Debug Helper Class
JavaScript
class AdDebugger {
constructor() {
this.enabled = false;
}
enable() {
RewardedAd.enableDebug();
this.enabled = true;
console.log('%c๐ BZZE Ads Debug Mode ENABLED', 'color: lime; font-weight: bold');
this.logStatus();
}
disable() {
RewardedAd.disableDebug();
this.enabled = false;
console.log('%c๐ BZZE Ads Debug Mode DISABLED', 'color: red; font-weight: bold');
}
logStatus() {
if (!this.enabled) return;
console.group('๐ SDK Status');
console.log('Ready:', RewardedAd.isReady());
console.log('Ad Available:', RewardedAd.isAdAvailable());
console.log('Preloaded Ads:', RewardedAd.getPreloadedAdCount());
console.log('Cooldown:', RewardedAd.getCooldownRemaining(), 's');
console.log('Info:', RewardedAd.getInfo());
console.log('Analytics:', RewardedAd.getAnalytics());
console.groupEnd();
}
testAd() {
console.log('๐งช Testing ad display...');
RewardedAd.showAd({
rewardPreview: 'Test Reward'
});
}
}
// Usage
const debugger = new AdDebugger();
debugger.enable();
debugger.logStatus();
React Hook for Debug Mode
JavaScript
import { useEffect, useState } from 'react';
function useDebugMode(initialState = false) {
const [debugEnabled, setDebugEnabled] = useState(initialState);
useEffect(() => {
if (debugEnabled) {
RewardedAd.enableDebug();
} else {
RewardedAd.disableDebug();
}
}, [debugEnabled]);
return [debugEnabled, setDebugEnabled];
}
// Usage in component
function GameComponent() {
const [debug, setDebug] = useDebugMode(false);
return (
);
}
Example Debug Output
When debug mode is enabled, you'll see console logs like:
Console Output
๐ BZZE Ads SDK v2.0.0 initializing...
โ
SDK initialized successfully
๐ก API Request: POST /v1/ads/request
โ App ID: APP_123
โ User ID: user_456
โ Intent: preload
โฑ๏ธ Frequency check: OK (0/10 hourly, 0/50 daily)
๐ฅ Preloading 2 ads...
โ
Ad preloaded: session_abc123
โ
Ad preloaded: session_def456
๐ Total preloaded ads: 2
// When showing ad:
โถ๏ธ showAd() called
โ
Cooldown check: OK (60s elapsed)
โ
Ad available: session_abc123
๐ฌ Displaying ad...
๐๏ธ Viewability: Ad 50% visible for 2s
โ
Ad completed
๐ฐ Reward callback triggered
๐ Analytics updated: 1 impression, 1 completion
Best Practices
โ
DO:
- Enable debug mode during development and testing
- Use environment checks to auto-enable in dev
- Disable in production builds
- Use URL parameters for testing in staging
- Add keyboard shortcuts for quick toggle (Ctrl+D)
- Log debug output to external services in dev
โ ๏ธ DON'T:
- Leave debug mode enabled in production
- Expose sensitive data in debug logs
- Rely on console logs for error handling
- Use debug mode as a monitoring solution
- Share debug logs with sensitive user data
Common Use Cases
1. Integration Testing
Enable debug when integrating SDK for the first time:
JavaScript
RewardedAd.enableDebug();
// Now test your integration and watch console for any issues
2. Troubleshooting
Enable when debugging why ads aren't showing:
JavaScript
// Add ?debug=true to URL
if (new URLSearchParams(location.search).has('debug')) {
RewardedAd.enableDebug();
}
3. QA Testing
Create a test build with debug enabled:
JavaScript
if (BUILD_TYPE === 'qa' || BUILD_TYPE === 'staging') {
RewardedAd.enableDebug();
}
Debug Mode vs Analytics
| Feature | Debug Mode | Analytics |
|---|---|---|
| Purpose | Development & troubleshooting | Production monitoring |
| Output | Console logs (verbose) | Structured data |
| Performance | Can impact performance | Minimal overhead |
| Production Use | โ Should be disabled | โ Always enabled |
Related Methods
- getInfo() - Get SDK information
- getAnalytics() - Get session analytics
- Troubleshooting Guide