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

See Also