RewardedAd.getInfo()
Get SDK version, configuration, and system information.
Syntax
JavaScript
RewardedAd.getInfo()
Description
The getInfo() method returns an object containing SDK version, configuration settings, and system information. This is useful for debugging, support tickets, and feature detection.
Parameters
None
Return Value
Type: object
Returns an object with the following properties:
TypeScript
{
version: string, // SDK version (e.g., "2.0.0")
apiVersion: string, // API version (e.g., "v1")
config: {
appId: string, // Your app ID
userId: string, // Current user ID
autoPreload: boolean, // Auto-preload enabled?
preloadCount: number, // Number of ads to preload
maxAdsPerHour: number, // Hourly limit
maxAdsPerDay: number, // Daily limit
minTimeBetweenAds: number // Cooldown in seconds
},
capabilities: {
viewabilityTracking: boolean,
frequencyCapping: boolean,
gdprSupport: boolean,
coppaSupport: boolean
}
}
Examples
Basic Usage
JavaScript
const info = RewardedAd.getInfo();
console.log('SDK Version:', info.version);
console.log('App ID:', info.config.appId);
console.log('User ID:', info.config.userId);
Debug Logger
JavaScript
function logSDKInfo() {
const info = RewardedAd.getInfo();
console.log('=== BZZE Ads SDK Info ===');
console.log('Version:', info.version);
console.log('API Version:', info.apiVersion);
console.log('');
console.log('Configuration:');
console.log(' App ID:', info.config.appId);
console.log(' User ID:', info.config.userId);
console.log(' Auto-preload:', info.config.autoPreload);
console.log(' Preload Count:', info.config.preloadCount);
console.log(' Hourly Limit:', info.config.maxAdsPerHour);
console.log(' Daily Limit:', info.config.maxAdsPerDay);
console.log(' Cooldown:', info.config.minTimeBetweenAds, 'seconds');
console.log('');
console.log('Capabilities:');
console.log(' Viewability:', info.capabilities.viewabilityTracking);
console.log(' Freq. Capping:', info.capabilities.frequencyCapping);
console.log(' GDPR:', info.capabilities.gdprSupport);
console.log(' COPPA:', info.capabilities.coppaSupport);
console.log('========================');
}
logSDKInfo();
Version Checking
JavaScript
function checkSDKVersion(minVersion) {
const info = RewardedAd.getInfo();
const current = info.version.split('.').map(Number);
const required = minVersion.split('.').map(Number);
for (let i = 0; i < 3; i++) {
if (current[i] > required[i]) return true;
if (current[i] < required[i]) return false;
}
return true;
}
// Check if SDK is version 2.0 or higher
if (checkSDKVersion('2.0.0')) {
console.log('✅ SDK supports new features!');
useNewFeatures();
} else {
console.log('⚠️ Please upgrade SDK');
}
Feature Detection
JavaScript
const info = RewardedAd.getInfo();
// Check if GDPR support is available
if (info.capabilities.gdprSupport) {
console.log('✅ GDPR support available');
// Show GDPR consent dialog
showGDPRConsent();
}
// Check if viewability tracking is enabled
if (info.capabilities.viewabilityTracking) {
console.log('✅ Viewability tracking active');
}
Support Ticket Generator
JavaScript
function generateSupportTicket() {
const info = RewardedAd.getInfo();
const analytics = RewardedAd.getAnalytics();
const ticket = {
timestamp: new Date().toISOString(),
sdk: {
version: info.version,
apiVersion: info.apiVersion
},
config: info.config,
session: {
impressions: analytics.impressions,
completions: analytics.completions,
errors: analytics.errors
},
browser: {
userAgent: navigator.userAgent,
language: navigator.language,
platform: navigator.platform
}
};
console.log('Support Ticket:', JSON.stringify(ticket, null, 2));
return ticket;
}
// Use when reporting issues
generateSupportTicket();
Configuration Validator
JavaScript
function validateConfiguration() {
const info = RewardedAd.getInfo();
const issues = [];
if (!info.config.appId) {
issues.push('❌ App ID is missing');
}
if (!info.config.userId) {
issues.push('❌ User ID is missing');
}
if (info.config.preloadCount < 1) {
issues.push('⚠️ Preload count is too low');
}
if (info.config.preloadCount > 5) {
issues.push('⚠️ Preload count is very high');
}
if (issues.length === 0) {
console.log('✅ Configuration is valid');
} else {
console.log('Configuration issues:');
issues.forEach(issue => console.log(issue));
}
return issues.length === 0;
}
validateConfiguration();
React Component with SDK Info
JavaScript
import { useState, useEffect } from 'react';
function SDKInfo() {
const [info, setInfo] = useState(null);
useEffect(() => {
if (RewardedAd.isReady()) {
setInfo(RewardedAd.getInfo());
}
}, []);
if (!info) return Loading...;
return (
SDK Information
Version: {info.version}
App ID: {info.config.appId}
User: {info.config.userId}
Features
- GDPR: {info.capabilities.gdprSupport ? '✅' : '❌'}
- COPPA: {info.capabilities.coppaSupport ? '✅' : '❌'}
- Viewability: {info.capabilities.viewabilityTracking ? '✅' : '❌'}
);
}
Use Cases
1. Debugging & Development
- Log SDK information during development
- Verify configuration settings
- Check active features and capabilities
2. Support & Troubleshooting
- Include SDK info in bug reports
- Generate diagnostic data for support tickets
- Identify configuration issues
3. Feature Detection
- Check if specific features are available
- Conditionally enable/disable UI elements
- Ensure SDK version compatibility
4. Analytics & Monitoring
- Track SDK versions in use
- Monitor configuration across users
- Identify upgrade needs
Best Practices
✅ DO:
- Use for debugging and logging
- Include in error reports and support tickets
- Check capabilities before using features
- Validate configuration during development
- Log SDK version in analytics
⚠️ DON'T:
- Expose sensitive config data to users
- Call excessively (cache the result)
- Rely on it for runtime logic (use feature detection)
- Share API keys or app IDs publicly
Related Methods
- getAnalytics() - Get session analytics
- isReady() - Check SDK initialization
- enableDebug() - Enable debug logging