廣告中繼資料

選取平台: Android iOS

本指南適用於透過 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 廣告。陣列中的每個元素都是字典,包含下列鍵和值。
AdId
「字串」。用於包裝廣告的廣告 ID,如果沒有則為空白。
AdSystem
「字串」。用於包裝廣告的廣告系統,如果沒有則為空白。
CreativeId
「字串」。用於包裝函式廣告的廣告素材 ID,如果沒有則為空白。