如果發布商有意採用 Google Mobile Ads iOS SDK 整合廣告中繼資料,歡迎參閱本指南。
必要條件
正在擷取廣告中繼資料
如要讓應用程式進一步瞭解放送的廣告,請將廣告設為自己的
GADAdMetadataDelegate
。接著,您可以在 GADAdMetadataDelegate
上實作 adMetadataDidChange:
方法,監聽廣告中繼資料的變更。呼叫這個委派項目後,請檢查廣告的 adMetadata
屬性。
廣告載入後或載入後中繼資料非同步變更時,系統會呼叫 adMetadataDidChange:
。無法保證廣告中繼資料在載入時可用,因此建議您等待這個回呼,再存取廣告的中繼資料。
以下程式碼範例說明如何擷取獎勵廣告的廣告中繼資料:
@interface ViewController () <GADFullScreenContentDelegate, GADAdMetadataDelegate>
@end
@implementation ViewController
- (void)loadRewardedAd {
*request = [ request];
[GADRewardedAd
loadWithAdUnitID:@"ca-app-pub-3940256099942544/4806952744"
request:request
completionHandler:^(GADRewardedAd *ad, NSError *error) {
if (error) {
NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]);
return;
}
self.rewardedAd = ad;
self.rewardedAd.fullScreenContentDelegate = self;
/// Set the ad to be the delegate of its ad metadata.
self.rewardedAd.adMetadataDelegate = self;
NSLog(@"Rewarded ad loaded.");
}];
}
/#pragma mark GADAdMetadataDelegate implementation
- (void)adMetadataDidChange:(id<GADAdMetadataProvider>)ad {
NSDictionary<NSString*, id> *adMetadata = _rewardedAd.adMetadata;
NSString *adId = adMetadata[@"AdId"];
}
擷取中繼資料後,您可以檢查 Bundle 中您感興趣的鍵。不同類型的廣告可能會有相關聯的不同廣告中繼資料鍵。VAST 影片廣告具有下列鍵:
鍵 | 類型 | 說明 |
---|---|---|
AdId |
字串 | 廣告 ID,如果沒有則為空字串。 |
AdTitle |
字串 | 標題 (如未指定,則為空白)。 |
CreativeDurationMs |
整數 | 所選廣告素材的時間長度 (以毫秒為單位),-1 如果是非線性廣告素材。 |
TraffickingParameters |
字串 | 放送參數,如果沒有,則為空字串。 |
DealId |
字串 | 目前廣告包裝函式鏈中的第一個交易 ID (從頂端開始),如果沒有這項資訊,則為空字串。 |
AdSystem |
字串 | 廣告的來源廣告伺服器,如果無法使用則為空白。 |
CreativeId |
字串 | 所選廣告素材的廣告 ID,如果沒有則為空白。 |
MediaURL |
字串 | 所選媒體的網址。 |
Wrappers |
陣列 |
這個陣列會填入元素,從最內層的 Wrapper 廣告 (靠近內嵌廣告) 開始,向外移動到最外層的 Wrapper 廣告。陣列中的每個元素都是字典,包含下列鍵和值。
|