檢視 AdMob Mediation Banner 的原始碼
←
AdMob Mediation Banner
跳至導覽
跳至搜尋
由於下列原因,您沒有權限進行編輯此頁面的動作:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
首先將AdMob和TAMedia SDK整合至專案中,AdMob SDK可以在這裡下載(https://developers.google.com/mobile-ads-sdk/download?#downloadios)<br>''' 接著在AdMob Mediation新增Custom Event (https://mediation.admob.com) <br>''' 新增Custom Event的詳細說明可以參考 (https://developers.google.com/mobile-ads-sdk/docs/admob/mediation#ios) <br>''' 最後,在專案中加入與Custom Event對應的Class,其中Custom Event的Class Name需要和新增的Class Name保持一致,例如Custom Event的Class Name是TADCustomBanner,則新增的Class Name也必須為TADCustomBanner。<br><br> [[IOS SDK Developer Guide v2|回iOS首頁]]<br> == Mediation View Controller == '''// MediationViewController.h''' '''// 使用 GADBannerView 物件來介接 TADBannerView''' @property (nonatomic, strong) GADBannerView *_adBanner; '''// MediationViewController.m''' - (void)viewWillDisappear:(BOOL)animated { '''// MediationViewController 的 view 消失前, 將 _adBanner 及其 delegate 設為 nil''' if (_adBanner != nil) { _adBanner.delegate = nil; _adBanner = nil; } } == Custom Banner View == '''// TADCustomBanner.h''' '''// 匯入 TAMedia SDK 定義''' #import <TAMediaAdsFramework/TAMediaAdsFramework.h> '''// 匯入 Admob SDK 定義''' #import "GADCustomEventBanner.h" @interface TADCustomBanner : NSObject<GADCustomEventBanner, TADBannerViewDelegate> { '''// 以 instant variable 的方式, 宣告 bannerView 物件''' TADBannerView *_bannerView; } @property (nonatomic, weak) id<GADCustomEventBannerDelegate> delegate; @end '''// TADCustomBanner.m''' #import "TADCustomBanner.h" @implementation TADCustomBanner @synthesize delegate = _delegate; - (void)requestBannerAd:(GADAdSize)adSize parameter:(NSString *)serverParameter label:(NSString *)serverLabel request:(GADCustomEventRequest *)customEventRequest { '''// 將 GADCustomEventRequest 物件裡的資訊轉入 TADRequest 物件''' TADRequest *tadRequest = [TADRequest request]; tadRequest.testing = customEventRequest.isTesting; tadRequest.gender = (TADGender)customEventRequest.userGender; tadRequest.birthday = customEventRequest.userBirthday; [tadRequest setLocationWithLatitude:customEventRequest.userLatitude longitude:customEventRequest.userLongitude accuracy:customEventRequest.userLocationAccuracyInMeters]; '''// bannerView 物件初始化''' if (_bannerView == nil) { '''// 若是你使用admob smart banner, 請記得要使用size常數''' '''// 因為 smart banner 沒有既定 size ''' '''// e.g. ''' '''// _bannerView = [[TADBannerView alloc] initWithAdSize:kTADAdSizeBanner];''' '''// ''' _bannerView = [[TADBannerView alloc] initWithAdSize:TADAdSizeFromCGSize(adSize.size)]; } '''// 必須要設定delegate''' _bannerView.delegate = self; '''// serverParameter 為 AD Unit ID, 在 Admob 裡設定''' _bannerView.adUnitID = serverParameter; '''// 必需要設定rootViewController''' _bannerView.rootViewController = [[UIApplication sharedApplication] keyWindow].rootViewController; '''// 載入廣告''' [_bannerView loadRequest:tadRequest]; } #pragma mark - #pragma mark - TADBannerViewDelegate - (void)adViewDidReceiveAd:(TADBannerView *)view { NSLog(@"CustomBanner - adViewDidReceiveAd!!"); [_delegate customEventBanner:self didReceiveAd:view]; } - (void)adView:(TADBannerView *)view didFailToReceiveAdWithError:(NSError *)error { NSLog(@"CustomBanner - didFailToReceiveAdWithError!! error: %@", error); [_delegate customEventBanner:self didFailAd:error]; } - (void)adViewWillPresentScreen:(TADBannerView *)adView { NSLog(@"CustomBanner - adViewWillPresentScreen!!"); [_delegate customEventBannerWillPresentModal:self]; } - (void)adViewWillDismissScreen:(TADBannerView *)adView { NSLog(@"CustomBanner - adViewWillDismissScreen!!"); [_delegate customEventBannerWillDismissModal:self]; } - (void)adViewDidDismissScreen:(TADBannerView *)adView { NSLog(@"CustomBanner - adViewDidDismissScreen!!"); [_delegate customEventBannerDidDismissModal:self]; } - (void)adViewWillLeaveApplication:(TADBannerView *)adView { NSLog(@"CustomBanner - adViewWillLeaveApplication!!"); [_delegate customEventBannerWillLeaveApplication:self]; } - (void)dealloc { NSLog(@"CustomBanner - dealloc!!"); '''// Custom物件消失前, 要將 bannerView 及其 delegate 設為 nil, 須在 Main thread 上執行''' if ([NSThread isMainThread]) { if (_bannerView != nil) { _bannerView.delegate = nil; _bannerView = nil; } } else { dispatch_async(dispatch_get_main_queue(), ^{ if (_bannerView != nil) { _bannerView.delegate = nil; _bannerView = nil; } }); } } @end [[IOS SDK 2.0 Developer Guide|回 iOS首頁]]
返回到「
AdMob Mediation Banner
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
已展開
已摺疊
視圖
閱讀
檢視原始碼
檢視歷史
更多
已展開
已摺疊
搜尋
導覽
首頁
近期變更
隨機頁面
有關 MediaWiki 的說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊