「SDK8 Interstitial」修訂間的差異
跳至導覽
跳至搜尋
imported>Wikiuser |
imported>Wikiuser |
||
行 14: | 行 14: | ||
:*設定廣告單元編號 | :*設定廣告單元編號 | ||
== InterstitialViewController.swift == | |||
<source> | |||
import TAMediaAdsFramework | |||
class InterstitialViewController: UIViewController { | |||
var interstitialView: TADInterstitial? | |||
override func viewDidLoad() { | |||
super.viewDidLoad() | |||
requestAd() | |||
} | |||
func requestAd() { | |||
self.resultLabel.text = "Loading..." | |||
let request = TADRequest() | |||
request.setLocationWithLatitude(25.02246916213678, longitude: 121.54834205241194, accuracy: 1) | |||
request.showLog = true | |||
interstitialView = TADInterstitial() | |||
interstitialView?.delegate = self | |||
//是否使用麥克風廣告 default為Yes,依需求修改 [註1] | |||
interstitialView?.turnOnMicrophone = false | |||
//讓廣告控制audioSessionControl default為Yes,依需求修改 [註2] | |||
interstitialView?.allowAudioSessionControl = true | |||
interstitialView?.adUnitID = [_YOUR_AD_UNIT_AD_] | |||
interstitialView?.load(request) | |||
} | |||
} | |||
</source> | |||
== TADInterstitialDelegate == | == TADInterstitialDelegate == | ||
<source> | |||
extension InterstitialViewController: TADInterstitialDelegate { | |||
// 廣告取得成功,可以在此時間點及之後顯示呈現廣告 | |||
func interstitialDidReceiveAd(_ ad: TADInterstitial!) { | |||
ad.present(fromRootViewController: self) | |||
} | |||
// 廣告取得失敗 | |||
func interstitial(_ ad: TADInterstitial!, didFailToReceiveAdWithError error: TADRequestError!) { | |||
} | |||
// Interstitial廣告呈現之前呼叫, 注意使用者可能會在廣告內按下連結(網頁, AppStore, ...)而因此離開應用程式, 可以在這function中處理該暫停之項目 | |||
func interstitialWillPresentScreen(_ ad: TADInterstitial!) { | |||
} | |||
// Interstitial廣告關閉, 在螢幕上消失之前呼叫, 再次提醒在Interstitail消失前, 必須將Interstitial及delegate設為nil (可以在這個function中執行) | |||
func interstitialWillDismissScreen(_ ad: TADInterstitial!) { | |||
self.interstitialView?.delegate = nil; | |||
self.interstitialView = nil; | |||
} | |||
// Interstitial廣告關閉, 在螢幕上消失之後呼叫 | |||
func interstitialDidDismissScreen(_ ad: TADInterstitial!) { | |||
} | |||
// 使用者在廣告內按下連結(網頁, AppStore, ...)而因此離開應用程式之前呼叫 | |||
func interstitialWillLeaveApplication(_ ad: TADInterstitial!) { | |||
} | |||
} | |||
</source> | |||
於 2021年8月5日 (四) 07:26 的修訂
Interstitial廣告可以在app啟動, 視頻載入期間或遊戲暫停的時候,呈現內容豐富的HTML5網頁。
以下將告訴您如何讓您的app顯示Interstitial廣告。
加入 TADInterstitial
TADInterstitial 的用法與 TADBannerView 相似,簡單的步驟即可加入TADInterstitial 建議在 UIViewController 中執行以下步驟:
- 匯入 #import <TAMediaAdsFramework/TAMediaAdsFramework.h>
- 在 UIViewController 中宣告 TADInterstitial 執行個體
- 建立插頁式廣告
- 設定廣告單元編號
InterstitialViewController.swift
import TAMediaAdsFramework
class InterstitialViewController: UIViewController {
var interstitialView: TADInterstitial?
override func viewDidLoad() {
super.viewDidLoad()
requestAd()
}
func requestAd() {
self.resultLabel.text = "Loading..."
let request = TADRequest()
request.setLocationWithLatitude(25.02246916213678, longitude: 121.54834205241194, accuracy: 1)
request.showLog = true
interstitialView = TADInterstitial()
interstitialView?.delegate = self
//是否使用麥克風廣告 default為Yes,依需求修改 [註1]
interstitialView?.turnOnMicrophone = false
//讓廣告控制audioSessionControl default為Yes,依需求修改 [註2]
interstitialView?.allowAudioSessionControl = true
interstitialView?.adUnitID = [_YOUR_AD_UNIT_AD_]
interstitialView?.load(request)
}
}
TADInterstitialDelegate
extension InterstitialViewController: TADInterstitialDelegate {
// 廣告取得成功,可以在此時間點及之後顯示呈現廣告
func interstitialDidReceiveAd(_ ad: TADInterstitial!) {
ad.present(fromRootViewController: self)
}
// 廣告取得失敗
func interstitial(_ ad: TADInterstitial!, didFailToReceiveAdWithError error: TADRequestError!) {
}
// Interstitial廣告呈現之前呼叫, 注意使用者可能會在廣告內按下連結(網頁, AppStore, ...)而因此離開應用程式, 可以在這function中處理該暫停之項目
func interstitialWillPresentScreen(_ ad: TADInterstitial!) {
}
// Interstitial廣告關閉, 在螢幕上消失之前呼叫, 再次提醒在Interstitail消失前, 必須將Interstitial及delegate設為nil (可以在這個function中執行)
func interstitialWillDismissScreen(_ ad: TADInterstitial!) {
self.interstitialView?.delegate = nil;
self.interstitialView = nil;
}
// Interstitial廣告關閉, 在螢幕上消失之後呼叫
func interstitialDidDismissScreen(_ ad: TADInterstitial!) {
}
// 使用者在廣告內按下連結(網頁, AppStore, ...)而因此離開應用程式之前呼叫
func interstitialWillLeaveApplication(_ ad: TADInterstitial!) {
}
}
[註1]TADBannerView 及 TADInterstitial增加此屬性,Default為YES。設為YES會去使用TADMicrophoneDetector物件,進而拿到麥克風類型廣告,與使用者互動,設為NO,則回傳server無Microphone。因為使用麥克風廣告會造成音樂類型的app中斷播放,建議音樂類型app在此設為NO。
[註2]allowAudioSessionControl設為YES以及原本app的AudioSession category為AVAudioSessionCategorySoloAmbient或AVAudioSessionCategoryPlayback時,將由SDK控制AudioSession設定active及改變category以滿足背景音樂中斷及續撥的行為。若是設為NO或category原本設定並非上述兩種SDK將不會去對AudioSession做改變,而是交給開發者在插頁出現及消失時,依據想要的行為做設定。