跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.cloudx.io/llms.txt

Use this file to discover all available pages before exploring further.

激励视频广告是在用户完成观看后发放奖励的全屏广告。
import { CloudXRewardedAd } from 'cloudx-react-native';

const AD_UNIT_ID = 'rewarded_coins';

CloudXRewardedAd.addAdLoadedEventListener((adInfo) => {
    console.log('激励视频已加载,来自', adInfo.networkName);
});
CloudXRewardedAd.addAdLoadFailedEventListener((error) => {
    console.log('激励视频加载失败:', error.code, error.message);
});
CloudXRewardedAd.addAdDisplayedEventListener((adInfo) => {
    console.log('激励视频已展示');
});
CloudXRewardedAd.addAdFailedToDisplayEventListener((error) => {
    console.log('激励视频展示失败:', error.code, error.message);
});
CloudXRewardedAd.addAdReceivedRewardEventListener((rewardInfo) => {
    console.log(`获得 ${rewardInfo.rewardAmount} ${rewardInfo.rewardLabel}`);
});
CloudXRewardedAd.addAdClickedEventListener((adInfo) => {
    console.log('激励视频已点击');
});
CloudXRewardedAd.addAdHiddenEventListener(() => {
    CloudXRewardedAd.loadAd(AD_UNIT_ID);
});
CloudXRewardedAd.addAdRevenuePaidListener((adInfo) => {
    console.log('收入:', adInfo.revenue);
});

CloudXRewardedAd.loadAd(AD_UNIT_ID);

const isReady = await CloudXRewardedAd.isAdReady(AD_UNIT_ID);
if (isReady) {
    CloudXRewardedAd.showAd(AD_UNIT_ID);
    // 或传入可选 placement 和 custom data:
    // CloudXRewardedAd.showAd(AD_UNIT_ID, 'bonus_coins', 'custom_data');
} else {
    console.warn('激励视频广告尚未准备就绪');
}

// 不再需要时销毁。
CloudXRewardedAd.destroyAd(AD_UNIT_ID);
CloudXAdRewardInfo 继承自 CloudXAdInfo,额外包含:
  • rewardLabel?: string - 奖励标签,例如 "coins"
  • rewardAmount: number - 奖励数量。

React Hook

import { useCloudXRewarded } from 'cloudx-react-native';

function RewardScreen() {
    const { isLoaded, isLoading, error, rewardEarned, load, show } =
        useCloudXRewarded('rewarded_coins');

    useEffect(() => {
        load();
    }, [load]);

    useEffect(() => {
        if (rewardEarned) {
            grantCoinsToUser();
        }
    }, [rewardEarned]);

    return (
        <Button
            title="观看广告获取金币"
            onPress={() => show()}
            disabled={!isLoaded}
        />
    );
}
返回:{ isLoaded, isLoading, error, rewardEarned, load, show, destroy }
  • rewardEarned 在用户完成广告观看后变为 true
  • rewardEarned 会在下次 load() 调用或广告隐藏时重置为 false