tencent cloud

Tencent Cloud Super App as a Service

Release Notes and Announcements
Announcement: Tencent Cloud Mini Program Platform Renamed to Tencent Cloud Super App as a Service on January 2, 2025
Console Updates
Android SDK Updates
iOS SDK Updates
Flutter SDK Updates
IDE Updates
Base Library Updates
Product Introduction
Overview
Strengths
Use Cases
Purchase Guide
Billing Overview
Pay-As-You-Go Billing
Renewal Guide
Service Suspension Instructions
Getting Started
Plan Management
Overview
Console Account Management
Storage Configuration
Acceleration Configuration
Branding Configurations
Platform Features
Console Login
Users and Permission System
Mini Program Management
Mini Game Management
Superapp Management
Commercialization
Platform Management
User Management
Team Management
Operations Management
Security Center
Code Integration Guide
Getting Demo and SDK
Android
iOS
Flutter
Superapp Server
GUID Generation Rules
Mini Program Development Guide
Mini Program Introduction and Development Environment
Mini Program Code Composition
Guide
Framework
Components
API
Server Backend
JS SDK
Base Library
IDE Operation Instructions
Mini Game Development Guide
Guide
API
Server Backend
Practice Tutorial
Mini Program Login Practical Tutorial
Mini Program Subscription Message Practical Tutorial
Payment Practical Tutorial
Ad Integration Practical Tutorial
Mini Game Subscription Message Practical Tutorial
API Documentation
History
Introduction
API Category
Making API Requests
Operation Management APIs
User Management APIs
Team Management APIs
Sensitive API-Related APIs
Role Management APIs
Platform Management APIs
Other Console APIs
Mini Program or Mini Game APIs
Management-Sensitive APIs
Global Domain Management APIs
Superapp APIs
Data Types
Agreements
Service Level Agreement
Data Processing and Security Agreement
SDK Privacy Policy Module
SDK Data Processing and Security Agreement Module

Rewarded Video Ad

PDF
Focus Mode
Font Size
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.



Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback