ATAdManager: Interstitial ad management class
Method | Description |
---|---|
sharedManager | Get ATAdManager singleton object |
loadADWithPlacementID: extra: delegate: | Interstitial loading method placementId: TopOn's advertising slot id extra: local configuration parameters delegate: delegate object |
Example of loading code:
#import <AnyThinkInterstitial/AnyThinkInterstitial.h>
- (void)loadAd {
// 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
NSDictionary *extra = @{
kATAdLoadingExtraMediaExtraKey:@"custom_values",
};
// Load the interstitial ads
[[ATAdManager sharedManager] loadADWithPlacementID:@"your iv placementID" extra:extra delegate:self];
}
Method | Description |
---|---|
interstitialReadyForPlacementID: | Check to see if the AD is ready before showing placementId: TopOn's ad slot id |
showInterstitialWithPlacementID: inViewController: delegate: | Display Splash ads placementId: TopOn's ad slot id inViewController: Display ads window delegate: proxy object |
showInterstitialWithPlacementID: scene: inViewController: delegate: | Display Splash ad with scene id placementId: TopOn's advertising slot id scene: scene id, If you do not differentiate between scenes, you can pass empty inViewController: window for displaying ads delegate: proxy object |
Example showing code:
- (void)showInterstitialAd {
// Check to see if the AD is ready before showing
if ([[ATAdManager sharedManager] interstitialReadyForPlacementID:@"your iv placementID"]) {
[[ATAdManager sharedManager] showInterstitialWithPlacementID:@"your iv placementID" inViewController:self delegate:self];
} else {
// AD not filled, whether to reload
}
}
User statistics The probability of reaching the scene is displayed in the background data report -> Funnel Analysis Report -> reaching the advertising scene, so it is recommended that developers make calls in the right place.
Method | Description |
---|---|
entryInterstitialScenarioWithPlacementID: scene: | The corresponding advertising space enters the business scene cache status statistics placementId: advertising space Id scene: advertising display scene, the scene parameters can be created from the background, please refer to Business scenario cache status statistics |
Sample code called:
/* 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) */
[[ATAdManager sharedManager] entryInterstitialScenarioWithPlacementID:@"your iv placement id" scene:@"your scenarioID"];
// Check to see if the AD is ready before showing
if ([[ATAdManager sharedManager] interstitialReadyForPlacementID:@"your iv placementID"]) {
[[ATAdManager sharedManager] showInterstitialWithPlacementID:@"your iv placementID" scene:@"your scenarioID" inViewController:self delegate:self];
} else {
// AD not filled, whether to reload
}
ATAdLoadingDelegate delegate method
Method | Description |
---|---|
didFinishLoadingADWithPlacementID: | corresponds to Advertising slot Ad loading success callback placementId: Advertising slot Id |
didFailToLoadADWithPlacementID: error: | corresponds to Advertising slot Ad loading failure callback placementId: Advertising slot Id error: Ad loading failure information |
didStartLoadingADSourceWithPlacementID: extra: | corresponds to Callback when an advertising source in the advertising slot starts loading ads placementId: Advertising slot Id extra: Advertising additional parameters |
didFinishLoadingADSourceWithPlacementID: extra: | corresponds to a certain advertising source in the advertising slot callback for successful loading of ads placementId: advertising slot Id extra: additional advertising parameters |
didFailToLoadADSourceWithPlacementID: extra: error: | corresponds to loading of an advertising source in the advertising slot Callback for advertising failure placementId: advertising slot Id extra: advertising additional parameters error: advertising loading failure information |
didStartBiddingADSourceWithPlacementID: extra: | corresponds to an advertising source in the advertising slotCallback for bidding ad start bidding placementId: Advertising slot Id extra: Advertising additional parameters |
didFinishBiddingADSourceWithPlacementID: extra: | corresponds to a certain advertising source in the advertising slot callback for successful advertising bidding placementId: advertising slot Id extra: Advertising additional parameters |
didFailBiddingADSourceWithPlacementID: extra: error: | Corresponds to a certain advertising source in the advertising slot Callback for bidding failure of bidding ads placementId: Advertising slot Id extra: Advertising additional parameters error: Bidding advertising failure information |
ATInterstitialDelegate delegate method
Callback function name | Callback function meaning |
---|---|
interstitialDidShowForPlacementID: extra: | Interstitial ad displayed successfully |
interstitialFailedToShowForPlacementID: extra: | Interstitial ad display failed |
interstitialDidStartPlayingVideoForPlacementID: extra: | Interstitial video ad play start |
InterstitialDidEndPlayingVideoForPlacementID: extra: | Interstitial video ad play ends |
interstitialDidFailToPlayVideoForPlacementID: error: extra: | Interstitial video ad playback failed |
interstitialDidClickForPlacementID: extra: | Interstitial Ad Click |
interstitialDidCloseForPlacementID: extra: | Interstitial ads closed |
interstitialDeepLinkOrJumpForPlacementID: extra: result: | Interstitial ads click to jump Whether it is in Deeplink form, currently only returned for TopOn Adx ads |
extra: Extended parameter reference Documentation |
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");
}
Method | Description |
---|---|
getInterstitialValidAdsForPlacementID: | 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 |
Call the sample code
// Query all cache information for the AD space
NSArray *array = [[ATAdManager sharedManager] getInterstitialValidAdsForPlacementID: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 {
// 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
NSDictionary *extra = @{
kATAdLoadingExtraMediaExtraKey:@"media_val",
};
[[ATAdManager sharedManager] loadADWithPlacementID:@"your iv placementID" extra:extra delegate:self];
}
- (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) */
[[ATAdManager sharedManager] entryInterstitialScenarioWithPlacementID:@"your iv placement id" scene:@"your scenarioID"];
}
// show ad
- (void)showInterstitialAd {
[self entryAdScenario];
if ([[ATAdManager sharedManager] interstitialReadyForPlacementID:@"your iv placement id"]) {
[[ATAdManager sharedManager] showInterstitialWithPlacementID:@"your iv placement id" scene:@"your scenarioID" inViewController:self delegate:self];
} else {
// reload AD
}
}
#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];