廣告中繼資料

本指南適用於整合廣告中繼資料與 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"];
}

擷取中繼資料後,您可以針對關注的鍵檢查套裝組合。不同類型的廣告可能有不同的廣告中繼資料鍵。VAST 影片廣告包含下列鍵:

類型 說明
AdId 字串 廣告 ID;如果沒有,則提供空白字串。
AdTitle 字串 標題 (如未指定,則為空白)。
CreativeDurationMs 整數 所選廣告素材的時間長度 (以毫秒為單位);如果是非線性廣告,則為 -1
TraffickingParameters 字串 廣告投放參數,如果沒有的話,則會顯示空字串。
DealId 字串 目前廣告的包裝函式鏈結中出現的第一個交易 ID,從頂端開始;如果無法取得這項資訊,則為空字串。
AdSystem 字串 廣告的來源廣告伺服器;如果不適用,則為空白。
CreativeId 字串 為廣告選取的廣告素材 ID;如果不適用,則為空白。
MediaURL 字串 所選媒體的網址。
Wrappers 陣列 陣列會在最內部的包裝函式廣告 (靠近內嵌廣告附近) 開始填入元素,從最外層的包裝函式廣告開始。陣列中的每個元素都是字典,包含下列鍵和值。
AdId
「字串」。用於包裝函式廣告的廣告 ID;如果沒有可用的,則為空白。
AdSystem
「字串」。用於包裝函式廣告的廣告系統;如果沒有,則會空白。
CreativeId
「字串」。用於包裝函式廣告的廣告素材 ID;如果沒有可用的,則為空白。