Fully automatic loading mode is a one-stop request maintenance solution launched by TopOn. Developers You only need to pay attention to the timing of loading and display calls to reduce the cost of access time.
ATInterstitialAutoAdManager: Fully automatic loading of management classes for interstitial ads
Method | Description |
---|---|
sharedInstance | Get ATInterstitialAutoAdManager singleton object |
addAutoLoadAdPlacementIDArray: | Add advertising slots that need to be loaded automatically placementIds: Advertising slot Id arrays that need to be loaded automatically |
setLocalExtra: placementID: | Set local parameters for the specified advertising slot placementId: Advertising slot Id localExtra: local parameters, key can refer to: Documentation |
Sample code for calling:
#import <AnyThinkInterstitial/AnyThinkInterstitial.h>
[ATInterstitialAutoAdManager sharedInstance].delegate = self;
// Setting the extra custom parameter will be returned to the Extra of the agent
// and can be used to match the custom rules of the AD space
[[ATInterstitialAutoAdManager sharedInstance] setLocalExtra:@{} placementID:@"your iv placementID"];
[[ATInterstitialAutoAdManager sharedInstance] addAutoLoadAdPlacementIDArray:@[@"your iv placementID"]];
method | Description |
---|---|
autoLoadInterstitialReadyForPlacementID: | Determine whether there are ads that can be displayed in this ad slot placementId: the ad slot Id to be queried |
showAutoLoadInterstitialWithPlacementID: inViewController: delegate: | Show this ad slot interstitial ad placementId: Advertising slot Id to be displayed inViewController: viewController to display ads delegate: proxy object |
showAutoLoadInterstitialWithPlacementID: scene: inViewController: delegate: | Display this ad slot rewarded video ad placementId: the ad slot Id to be displayed scene: scene id, if you don’t differentiate between scenes, you can pass it empty inViewController: viewController that displays ads delegate: proxy object |
called Sample code:
BOOL isReady = [[ATInterstitialAutoAdManager sharedInstance] autoLoadInterstitialReadyForPlacementID:@"your iv placementID"];
if (isReady) {
[ [ATInterstitialAutoAdManager sharedInstance] showAutoLoadInterstitialWithPlacementID:@"your iv placementID" inViewController:self delegate:self];
}
Statistics on the probability of users reaching the scene, and the data report presented in the background -> 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 scenarioID: Ad display scenario, the scenario parameters can be created from the background, please refer to Business scenario cache status statistics |
Call Sample code for:
/* 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) */
[[ATInterstitialAutoAdManager sharedInstance] entryAdScenarioWithPlacementID:@"your iv placement id" scenarioID:@"your scenarioID"];
// Check to see if the AD is ready before showing
if ([[ATInterstitialAutoAdManager sharedInstance] autoLoadInterstitialReadyForPlacementID:@"your iv placement id"]) {
[[ATInterstitialAutoAdManager sharedInstance] showAutoLoadInterstitialWithPlacementID:@"your iv placement id" scene:@"your scenarioID" inViewController:self delegate:self];
}
ATAdLoadingDelegate delegate method
Method | Description |
---|---|
didFinishLoadingADWithPlacementID: | Corresponding to Advertising slot id loading success callback placementId: Advertising slot Id |
didFailToLoadADWithPlacementID: error : | corresponds to Advertising slot id Loading failure callback placementId: Advertising slot Id error: Advertisement loading failure information |
didStartLoadingADSourceWithPlacementID: extra : | corresponds to An advertising source in the advertising slot id Callback to start loading ads placementId: Advertising slot Id extra: Advertising additional parameters |
didFinishLoadingADSourceWithPlacementID: extra: | corresponds to An advertising source in the advertising slot id Callback for successful loading of advertisements 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 id placementId: advertising slot Id extra : Advertising additional parameters error: Ad loading failure information |
didStartBiddingADSourceWithPlacementID: extra: | corresponds to a certain advertising source in the advertising slot id and the bidding advertisement starts Bidding callback placementId: Advertising slot Id extra: Advertising additional parameters |
didFinishBiddingADSourceWithPlacementID: extra: | corresponds to a certain advertising source in the advertising slot id Callback for successful bidding ad bidding placementId: Advertising slot Id extra: Advertising additional parameters |
didFailBiddingADSourceWithPlacementID: extra: error: | corresponds to An ad source in the ad slot id Callback for failed ad bidding placementId: ad slot Id extra: ad additional parameters error: bid ad failure information |
ATInterstitialDelegate delegate Method
Method | Description |
---|---|
interstitialDidShowForPlacementID: extra: | Interstitial ad displayed successfully |
interstitialFailedToShowForPlacementID: extra: | Interstitial ad display failed |
interstitialDidStartPlayingVideoForPlacementID: extra: | Interstitial video ad playback begins |
interstitialDidEndPlayingVideoForPlacementID: extra: | Interstitial video ad play ends |
interstitialDidFailToPlayVideoForPlacementID: error: extra: | Interstitial video ad playback failed |
interstitialDidClickForPlacementID: extra: | Interstitial ad click |
interstitialDidCloseForPlacementID: extra: | Interstitial ads are closed |
interstitialDeepLinkOrJumpForPlacementID: extra: result: | Whether the interstitial ad click jump is in Deeplink form , currently only returned for TopOn Adx ads |
extra: Extended parameter reference Document |
Delegate sample code:
#pragma mark - loading delegate
- (void)didStartLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--AD--Start--ATInterstitialViewController::didStartLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--AD--Finish--ATInterstitialViewController::didFinishLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFailToLoadADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error{
NSLog(@"ADSource--AD--Fail--ATInterstitialViewController::didFailToLoadADSourceWithPlacementID:%@---error:%@", placementID,error);
}
// bidding
- (void)didStartBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--bid--Start--ATInterstitialViewController::didStartBiddingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--bid--Finish--ATInterstitialViewController::didFinishBiddingADSourceWithPlacementID:%@--extra:%@", placementID,extra);
}
- (void)didFailBiddingADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error{
NSLog(@"ADSource--bid--Fail--ATInterstitialViewController::didFailBiddingADSourceWithPlacementID:%@--error:%@", placementID,error);
}
-(void) didFinishLoadingADWithPlacementID:(NSString *)placementID {
NSLog(@"ATInterstitialViewController::didFinishLoadingADWithPlacementID:%@", placementID);
}
-(void) didFailToLoadADWithPlacementID:(NSString*)placementID error:(NSError*)error {
NSLog(@"ATInterstitialViewController::didFailToLoadADWithPlacementID:%@ error:%@", placementID, error);
}
#pragma mark - showing delegate
-(void) interstitialDidShowForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidShowForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialFailedToShowForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialFailedToShowForPlacementID:%@ error:%@ extra:%@", placementID, error, extra);
}
-(void) interstitialDidFailToPlayVideoForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra {
NSLog(@"ATInterstitialViewController::interstitialDidFailToPlayVideoForPlacementID:%@ error:%@ extra:%@", placementID, error, extra);
}
-(void) interstitialDidStartPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidStartPlayingVideoForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialDidEndPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidEndPlayingVideoForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialDidCloseForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidCloseForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidClickForPlacementID:%@ extra:%@", placementID, extra);
}
- (void)interstitialDeepLinkOrJumpForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra result:(BOOL)success {
NSLog(@"ATInterstitialViewController:: interstitialDeepLinkOrJumpForPlacementID:placementID:%@ with extra: %@, success:%@", placementID,extra, success ? @"YES" : @"NO");
}
2.5 Other API
方法 | 说明 |
---|---|
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:
// Query all cached information of this ad slot
NSArray *array = [[ATInterstitialAutoAdManager sharedManager] checkValidAdCachesWithPlacementID:self.placementID];
NSLog(@"ValidAds.count:%ld--- ValidAds:%@",array.count,array);
#import <AnyThinkInterstitial/AnyThinkInterstitial.h>
@interface ATInterstitialViewController () <ATAdLoadingDelegate, ATInterstitialDelegate>
@end
@implementation ATInterstitialViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self loadAd];
}
- (void)loadAd {
[ATInterstitialAutoAdManager sharedInstance].delegate = self;
[[ATInterstitialAutoAdManager sharedInstance] addAutoLoadAdPlacementIDArray:@[@"your iv 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) */
[[ATInterstitialAutoAdManager sharedInstance] entryAdScenarioWithPlacementID:@"your iv placement id" scenarioID:@"your scenarioID"];
}
// show ad
- (void)showInterstitialAd {
[self entryAdScenario];
BOOL isReady = [[ATInterstitialAutoAdManager sharedInstance] autoLoadInterstitialReadyForPlacementID:@"your iv placement id"];
if (isReady) {
[[ATInterstitialAutoAdManager sharedInstance] showAutoLoadInterstitialWithPlacementID:@"your iv placement id" scene:@"your scenarioID" inViewController:self delegate:self];
}
}
#pragma mark - loading delegate
- (void)didStartLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--AD--Start--ATInterstitialViewController::didStartLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishLoadingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--AD--Finish--ATInterstitialViewController::didFinishLoadingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFailToLoadADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error{
NSLog(@"ADSource--AD--Fail--ATInterstitialViewController::didFailToLoadADSourceWithPlacementID:%@---error:%@", placementID,error);
}
// bidding
- (void)didStartBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--bid--Start--ATInterstitialViewController::didStartBiddingADSourceWithPlacementID:%@---extra:%@", placementID,extra);
}
- (void)didFinishBiddingADSourceWithPlacementID:(NSString *)placementID extra:(NSDictionary*)extra{
NSLog(@"ADSource--bid--Finish--ATInterstitialViewController::didFinishBiddingADSourceWithPlacementID:%@--extra:%@", placementID,extra);
}
- (void)didFailBiddingADSourceWithPlacementID:(NSString*)placementID extra:(NSDictionary*)extra error:(NSError*)error{
NSLog(@"ADSource--bid--Fail--ATInterstitialViewController::didFailBiddingADSourceWithPlacementID:%@--error:%@", placementID,error);
}
-(void) didFinishLoadingADWithPlacementID:(NSString *)placementID {
NSLog(@"ATInterstitialViewController::didFinishLoadingADWithPlacementID:%@", placementID);
}
-(void) didFailToLoadADWithPlacementID:(NSString*)placementID error:(NSError*)error {
NSLog(@"ATInterstitialViewController::didFailToLoadADWithPlacementID:%@ error:%@", placementID, error);
}
#pragma mark - showing delegate
-(void) interstitialDidShowForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidShowForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialFailedToShowForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialFailedToShowForPlacementID:%@ error:%@ extra:%@", placementID, error, extra);
}
-(void) interstitialDidFailToPlayVideoForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra {
NSLog(@"ATInterstitialViewController::interstitialDidFailToPlayVideoForPlacementID:%@ error:%@ extra:%@", placementID, error, extra);
}
-(void) interstitialDidStartPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidStartPlayingVideoForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialDidEndPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidEndPlayingVideoForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialDidCloseForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidCloseForPlacementID:%@ extra:%@", placementID, extra);
}
-(void) interstitialDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {
NSLog(@"ATInterstitialViewController::interstitialDidClickForPlacementID:%@ extra:%@", placementID, extra);
}
- (void)interstitialDeepLinkOrJumpForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra result:(BOOL)success {
NSLog(@"ATInterstitialViewController:: interstitialDeepLinkOrJumpForPlacementID:placementID:%@ with extra: %@, success:%@", placementID,extra, success ? @"YES" : @"NO");
}
@end
For detailed interstitial ad sample code, please refer to: Demo’s ATInterstitialViewController class.
Rewarded video is used as an interstitial (calling Sigmob's rewarded video API). The Sigmob advertising source of TopOn's background interstitial advertising space needs to be configured with Sigmob's rewarded video ads slot id.
NSDictionary *extra = @{kATInterstitialExtraUsesRewardedVideo:@YES};
[[ATAdManager sharedManager] loadADWithPlacementID:@"your interstitial placement id" extra:extra delegate:self];