IOS Anchor
於 2018年6月5日 (二) 05:44 由 imported>Wikiuser 所做的修訂
Anchor廣告的特性是會位於ViewController正下方,圖片依照640x280、影片依照560x315的比例,在不超過畫面高度1/3內,自動fit螢幕寬度,當螢幕轉向時因高度改變會依照上述特性調整廣告尺寸。
加入 TADInReadAnchor
- 匯入廣告標頭檔
- 在 UIViewController 中宣告 TADInReadAdAnchor 執行個體
- 帶入需要呈現廣告的ViewController,初始化廣告
- 建立Request請求廣告
@interface AnchorSampleVC () <TADInReadAnchorDelegate> @property (nonatomic,strong) TADInReadAnchor *inReadAnchorAd; @end @implementation AnchorSampleVC - (void)viewDidLoad { [super viewDidLoad]; [self requestAnchor]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; // 通知廣告頁面將出現 [self.inReadAnchorAd viewWillAppear]; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; // 通知廣告頁面將消失 [self.inReadAnchorAd viewWillDisappear]; } - (void)requestAnchor { //帶入需要呈現廣告的ViewController self.inReadAnchorAd = [[TADInReadAnchor alloc] initAnchorWithViewController:self]; // 設定 AD Unit ID self.inReadAnchorAd.adUnitID = [_YOUR_AD_UNIT_ID_]; // 必須要設定delegate self.inReadAnchorAd.delegate = self; TADRequest *request = [TADRequest request]; // 顯示log request.showLog = YES; // Type: TADGender request.gender = [_GENDER_]; // Set birthday [request setBirthdayWithYear:[_YEAR_] month:[_MONTH_] day:[_DAY_]]; // Set location [request setLocationWithLatitude:[_LATITUDE_] longitude:[_LONGITUDE_] accuracy:[_ACCURACY_]]; // 載入廣告 [self.inReadAnchorAd loadRequest:request]; }
TADInReadAdRectDelegate
// 廣告載入成功後被呼叫 - (void)anchorDidReceiveAd:(TADInReadAnchor *)anchor { } // 廣告載入失敗後被呼叫 - (void)anchor:(TADInReadAnchor *)anchor didFailToReceiveAdWithError:(TADRequestError *)error { } // 廣告將出現時呼叫 - (void)anchorWillShow:(TADInReadAnchor *)anchor { } // 應用程式及將改在背景執行或中止運作前被呼叫 - (void)anchorWillLeaveApplication:(TADInReadAnchor *)anchor { } //使用者將anchor關閉時呼叫 - (void)anchorUserPressedCloseAd { //user關閉anchor後 須將廣告及delegate設為nil self.inReadAnchorAd.delegate = nil; self.inReadAnchorAd = nil; }
特別注意
- viewController消失前, 必須將 inReadAnchor 及其 delegate 設為 nil
- (IBAction)backButtonPressed:(id)sender { [self dismissViewControllerAnimated:YES completion:nil]; if (self.inReadAnchorAd != nil) { self.inReadAnchorAd.delegate = nil; self.inReadAnchorAd = nil; } }