Rewarded Ads
Rewarded ads let you offer users in-app items—such as continued gameplay, virtual currency, or other rewards—in exchange for their engagement with ads. Rewarded ads boost engagement because users receive a tangible benefit for their time.
This guide shows you how to integrate rewarded ads into an your app.
Load ad
Create an instance of CTReward, passing in the placementId and calling the loadAd method.
CTAdRequest adRequest = new CTAdRequest.Builder()
.setPlacementId("REWARD_PLACEMENT_ID")// [necessary] placementId from carty publisher
.setMute(true)// [optional] does video ads mute play, sdk default value true
.build();
CTReward ctReward = new CTReward(adRequest);
ctReward.loadAd();
val adRequest = CTAdRequest.Builder()
.setPlacementId("REWARD_PLACEMENT_ID")// [necessary] placementId from carty publisher
.setMute(true)// [optional] does video ads mute play, sdk default value true
.build()
val ctReward = CTReward(adRequest)
ctReward.loadAd()Register Listener
It is recommended to register a listener before calling the CTReward.loadAd method.
ctReward.setRewardAdListener(new CTRewardAdListener() {
@Override
public void onLoaded(CTBaseAd baseAd) {
}
@Override
public void onLoadFailed(CTAdError adError) {
}
@Override
public void onShown(CTBaseAd baseAd) {
}
@Override
public void onShowFailed(CTBaseAd baseAd, CTAdError adError) {
}
@Override
public void onClicked(CTBaseAd baseAd) {
}
@Override
public void onClosed(CTBaseAd baseAd) {
}
@Override
public void onRewarded(CTBaseAd baseAd, Map<String, Object> rewardMap) {
}
@Override
public void onVideoPlay(CTBaseAd baseAd) {
}
@Override
public void onVideoComplete(CTBaseAd baseAd) {
}
});
ctReward.setRewardAdListener(object : CTRewardAdListener {
override fun onLoaded(baseAd: CTBaseAd?) {
}
override fun onLoadFailed(adError: CTAdError?) {
}
override fun onShown(baseAd: CTBaseAd?) {
}
override fun onShowFailed(baseAd: CTBaseAd?, adError: CTAdError?) {
}
override fun onClicked(baseAd: CTBaseAd?) {
}
override fun onClosed(baseAd: CTBaseAd?) {
}
override fun onRewarded(baseAd: CTBaseAd?, rewardMap: Map<String?, Any?>?) {
}
override fun onVideoPlay(baseAd: CTBaseAd?) {
}
override fun onVideoComplete(baseAd: CTBaseAd?) {
}
})Make sure ad ready
Before you showAd, you need to check if the ad is ready.
ctReward.isReady();
ctReward.isReady()Display ad
Call showAd on the CTReward object that you instantiated.
ctReward.showAd(activity);
ctReward.showAd(activity)Client-side bidding
After the ad loads successfully, you can obtain ecpm by calling CTBaseAd.getEcpm
baseAd.getEcpm();
baseAd.ecpmAfter winning the ad bid, call onC2SBiddingSuccess and pass in the second-highest bid from this bid.
ctReward.onC2SBiddingSuccess("secondPrice", null);
ctReward.onC2SBiddingSuccess("$secondPrice", null)After an ad is lost, onC2SBiddingFailed is called with the highest bid received in the auction.
ctReward.onC2SBiddingFailed("topPrice", null);
ctReward.onC2SBiddingFailed("$topPrice", null)