Fully automatic loading mode is a one-stop request maintenance solution launched by TopOn, developed Users only need to pay attention to the timing of loading and display calls, reducing the cost of access time.
ATRewardedVideoAutoAdManager: Fully automatic loading management class for rewarded video ads
Method | Description |
---|---|
sharedInstance | Get ATRewardedVideoAutoAdManager singleton object |
addAutoLoadAdPlacementIDArray: | Add advertising slots that need to be loaded automatically placementIds: Advertising slot Id arrays that need to be loaded automatically |
Sample code:
#import <AnyThinkRewardedVideo/AnyThinkRewardedVideo.h>
// setting delegate
[ATRewardedVideoAutoAdManager sharedInstance].delegate = self;
[[ATRewardedVideoAutoAdManager sharedInstance] addAutoLoadAdPlacementIDArray:@[@"your rv placementID"]];
Method | Description |
---|---|
autoLoadRewardedVideoReadyForPlacementID: | Determine whether the ad slot exists and can be displayed Advertisement placementId: Advertising slot Id to be queried |
showAutoLoadRewardedVideoWithPlacementID: inViewController: delegate: | Display this ad slot rewarded video ad placementId: the ad slot Id to be displayed inViewController: the viewController that displays the ad delegate : Proxy object |
showAutoLoadRewardedVideoWithPlacementID: scene: inViewController: delegate: | Pass in the scene id to display the rewarded video ad for this ad slot placementId: the ad slot Id to be displayed scene: scene id. If you do not differentiate between scenes, you can pass it empty inViewController: viewController that displays ads delegate: proxy object |
Sample code:
- (void)showAd {
// Check to see if the AD is ready before showing
if ([[ATRewardedVideoAutoAdManager sharedInstance] autoLoadRewardedVideoReadyForPlacementID:@"your rv placement id"]) {
[[ATRewardedVideoAutoAdManager sharedInstance] showAutoLoadRewardedVideoWithPlacementID:@"your rv placement id" inViewController:self delegate:self];
}
}
Statistics on the probability of users reaching the scene, displayed in the background Data report-> Funnel analysis report-> reaches the advertising scene, so it is recommended that developers call it in the right place.
Method | Description |
---|---|
entryAdScenarioWithPlacementID: scenarioID: | The corresponding advertising slot enters the business scenario cache status statistics placementId: Advertising slot Id scenario: Ad display scenario, the scenario parameters can be created from the background. Please refer to Business scenario cache status statistics |
/* To collect scene arrival rate statistics, you can view related information https://docs.toponad.com/#/zh-cn/ios/NetworkAccess/scenario/scenario
Call the "Enter AD scene" method when an AD trigger condition is met, such as:
** The scenario is a pop-up AD after the cleanup, which is called at the end of the cleanup.
* 1、Call entryXXX to report the arrival of the scene.
* 2、Call xxRewardedVideoReadyForPlacementID.
* 3、Call showXX to show AD view.
* (Note the difference between auto and manual) */
[[ATRewardedVideoAutoAdManager sharedInstance] entryAdScenarioWithPlacementID:@"your rv placement id" scenarioID:@"your scenarioID"];
// Check to see if the AD is ready before showing
if ([[ATRewardedVideoAutoAdManager sharedInstance] autoLoadRewardedVideoReadyForPlacementID:@"your rv placement id"]) {
[[ATRewardedVideoAutoAdManager sharedInstance] showAutoLoadRewardedVideoWithPlacementID:@"your rv placement id" scene:@"your scenarioID" inViewController:self delegate:self];
}
ATAdLoadingDelegate delegate method
Method | Description |
---|---|
didFinishLoadingADWithPlacementID: | Corresponds to Advertising slot advertisement Loading success callback placementId: Advertising slot Id |
didFailToLoadADWithPlacementID: error: | corresponds Advertising slot advertisement Loading failure callback placementId: Advertising slot Id error: Advertisement loading failure information |
didStartLoadingADSourceWithPlacementID: extra: | corresponds An advertising source in the advertising slot Callback to start loading ads placementId: Advertising slot Id extra: Advertising additional parameters |
didFinishLoadingADSourceWithPlacementID: extra: | Corresponds to Callback for a certain advertising source in the advertising slot when the advertisement is loaded successfully placementId: Advertising slot Id extra: Advertising additional parameters |
didFailToLoadADSourceWithPlacementID: extra: error: | Corresponds to Callback for failure to load ads from an advertising source in the advertising slot placementId: Advertisement slot Id extra: Advertising additional parameters error: Ad loading failure information |
didStartBiddingADSourceWithPlacementID: extra: | corresponds to a certain advertising source in the advertising slot Callback for bidding start bidding placementId: Advertising slot Id extra: Advertising additional parameters |
didFinishBiddingADSourceWithPlacementID: extra: | corresponds to advertising slot Callback for successful advertising bidding for an advertising source placementId: Advertising slot Id extra: Advertising additional parameters |
didFailBiddingADSourceWithPlacementID: extra: error: | corresponds to An advertising source in the advertising slot Callback for failed advertising bidding placementId: Advertising slot Id extra: Advertising additional parameters error: Bidding advertising failure information |
ATRewardedVideoDelegate delegate method
Method | Description |
---|---|
rewardedVideoDidRewardSuccessForPlacemenID: extra: | rewardedVideoDidRewardSuccess |
rewardedVideoDidStartPlayingForPlacementID: extra: | The rewarded video ad playback starts, that is, the rewarded video display callback |
rewardedVideoDidEndPlayingForPlacementID: extra: | Rewarded video ad play ends |
rewardedVideoDidFailToPlayForPlacementID: error: extra: | Rewarded video ad play failed |
rewardedVideoDidClickForPlacementID: extra: | Rewarded video ad clicks |
rewardedVideoDidCloseForPlacementID: rewarded: extra: | Rewarded video ads are closed |
rewardedVideoDidDeepLinkOrJumpForPlacementID: extra: result: | Whether the rewarded video ad click jump is Deeplink form, currently only returned for TopOn Adx ads |
extra: Extended parameter reference Documentation |
Note: TT(CSJ) only Support VideoAgainDelegate
Callback function name | Callback function meaning |
---|---|
rewardedVideoAgainDidStartPlayingForPlacementID: extra: | Rewarded video ad to watch again ad playback begins |
rewardedVideoAgainDidEndPlayingForPlacementID: extra: | Rewarded video ad to watch again ad play ends |
rewardedVideoAgainDidFailToPlayForPlacementID: extra: | Rewarded video ads to watch again ads failed |
rewardedVideoAgainDidClickForPlacementID: extra: | Rewarded video ads to watch ads again |
rewardedVideoAgainDidRewardSuccessForPlacemenID: extra: | Rewarded video Watch the ad again and send the ad incentive |
extra: Extended parameter reference Documentation |
Sample code display:
#pragma mark - loading delegate
- (void)didStartLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--AD--Start--ATRewardVideoViewController::didStartLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--AD--Finish--ATRewardVideoViewController::didFinishLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFailToLoadADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error {
NSLog(@"ADSource--AD--Fail--ATRewardVideoViewController::didFailToLoadADSourceWithPlacementID:%@---error:%@", placementID,error);
}
// bidding
- (void)didStartBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--bid--Start--ATRewardVideoViewController::didStartBiddingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--bid--Finish--ATRewardVideoViewController::didFinishBiddingADSourceWithPlacementID:%@--extra:%@", placementID,extra);
}
- (void)didFailBiddingADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error {
NSLog(@"ADSource--bid--Fail--ATRewardVideoViewController::didFailBiddingADSourceWithPlacementID:%@--error:%@", placementID,error);
}
-(void) didFinishLoadingADWithPlacementID:(NSString *)placementID {
NSLog(@"placement id--Load--Finish--ATRewardedVideoViewController::didFinishLoadingADWithPlacementID:%@", placementID);
}
-(void) didFailToLoadADWithPlacementID:(NSString*)placementID error:(NSError*)error {
NSLog(@"placement id--Load--Fail--ATRewardedVideoViewController::didFailToLoadADWithPlacementID:%@ error:%@", placementID, error);
}
#pragma mark - showing delegate
-(void) rewardedVideoDidRewardSuccessForPlacemenID:(NSString *)placementID extra:(NSDictionary *)extra{
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidRewardSuccessForPlacemenID:%@ extra:%@",placementID,extra);
}
-(void) rewardedVideoDidStartPlayingForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidStartPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoDidEndPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidEndPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoDidFailToPlayForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidFailToPlayForPlacementID:%@ error:%@ extra:%@", placementID, error, extra);
}
-(void) rewardedVideoDidCloseForPlacementID:(NSString*)placementID rewarded:(BOOL)rewarded extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidCloseForPlacementID:%@, rewarded:%@ extra:%@",
placementID, rewarded ? @"yes" : @"no", extra);
}
-(void) rewardedVideoDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidClickForPlacementID:%@ extra:%@", placementID, extra);
}
- (void)rewardedVideoDidDeepLinkOrJumpForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra result:(BOOL)success {
NSLog(@"ATRewardedVideoViewController:: rewardedVideoDidDeepLinkOrJumpForPlacementID:placementID:%@ with extra: %@, success:%@",
placementID,extra, success ? @"YES" : @"NO");
}
// rewarded video again
-(void) rewardedVideoAgainDidStartPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidStartPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidEndPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidEndPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidFailToPlayForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidFailToPlayForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidClickForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidRewardSuccessForPlacemenID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidRewardSuccessForPlacemenID:%@ extra:%@", placementID, extra);
}
method | Description |
---|---|
sharedInstance | Get ATRewardedVideoAutoAdManager singleton object |
setLocalExtra: placementID: | Set local parameters for the specified ad slot placementId: ad slot Id localExtra: local parameters |
LocalExtraLocal parameter predefined Key value
Method | Type | Description |
---|---|---|
kATAdLoadingExtraUserIDKey | NSString | (Optional) used for server incentives, user unique ID |
kATAdLoadingExtraMediaExtraKey | NSString | (Optional) used for server incentives, user-defined data |
kATAdLoadingExtraRewardNameKey | NSString | (Optional) used for server incentives, reward name |
kATAdLoadingExtraRewardAmountKey | NSNumber | (Optional) used for server incentives, reward amount |
Sample code display:
[[ATRewardedVideoAutoAdManager sharedInstance] setLocalExtra:
@{kATAdLoadingExtraUserIDKey:@"test_user_id"} placementID:@"your rv placementID"];
Method | Description |
---|---|
removeAutoLoadAdPlacementIDArray: | Remove ads without fully automatic loading Position placementIds: No need to automatically load the advertising slot Id array |
checkValidAdCachesWithPlacementID: | Query all cached information of this ad slot. The first item in the array is the ad data to be displayed. placementId: the advertising slot Id to be queried |
Sample code display:
// Query all cache information for the AD space
NSArray *array = [[ATRewardedVideoAutoAdManager sharedManager] checkValidAdCachesWithPlacementID:@"your rv placementID"];
NSLog(@"ValidAds.count:%ld--- ValidAds:%@",array.count,array);
// Remove autoload
[[ATRewardedVideoAutoAdManager sharedInstance] removeAutoLoadAdPlacementIDArray:@[]];
#import <AnyThinkRewardedVideo/AnyThinkRewardedVideo.h>
@interface ATRewardVideoViewController () <ATAdLoadingDelegate, ATRewardedVideoDelegate>
@end
@implementation ATRewardVideoViewController
- (void)viewDidLoad {
[super viewDidLoad];
[ATRewardedVideoAutoAdManager sharedInstance].delegate = self;
[[ATRewardedVideoAutoAdManager sharedInstance] setLocalExtra:@{kATAdLoadingExtraUserIDKey:@"test_user_id"} placementID:@"your rv placementID"];
[[ATRewardedVideoAutoAdManager sharedInstance] addAutoLoadAdPlacementIDArray:@[@"your rv placementID"]];
}
- (void)entryAdScenario {
/* To collect scene arrival rate statistics, you can view related information https://docs.toponad.com/#/zh-cn/ios/NetworkAccess/scenario/scenario
Call the "Enter AD scene" method when an AD trigger condition is met, such as:
** The scenario is a pop-up AD after the cleanup, which is called at the end of the cleanup.
* 1、Call entryXXX to report the arrival of the scene.
* 2、Call xxRewardedVideoReadyForPlacementID.
* 3、Call showXX to show AD view.
* (Note the difference between auto and manual) */
[[ATRewardedVideoAutoAdManager sharedInstance] entryAdScenarioWithPlacementID:@"your rv placement id" scenarioID:@"your scenarioID"];
}
- (void)showAd {
[self entryAdScenario];
// Check to see if the AD is ready before showing
if ([[ATRewardedVideoAutoAdManager sharedInstance] autoLoadRewardedVideoReadyForPlacementID:@"your rv placement id"]) {
[[ATRewardedVideoAutoAdManager sharedInstance] showAutoLoadRewardedVideoWithPlacementID:@"your rv placement id" scene:@"your scenarioID" inViewController:self delegate:self];
}
}
#pragma mark - loading delegate
- (void)didStartLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--AD--Start--ATRewardVideoViewController::didStartLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--AD--Finish--ATRewardVideoViewController::didFinishLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFailToLoadADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error {
NSLog(@"ADSource--AD--Fail--ATRewardVideoViewController::didFailToLoadADSourceWithPlacementID:%@---error:%@", placementID,error);
}
// bidding
- (void)didStartBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--bid--Start--ATRewardVideoViewController::didStartBiddingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra {
NSLog(@"ADSource--bid--Finish--ATRewardVideoViewController::didFinishBiddingADSourceWithPlacementID:%@--extra:%@", placementID,extra);
}
- (void)didFailBiddingADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error {
NSLog(@"ADSource--bid--Fail--ATRewardVideoViewController::didFailBiddingADSourceWithPlacementID:%@--error:%@", placementID,error);
}
-(void) didFinishLoadingADWithPlacementID:(NSString *)placementID {
NSLog(@"placement ID--Load--Finish--ATRewardedVideoViewController::didFinishLoadingADWithPlacementID:%@", placementID);
}
-(void) didFailToLoadADWithPlacementID:(NSString*)placementID error:(NSError*)error {
NSLog(@"placement ID--Load--Fail--ATRewardedVideoViewController::didFailToLoadADWithPlacementID:%@ error:%@", placementID, error);
}
#pragma mark - showing delegate
-(void) rewardedVideoDidRewardSuccessForPlacemenID:(NSString *)placementID extra:(NSDictionary *)extra{
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidRewardSuccessForPlacemenID:%@ extra:%@",placementID,extra);
}
-(void) rewardedVideoDidStartPlayingForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidStartPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoDidEndPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidEndPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoDidFailToPlayForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidFailToPlayForPlacementID:%@ error:%@ extra:%@", placementID, error, extra);
}
-(void) rewardedVideoDidCloseForPlacementID:(NSString*)placementID rewarded:(BOOL)rewarded extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidCloseForPlacementID:%@, rewarded:%@ extra:%@", placementID, rewarded ? @"yes" : @"no", extra);
}
-(void) rewardedVideoDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoDidClickForPlacementID:%@ extra:%@", placementID, extra);
}
- (void)rewardedVideoDidDeepLinkOrJumpForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra result:(BOOL)success {
NSLog(@"ATRewardedVideoViewController:: rewardedVideoDidDeepLinkOrJumpForPlacementID:placementID:%@ with extra: %@, success:%@", placementID,extra, success ? @"YES" : @"NO");
}
// rewarded video again
-(void) rewardedVideoAgainDidStartPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidStartPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidEndPlayingForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidEndPlayingForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidFailToPlayForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidFailToPlayForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidClickForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) rewardedVideoAgainDidRewardSuccessForPlacemenID:(NSString*)placementID extra:(NSDictionary*)extra {
NSLog(@"ATRewardedVideoViewController::rewardedVideoAgainDidRewardSuccessForPlacemenID:%@ extra:%@", placementID, extra);
}
@end
Detailed rewarded video advertising please refer to the sample code: Demo ATRewardVideoViewController classes.