tencent cloud

All product documents
Tencent Cloud Super App as a Service
Rewarded Video Ad
Last updated: 2025-04-10 15:17:16
Rewarded Video Ad
Last updated: 2025-04-10 15:17:16
To use mini program rewarded ads, you must first obtain ad authorization. For details, see Ad Authorization.
The rewarded video ad component is composed of native image, text, and video controls from the client. It has the highest layer level and will cover regular components.
Developers can call wx.createRewardedVideoAd to create a rewarded video ad component. This method returns a singleton instance, which is only valid for the current page and cannot be used across pages.

Ad creation

The rewarded video ad component is hidden by default, allowing it to be pre-created for early initialization. Developers can create an ad instance in the onLoad event callback of the mini program page and repeatedly call the ad instance within the lifecycle of that page.
let rewardedVideoAd = null
Page({
onLoad() {
if(wx.createRewardedVideoAd){
rewardedVideoAd = wx.createRewardedVideoAd({ adUnitId: 'xxxx' })
rewardedVideoAd.onLoad(() => {
console.log('onLoad event emit')
})
rewardedVideoAd.onError((err) => {
console.log('onError event emit', err)
})
rewardedVideoAd.onClose((res) => {
console.log('onClose event emit', res)
})
}
}
})
To avoid misuse of ad resources, each user is limited to a certain number of rewarded video ads per day. It is recommended to check if the ad has been successfully fetched before displaying the ad button.

Show/Hide

The rewarded video ad component is hidden by default. After the user actively triggers the ad, the developer needs to call RewardedVideoAd.show() to display it.
Developers cannot control the hiding of the rewarded video ad component.

Fetch success and failure

rewardedVideoAd.onLoad(() => {
console.log('Rewarded video ad loaded successfully')
})

rewardedVideoAd.show()
.then(() => console.log('Rewarded video ad displayed'))

rewardedVideoAd.onError(err => { console.log(err)})

Listen for user rewards

Developers can listen to the onClose event to determine whether a user should receive a reward. The callback function for onClose will pass a res parameter, where res.isEnded describes the state when the ad ends.
Developers need to check res.isEnded to determine if the video was watched to the end and then issue the reward to the user.
rewardedVideoAd.onClose(res => {
// The user tapped the close button.
if (res && res.isEnded) {
// Normal playback ended, reward can be issued
} else {
// Playback was interrupted, no reward issued
}
})

Note

Calling RewardedVideoAd.onLoad(), RewardedVideoAd.onError(), RewardedVideoAd.onClose(), and other methods multiple times to listen for ad events will result in multiple event callbacks. It is recommended to listen once after creating the ad, or to cancel the original listener before setting a new one.


Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 available.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon