{"id":15522,"date":"2026-02-20T07:06:19","date_gmt":"2026-02-20T07:06:19","guid":{"rendered":"http:\/\/anurag"},"modified":"2026-03-03T17:11:04","modified_gmt":"2026-03-03T17:11:04","password":"","slug":"ios-topon","status":"publish","type":"docs","link":"https:\/\/tenjin.com\/zh\/docs\/ios-topon\/","title":{"rendered":"iOS &#8211; TopOn"},"content":{"rendered":"\n<p>The Tenjin SDK can listen to TopOn impression level revenue data and send these events to Tenjin. This integration sends revenue information for each ad impression served from TopOn. Here are the steps to integrate:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install the TopOn iOS SDK: <a href=\"https:\/\/docs.toponad.com\/#\/en-us\/ios\/GetStarted\/TopOn_Get_Started\">https:\/\/docs.toponad.com\/#\/en-us\/ios\/GetStarted\/TopOn_Get_Started<\/a><br><br>Please ensure you have the latest AnyThinkiOS iOS SDK installed (> 5.7.99).<br><\/li>\n\n\n\n<li>After receiving the Ad extra dictionary, pass it to the Tenjin SDK:<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 0 16px;font-size:0.8em;width:100%;text-align:left;background-color:#2e3440ff;font-style:italic;color:#d8dee9ff\"><span style=\"border-bottom:1px solid rgba(201, 218, 248, 0.2)\">Objective-C<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>&#91;TenjinSDK initialize:@\"&lt;SDK_KEY>\"&#93;;\n&#91;TenjinSDK connect&#93;;\n[&#91;ATAdManager sharedManager&#93; loadADWithPlacementID:@\"&lt;INTERSTITIAL_AD_ID>\" extra:@{} delegate:self];\n-(void) didShowNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra{\n    &#91;TenjinSDK topOnImpressionFromDict:extra&#93;;\n}<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">TenjinSDK <\/span><span style=\"color: #88C0D0\">initialize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">&lt;SDK_KEY&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">TenjinSDK <\/span><span style=\"color: #88C0D0\">connect<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">[&#91;<\/span><span style=\"color: #D8DEE9FF\">ATAdManager <\/span><span style=\"color: #88C0D0\">sharedManager<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">loadADWithPlacementID<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">&lt;INTERSTITIAL_AD_ID&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">@<\/span><span style=\"color: #ECEFF4\">{}<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">delegate<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> didShowNativeBannerAdInView:<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerView<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">bannerView placementID:<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">placementID extra:<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\">extra<\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">TenjinSDK <\/span><span style=\"color: #88C0D0\">topOnImpressionFromDict<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">extra<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Below is an example of TopOn Banner integration and subscribing to impression events.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:1.125rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.625rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 0 16px;font-size:0.8em;width:100%;text-align:left;background-color:#2e3440ff;font-style:italic;color:#d8dee9ff\"><span style=\"border-bottom:1px solid rgba(201, 218, 248, 0.2)\">Objective-C<\/span><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>@implementation TJNTopOnViewController\n- (void)viewDidLoad {\n    &#91;super viewDidLoad&#93;;\n    _bannerPlacementID = @\"&lt;BANNER_AD_ID>\";\n    _interstitialPlacementID = @\"&lt;INTERSTITIAL_AD_ID>\";\n    [&#91;ATAdManager sharedManager&#93; loadADWithPlacementID:_interstitialPlacementID extra:@{} delegate:self];\n    if (&#91;ATNativeBannerWrapper nativeBannerAdReadyForPlacementID:_bannerPlacementID&#93;) {\n        &#91;self showAd&#93;;\n    } else {\n        [ATNativeBannerWrapper loadNativeBannerAdWithPlacementID:_bannerPlacementID extra:@{kATExtraInfoNativeAdSizeKey:&#91;NSValue valueWithCGSize:CGSizeMake(CGRectGetWidth(self.view.bounds), 120.0f)&#93;} customData:nil delegate:self];\n    }\n}\n-(void) showAd {\n    ATNativeBannerView *bannerView = [ATNativeBannerWrapper retrieveNativeBannerAdViewWithPlacementID:_bannerPlacementID extra:@{kATNativeBannerAdShowingExtraAdSizeKey:[NSValue valueWithCGSize:CGSizeMake(CGRectGetWidth(&#91;UIScreen mainScreen&#93;.bounds), 120.0f)], kATNativeBannerAdShowingExtraAutorefreshIntervalKey:@10.0f, kATNativeBannerAdShowingExtraHideCloseButtonFlagKey:@NO, kATNativeBannerAdShowingExtraCTAButtonBackgroundColorKey:&#91;UIColor redColor&#93;, kATNativeBannerAdShowingExtraCTAButtonTitleColorKey:&#91;UIColor whiteColor&#93;, kATNativeBannerAdShowingExtraCTAButtonTitleFontKey:&#91;UIFont systemFontOfSize:12.0f&#93;, kATNativeBannerAdShowingExtraTitleColorKey:&#91;UIColor grayColor&#93;, kATNativeBannerAdShowingExtraTitleFontKey:&#91;UIFont systemFontOfSize:12.0f&#93;, kATNativeBannerAdShowingExtraTextColorKey:&#91;UIColor lightGrayColor&#93;, kATNativeBannerAdShowingExtraTextFontKey:&#91;UIFont systemFontOfSize:10.0f&#93;, kATNativeBannerAdShowingExtraBackgroundColorKey:&#91;UIColor whiteColor&#93;, kATNativeBannerAdShowingExtraAdvertiserTextFontKey:&#91;UIFont systemFontOfSize:12.0f&#93;, kATNativeBannerAdShowingExtraAdvertiserTextColorKey:&#91;UIColor lightGrayColor&#93;} delegate:self];\n    bannerView.frame = CGRectMake(.0f, 100.0f, CGRectGetWidth(bannerView.bounds), CGRectGetHeight(bannerView.bounds));\n    bannerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;\n    &#91;self.view addSubview:bannerView&#93;;\n}\n- (IBAction)showInterstitialAd {\n    [&#91;ATAdManager sharedManager&#93; showInterstitialWithPlacementID:_interstitialPlacementID inViewController:self delegate:self];\n}\n#pragma mark - native banner delegate(s)\n-(void) didFinishLoadingNativeBannerAdWithPlacementID:(NSString *)placementID {\n    NSLog(@\"TJNTopOnViewController::didFinishLoadingNativeBannerAdWithPlacementID:%@\", placementID);\n    &#91;self showAd&#93;;\n}\n-(void) didFailToLoadNativeBannerAdWithPlacementID:(NSString*)placementID error:(NSError*)error {\n    NSLog(@\"TJNTopOnViewController::didFailToLoadNativeBannerAdWithPlacementID:%@ error:%@\", placementID, error);\n}\n-(void) didShowNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra{\n    NSLog(@\"TJNTopOnViewController::didShowNativeBannerAdInView:%@ placementID:%@ with extra: %@\",bannerView, placementID,extra);\n    &#91;TenjinSDK topOnImpressionFromDict:extra&#93;;\n}\n-(void) didClickNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra{\n    NSLog(@\"TJNTopOnViewController::didClickNativeBannerAdInView:%@ placementID:%@ with extra: %@\",bannerView, placementID,extra);\n}\n-(void) didClickCloseButtonInNativeBannerAdView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra{\n    NSLog(@\"TJNTopOnViewController::didClickCloseButtonInNativeBannerAdView:%@ placementID:%@\", bannerView, placementID);\n}\n-(void) didAutorefreshNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra{\n    NSLog(@\"TJNTopOnViewController::didAutorefreshNativeBannerAdInView:%@ placementID:%@ with extra: %@\",bannerView, placementID,extra);\n}\n-(void) didFailToAutorefreshNativeBannerAdInView:(ATNativeBannerView*)bannerView placementID:(NSString*)placementID extra:(NSDictionary *)extra error:(NSError*)error {\n    NSLog(@\"TJNTopOnViewController::didFailToAutorefreshNativeBannerAdInView:%@ placementID:%@ error:%@\", bannerView, placementID, error);\n}\n- (void)didNativeBannerDeeplinkOrJumpInView:(ATNativeBannerView *)bannerView placementID:(NSString *)placementID extra:(NSDictionary *)extra result:(BOOL)success {\n    NSLog(@\"TJNTopOnViewController::didNativeBannerDeeplinkOrJumpInView:%@ extra:%@\", placementID, extra);\n}\n- (void)didFinishLoadingSplashADWithPlacementID:(NSString *)placementID isTimeout:(BOOL)isTimeout {\n    NSLog(@\"TJNTopOnViewController::didFinishLoadingSplashADWithPlacementID:%@\", placementID);\n}\n- (void)didTimeoutLoadingSplashADWithPlacementID:(NSString *)placementID {\n    NSLog(@\"TJNTopOnViewController::didTimeoutLoadingSplashADWithPlacementID:%@\", placementID);\n}\n#pragma mark - Interstitial delegate method(s)\n-(void) didFinishLoadingADWithPlacementID:(NSString *)placementID {\n    NSLog(@\"TJNTopOnViewController::didFinishLoadingADWithPlacementID:%@\", placementID);\n}\n-(void) didFailToLoadADWithPlacementID:(NSString*)placementID error:(NSError*)error {\n    NSLog(@\"TJNTopOnViewController::didFailToLoadADWithPlacementID:%@ error:%@\", placementID, error);\n}\n-(void) interstitialDidShowForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra {\n    NSLog(@\"TJNTopOnViewController::interstitialDidShowForPlacementID:%@ extra:%@\", placementID, extra);\n    &#91;TenjinSDK topOnImpressionFromDict:extra&#93;;\n}\n-(void) interstitialFailedToShowForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary *)extra {\n    NSLog(@\"TJNTopOnViewController::interstitialFailedToShowForPlacementID:%@ error:%@ extra:%@\", placementID, error, extra);\n}\n-(void) interstitialDidFailToPlayVideoForPlacementID:(NSString*)placementID error:(NSError*)error extra:(NSDictionary*)extra {\n    NSLog(@\"TJNTopOnViewController::interstitialDidFailToPlayVideoForPlacementID:%@ error:%@ extra:%@\", placementID, error, extra);\n}\n-(void) interstitialDidStartPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {\n    NSLog(@\"TJNTopOnViewController::interstitialDidStartPlayingVideoForPlacementID:%@ extra:%@\", placementID, extra);\n}\n-(void) interstitialDidEndPlayingVideoForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {\n    NSLog(@\"TJNTopOnViewController::interstitialDidEndPlayingVideoForPlacementID:%@ extra:%@\", placementID, extra);\n}\n-(void) interstitialDidCloseForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {\n    NSLog(@\"TJNTopOnViewController::interstitialDidCloseForPlacementID:%@ extra:%@\", placementID, extra);\n}\n-(void) interstitialDidClickForPlacementID:(NSString*)placementID extra:(NSDictionary *)extra {\n    NSLog(@\"TJNTopOnViewController::interstitialDidClickForPlacementID:%@ extra:%@\", placementID, extra);\n}\n- (void)interstitialDeepLinkOrJumpForPlacementID:(NSString *)placementID extra:(NSDictionary *)extra result:(BOOL)success {\n    NSLog(@\"TJNTopOnViewController::interstitialDeepLinkOrJumpForPlacementID:%@ extra:%@\", placementID, extra);\n}\n@end<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #ECEFF4\">@<\/span><span style=\"color: #81A1C1\">implementation<\/span><span style=\"color: #D8DEE9FF\"> TJNTopOnViewController<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">- <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\">viewDidLoad<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #81A1C1\">super<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">viewDidLoad<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    _bannerPlacementID <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">&lt;BANNER_AD_ID&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    _interstitialPlacementID <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">&lt;INTERSTITIAL_AD_ID&gt;<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">[&#91;<\/span><span style=\"color: #D8DEE9FF\">ATAdManager <\/span><span style=\"color: #88C0D0\">sharedManager<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">loadADWithPlacementID<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">_interstitialPlacementID <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">@<\/span><span style=\"color: #ECEFF4\">{}<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">delegate<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(&#91;<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerWrapper <\/span><span style=\"color: #88C0D0\">nativeBannerAdReadyForPlacementID<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">_bannerPlacementID<\/span><span style=\"color: #ECEFF4\">&#93;)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">showAd<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">}<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">else<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerWrapper <\/span><span style=\"color: #88C0D0\">loadNativeBannerAdWithPlacementID<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">_bannerPlacementID <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">@<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\">kATExtraInfoNativeAdSizeKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #88C0D0\">NSValue<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">valueWithCGSize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #88C0D0\">CGSizeMake<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #88C0D0\">CGRectGetWidth<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #D8DEE9FF\">.view.bounds)<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">120.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #ECEFF4\">&#93;}<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">customData<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">nil<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">delegate<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">showAd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    ATNativeBannerView <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\">bannerView <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerWrapper <\/span><span style=\"color: #88C0D0\">retrieveNativeBannerAdViewWithPlacementID<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">_bannerPlacementID <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">@<\/span><span style=\"color: #ECEFF4\">{<\/span><span style=\"color: #D8DEE9FF\">kATNativeBannerAdShowingExtraAdSizeKey:<\/span><span style=\"color: #ECEFF4\">[<\/span><span style=\"color: #88C0D0\">NSValue<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">valueWithCGSize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #88C0D0\">CGSizeMake<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #88C0D0\">CGRectGetWidth<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIScreen <\/span><span style=\"color: #88C0D0\">mainScreen<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\">.bounds)<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">120.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #ECEFF4\">],<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraAutorefreshIntervalKey:@<\/span><span style=\"color: #B48EAD\">10.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraHideCloseButtonFlagKey:@<\/span><span style=\"color: #81A1C1\">NO<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraCTAButtonBackgroundColorKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIColor <\/span><span style=\"color: #88C0D0\">redColor<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraCTAButtonTitleColorKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIColor <\/span><span style=\"color: #88C0D0\">whiteColor<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraCTAButtonTitleFontKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIFont <\/span><span style=\"color: #88C0D0\">systemFontOfSize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #B48EAD\">12.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraTitleColorKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIColor <\/span><span style=\"color: #88C0D0\">grayColor<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraTitleFontKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIFont <\/span><span style=\"color: #88C0D0\">systemFontOfSize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #B48EAD\">12.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraTextColorKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIColor <\/span><span style=\"color: #88C0D0\">lightGrayColor<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraTextFontKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIFont <\/span><span style=\"color: #88C0D0\">systemFontOfSize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #B48EAD\">10.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraBackgroundColorKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIColor <\/span><span style=\"color: #88C0D0\">whiteColor<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraAdvertiserTextFontKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIFont <\/span><span style=\"color: #88C0D0\">systemFontOfSize<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #B48EAD\">12.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #ECEFF4\">&#93;,<\/span><span style=\"color: #D8DEE9FF\"> kATNativeBannerAdShowingExtraAdvertiserTextColorKey:<\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">UIColor <\/span><span style=\"color: #88C0D0\">lightGrayColor<\/span><span style=\"color: #ECEFF4\">&#93;}<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">delegate<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">frame<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">CGRectMake<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #B48EAD\">.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">100.0<\/span><span style=\"color: #81A1C1\">f<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">CGRectGetWidth<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">bounds<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">CGRectGetHeight<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">bounds<\/span><span style=\"color: #ECEFF4\">))<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">autoresizingMask<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> UIViewAutoresizingFlexibleWidth<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #D8DEE9FF\">.view <\/span><span style=\"color: #88C0D0\">addSubview<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">bannerView<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">- <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">IBAction<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\">showInterstitialAd<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">[&#91;<\/span><span style=\"color: #D8DEE9FF\">ATAdManager <\/span><span style=\"color: #88C0D0\">sharedManager<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">showInterstitialWithPlacementID<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">_interstitialPlacementID <\/span><span style=\"color: #88C0D0\">inViewController<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">delegate<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #ECEFF4\">]<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">#<\/span><span style=\"color: #81A1C1\">pragma mark<\/span><span style=\"color: #5E81AC\"> <\/span><span style=\"color: #81A1C1\">- native banner delegate(s)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didFinishLoadingNativeBannerAdWithPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didFinishLoadingNativeBannerAdWithPlacementID:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #81A1C1\">self<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">showAd<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didFailToLoadNativeBannerAdWithPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">error<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSError<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">error<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didFailToLoadNativeBannerAdWithPlacementID:%@ error:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> error<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didShowNativeBannerAdInView<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerView<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">placementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didShowNativeBannerAdInView:%@ placementID:%@ with extra: %@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\">bannerView<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\">extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">TenjinSDK <\/span><span style=\"color: #88C0D0\">topOnImpressionFromDict<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">extra<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didClickNativeBannerAdInView<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerView<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">placementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didClickNativeBannerAdInView:%@ placementID:%@ with extra: %@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\">bannerView<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\">extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didClickCloseButtonInNativeBannerAdView<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerView<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">placementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didClickCloseButtonInNativeBannerAdView:%@ placementID:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> bannerView<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didAutorefreshNativeBannerAdInView<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerView<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">placementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didAutorefreshNativeBannerAdInView:%@ placementID:%@ with extra: %@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\">bannerView<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\">extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didFailToAutorefreshNativeBannerAdInView<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerView<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">placementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">error<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSError<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">error<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didFailToAutorefreshNativeBannerAdInView:%@ placementID:%@ error:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> bannerView<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> error<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">- <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\">didNativeBannerDeeplinkOrJumpInView<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #D8DEE9FF\">ATNativeBannerView <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">bannerView<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">placementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">result<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #81A1C1\">BOOL<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">success<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didNativeBannerDeeplinkOrJumpInView:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">- <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\">didFinishLoadingSplashADWithPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">isTimeout<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #81A1C1\">BOOL<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">isTimeout<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didFinishLoadingSplashADWithPlacementID:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">- <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\">didTimeoutLoadingSplashADWithPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didTimeoutLoadingSplashADWithPlacementID:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">#<\/span><span style=\"color: #81A1C1\">pragma mark<\/span><span style=\"color: #5E81AC\"> <\/span><span style=\"color: #81A1C1\">- Interstitial delegate method(s)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didFinishLoadingADWithPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didFinishLoadingADWithPlacementID:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">didFailToLoadADWithPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">error<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSError<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">error<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::didFailToLoadADWithPlacementID:%@ error:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> error<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">interstitialDidShowForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialDidShowForPlacementID:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">&#91;<\/span><span style=\"color: #D8DEE9FF\">TenjinSDK <\/span><span style=\"color: #88C0D0\">topOnImpressionFromDict<\/span><span style=\"color: #ECEFF4\">:<\/span><span style=\"color: #D8DEE9FF\">extra<\/span><span style=\"color: #ECEFF4\">&#93;<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">interstitialFailedToShowForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">error<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSError<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">error<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialFailedToShowForPlacementID:%@ error:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> error<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">interstitialDidFailToPlayVideoForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">error<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSError<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">error<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialDidFailToPlayVideoForPlacementID:%@ error:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> error<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">interstitialDidStartPlayingVideoForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialDidStartPlayingVideoForPlacementID:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">interstitialDidEndPlayingVideoForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialDidEndPlayingVideoForPlacementID:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">interstitialDidCloseForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialDidCloseForPlacementID:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">-<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">interstitialDidClickForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialDidClickForPlacementID:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">- <\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #81A1C1\">void<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\">interstitialDeepLinkOrJumpForPlacementID<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSString<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">placementID<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">extra<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #8FBCBB\">NSDictionary<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">extra<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">result<\/span><span style=\"color: #ECEFF4\">:(<\/span><span style=\"color: #81A1C1\">BOOL<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9\">success<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">    <\/span><span style=\"color: #88C0D0\">NSLog<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #ECEFF4\">@&quot;<\/span><span style=\"color: #A3BE8C\">TJNTopOnViewController::interstitialDeepLinkOrJumpForPlacementID:%@ extra:%@<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> placementID<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> extra<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">@<\/span><span style=\"color: #81A1C1\">end<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>[IMPORTANT]<\/strong> If you have other services (such as Game Analytics) already fetching TopOn Impressions delegate, the Tenjin subscription will no longer work. In this case, you must manually pass the ad impression data from the delegate to TenjinSDK using the topOnImpressionFromJSON method. The JSON body should follow this format:<\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\"><\/ol>\n\n\n\n<p>Below is an example of impression level revenue data from TopOn:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Parameter<\/td><td>Required?<\/td><td>Example<\/td><\/tr><tr><td>adsource_index<\/td><td>No<\/td><td>0<\/td><\/tr><tr><td>ad_network_type<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>is_header_bidding_adsource<\/td><td>No<\/td><td>Int<\/td><\/tr><tr><td>ecpm_precision<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>adsource_id<\/td><td>No<\/td><td>5656<\/td><\/tr><tr><td>ecpm<\/td><td>No<\/td><td>1<\/td><\/tr><tr><td>scenario_id<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>custom_rule<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>sub_channel<\/td><td>No<\/td><td>testSubChannel<\/td><\/tr><tr><td>publisher_revenue<\/td><td><mark>Yes<\/mark><\/td><td>0.001<\/td><\/tr><tr><td>scenario_reward_name<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>channel<\/td><td>No<\/td><td>testChannel<\/td><\/tr><tr><td>topon_ad_format<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>segment_id<\/td><td>No<\/td><td>0<\/td><\/tr><tr><td>country<\/td><td>No<\/td><td>DE<\/td><\/tr><tr><td>show_id<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>scenario_reward_number<\/td><td>No<\/td><td>0<\/td><\/tr><tr><td>network_placement_id<\/td><td>No<\/td><td>ca-app-pub-3940256099942544%2F6300978111<\/td><\/tr><tr><td>topon_placement_id<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>ecpm_level<\/td><td>No<\/td><td>1<\/td><\/tr><tr><td>reward_user_custom_data<\/td><td>No<\/td><td>String<\/td><\/tr><tr><td>network_firm_id<\/td><td>No<\/td><td>2<\/td><\/tr><tr><td>currency<\/td><td>No<\/td><td>USD<\/td><\/tr><tr><td>precision<\/td><td>No<\/td><td>String<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>The Tenjin SDK can listen to TopOn impression level revenue data and send these events to Tenjin. This integration sends revenue information for each ad impression served from TopOn. Here are the steps to integrate: Below is an example of TopOn Banner integration and subscribing to impression events. Below is an example of impression level&#8230;<\/p>","protected":false},"author":25,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"doc_category":[235],"glossaries":[],"doc_tag":[],"class_list":["post-15522","docs","type-docs","status-publish","hentry","doc_category-topon"],"acf":[],"year_month":"2026-04","word_count":1240,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"mariusz.bijok","author_nicename":"mariusz-bijok","author_url":"https:\/\/tenjin.com\/zh\/blog\/author\/mariusz-bijok\/"},"doc_category_info":[{"term_name":"Topon","term_url":"https:\/\/tenjin.com\/zh\/docs\/category\/topon\/"}],"doc_tag_info":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>iOS - TopOn | Tenjin<\/title>\n<meta name=\"description\" content=\"iOS - TopOn Tenjin | %\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tenjin.com\/zh\/docs\/ios-topon\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"iOS - TopOn | Tenjin\" \/>\n<meta property=\"og:description\" content=\"iOS - TopOn Tenjin | %\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tenjin.com\/zh\/docs\/ios-topon\/\" \/>\n<meta property=\"og:site_name\" content=\"Tenjin\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-03T17:11:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@TenjinMMP\" \/>\n<meta name=\"twitter:label1\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/tenjin.com\/docs\/ios-topon\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/tenjin.com\/docs\/ios-topon\/\"},\"author\":{\"name\":\"mariusz.bijok\",\"@id\":\"https:\/\/tenjin.com\/#\/schema\/person\/2df6a56c45e0493e93ec6d7100750b77\"},\"headline\":\"iOS &#8211; TopOn\",\"datePublished\":\"2026-02-20T07:06:19+00:00\",\"dateModified\":\"2026-03-03T17:11:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/tenjin.com\/docs\/ios-topon\/\"},\"wordCount\":248,\"publisher\":{\"@id\":\"https:\/\/tenjin.com\/#organization\"},\"inLanguage\":\"zh-Hans\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/tenjin.com\/docs\/ios-topon\/\",\"url\":\"https:\/\/tenjin.com\/docs\/ios-topon\/\",\"name\":\"iOS - TopOn | Tenjin\",\"isPartOf\":{\"@id\":\"https:\/\/tenjin.com\/#website\"},\"datePublished\":\"2026-02-20T07:06:19+00:00\",\"dateModified\":\"2026-03-03T17:11:04+00:00\",\"description\":\"iOS - TopOn Tenjin | %\",\"breadcrumb\":{\"@id\":\"https:\/\/tenjin.com\/docs\/ios-topon\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/tenjin.com\/docs\/ios-topon\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/tenjin.com\/docs\/ios-topon\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/tenjin.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docs\",\"item\":\"https:\/\/tenjin.com\/docs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"iOS &#8211; TopOn\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/tenjin.com\/#website\",\"url\":\"https:\/\/tenjin.com\/\",\"name\":\"Tenjin\",\"description\":\"Growth Made Simple\",\"publisher\":{\"@id\":\"https:\/\/tenjin.com\/#organization\"},\"alternateName\":\"Tenjin - Mobile Measurement Partner\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/tenjin.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/tenjin.com\/#organization\",\"name\":\"Tenjin\",\"url\":\"https:\/\/tenjin.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/tenjin.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/04\/images.webp\",\"contentUrl\":\"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/04\/images.webp\",\"width\":429,\"height\":117,\"caption\":\"Tenjin\"},\"image\":{\"@id\":\"https:\/\/tenjin.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/TenjinMMP\",\"https:\/\/www.youtube.com\/@TenjinMMP\",\"https:\/\/www.linkedin.com\/company\/tenjin\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/tenjin.com\/#\/schema\/person\/2df6a56c45e0493e93ec6d7100750b77\",\"name\":\"mariusz.bijok\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/tenjin.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g\",\"caption\":\"mariusz.bijok\"},\"url\":\"https:\/\/tenjin.com\/zh\/blog\/author\/mariusz-bijok\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"iOS - TopOn | Tenjin","description":"iOS - TopOn Tenjin | %","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tenjin.com\/zh\/docs\/ios-topon\/","og_locale":"zh_CN","og_type":"article","og_title":"iOS - TopOn | Tenjin","og_description":"iOS - TopOn Tenjin | %","og_url":"https:\/\/tenjin.com\/zh\/docs\/ios-topon\/","og_site_name":"Tenjin","article_modified_time":"2026-03-03T17:11:04+00:00","twitter_card":"summary_large_image","twitter_site":"@TenjinMMP","twitter_misc":{"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tenjin.com\/docs\/ios-topon\/#article","isPartOf":{"@id":"https:\/\/tenjin.com\/docs\/ios-topon\/"},"author":{"name":"mariusz.bijok","@id":"https:\/\/tenjin.com\/#\/schema\/person\/2df6a56c45e0493e93ec6d7100750b77"},"headline":"iOS &#8211; TopOn","datePublished":"2026-02-20T07:06:19+00:00","dateModified":"2026-03-03T17:11:04+00:00","mainEntityOfPage":{"@id":"https:\/\/tenjin.com\/docs\/ios-topon\/"},"wordCount":248,"publisher":{"@id":"https:\/\/tenjin.com\/#organization"},"inLanguage":"zh-Hans"},{"@type":"WebPage","@id":"https:\/\/tenjin.com\/docs\/ios-topon\/","url":"https:\/\/tenjin.com\/docs\/ios-topon\/","name":"iOS - TopOn | Tenjin","isPartOf":{"@id":"https:\/\/tenjin.com\/#website"},"datePublished":"2026-02-20T07:06:19+00:00","dateModified":"2026-03-03T17:11:04+00:00","description":"iOS - TopOn Tenjin | %","breadcrumb":{"@id":"https:\/\/tenjin.com\/docs\/ios-topon\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tenjin.com\/docs\/ios-topon\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tenjin.com\/docs\/ios-topon\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/tenjin.com\/"},{"@type":"ListItem","position":2,"name":"Docs","item":"https:\/\/tenjin.com\/docs\/"},{"@type":"ListItem","position":3,"name":"iOS &#8211; TopOn"}]},{"@type":"WebSite","@id":"https:\/\/tenjin.com\/#website","url":"https:\/\/tenjin.com\/","name":"Tenjin","description":"\u8ba9\u589e\u957f\u53d8\u7b80\u5355","publisher":{"@id":"https:\/\/tenjin.com\/#organization"},"alternateName":"Tenjin - Mobile Measurement Partner","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tenjin.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":"Organization","@id":"https:\/\/tenjin.com\/#organization","name":"Tenjin","url":"https:\/\/tenjin.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/tenjin.com\/#\/schema\/logo\/image\/","url":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/04\/images.webp","contentUrl":"https:\/\/tenjin.com\/wp-content\/uploads\/2026\/04\/images.webp","width":429,"height":117,"caption":"Tenjin"},"image":{"@id":"https:\/\/tenjin.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/TenjinMMP","https:\/\/www.youtube.com\/@TenjinMMP","https:\/\/www.linkedin.com\/company\/tenjin"]},{"@type":"Person","@id":"https:\/\/tenjin.com\/#\/schema\/person\/2df6a56c45e0493e93ec6d7100750b77","name":"mariusz.bijok","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/tenjin.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed77b923271ae0c54cf6cc2b3d031d191c17791d92b8a5f5d186753477fbbdb9?s=96&d=mm&r=g","caption":"mariusz.bijok"},"url":"https:\/\/tenjin.com\/zh\/blog\/author\/mariusz-bijok\/"}]}},"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/15522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/comments?post=15522"}],"version-history":[{"count":2,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/15522\/revisions"}],"predecessor-version":[{"id":15999,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/docs\/15522\/revisions\/15999"}],"wp:attachment":[{"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/media?parent=15522"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_category?post=15522"},{"taxonomy":"glossaries","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/glossaries?post=15522"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/tenjin.com\/zh\/wp-json\/wp\/v2\/doc_tag?post=15522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}