原生廣告

原生廣告是一種透過 UI 元件向使用者顯示的廣告素材資源 這是平台的原生功能這裡顯示的類別與常用類別相同 ,而且格式可以配合應用程式的視覺設計。

原生廣告載入時,應用程式會收到內含其素材資源的廣告物件。 和應用程式 (而非 Google Mobile Ads SDK) 是 。

廣泛來說,成功導入原生廣告的方法如下: 使用 SDK 載入廣告,然後在應用程式中顯示廣告素材。

本頁說明如何使用 SDK 載入 原生廣告

必要條件

一律使用測試廣告進行測試

建構及測試應用程式時,請務必使用測試廣告,而非 現場及正式環境廣告

要載入測試廣告,最簡單的方法是使用我們專屬的測試廣告單元編號。 iOS 上的原生廣告:

/6499/example/native

這是經過特別設定,每次請求都會傳回測試廣告。 並在程式設計、測試和偵錯時用於自己的應用程式。只要確定 請先改用您自己的廣告單元 ID,再發布應用程式。

若要進一步瞭解 Google Mobile Ads SDK 測試廣告的運作方式,請參閱: 測試廣告

載入廣告

原生廣告會與 GADAdLoader敬上 類別,並根據 GADAdLoaderDelegate 因此效能相當卓越

除了系統定義的原生格式外,您也可以建立 您的自訂原生廣告格式 用於直接銷售原生廣告使用自訂原生廣告格式 將任意結構化資料傳送至您的應用程式。這類廣告會由 GADCustomNativeAd 類別。

初始化廣告載入器

您必須先初始化廣告載入器,才能載入廣告。 以下程式碼示範如何初始化 GADAdLoader

Swift

adLoader = GADAdLoader(adUnitID: "/6499/example/native",
    rootViewController: self,
    adTypes: [ .native ],
    options: [ ... ad loader options objects ... ])
adLoader.delegate = self

Objective-C

self.adLoader = [[GADAdLoader alloc]
      initWithAdUnitID:@"/6499/example/native"
    rootViewController:rootViewController
               adTypes:@[ GADAdLoaderAdTypeNative ]
               options:@[ ... ad loader options objects ... ]];
self.adLoader.delegate = self;

您需要廣告單元 ID (可使用測試 ID) 和常數,才能傳入 adTypes 陣列,用於指定您想請求的原生格式,以及任何 您要在 options 參數中設定的選項。系統會列出 您可以在設定原生廣告options 選項頁面

adTypes 陣列應包含 下列一或多個常數 :

導入廣告載入器委派

廣告載入器委派項目必須導入您的廣告類型專用的通訊協定。 原生廣告中的 GADNativeAdLoaderDelegate 通訊協定包含針對傳送至 。

Swift

public func adLoader(_ adLoader: GADAdLoader,
            didReceive nativeAd: GADNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveNativeAd:(GADNativeAd *)nativeAd;

GADCustomNativeAdLoaderDelegate 通訊協定包含傳送至 自訂範本廣告載入時的委派代表。

Swift

func adLoader(_ adLoader: GADAdLoader,
  Receive customNativeAd: GADCustomNativeAd)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didReceiveCustomNativeAd:(GADCustomNativeAd *) customNativeAd;

請求廣告

初始化 GADAdLoader 後,請呼叫 loadRequest: 方法以 請求廣告:

Swift

adLoader.load(GAMRequest())

Objective-C

[self.adLoader loadRequest:[GAMRequest request]];

loadRequest:敬上 方法 GADAdLoader 接受相同的 GAMRequest 將物件轉換成橫幅廣告和插頁式廣告您可以使用要求物件,新增 和指定目標資訊 和其他廣告類型一樣

正在判斷載入完成的時間

應用程式呼叫 loadRequest: 後,可使用 呼叫:

請求單一廣告時,每次呼叫這兩種方法都會導致一次呼叫。

處理失敗的要求

上述通訊協定會擴充 GADAdLoaderDelegate 通訊協定,定義 訊息。

Swift

public func adLoader(_ adLoader: GADAdLoader,
    didFailToReceiveAdWithError error: NSError)

Objective-C

- (void)adLoader:(GADAdLoader *)adLoader
    didFailToReceiveAdWithError:(NSError *)error;

接收原生廣告事件通知

如要收到原生廣告互動相關事件的通知,請設定委派 屬性:

Swift

nativeAd.delegate = self

Objective-C

nativeAd.delegate = self;

接著導入 GADNativeAdDelegate敬上 接聽下列委派呼叫:

Swift

func nativeAdDidRecordImpression(_ nativeAd: GADNativeAd) {
  // The native ad was shown.
}

func nativeAdDidRecordClick(_ nativeAd: GADNativeAd) {
  // The native ad was clicked on.
}

func nativeAdWillPresentScreen(_ nativeAd: GADNativeAd) {
  // The native ad will present a full screen view.
}

func nativeAdWillDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad will dismiss a full screen view.
}

func nativeAdDidDismissScreen(_ nativeAd: GADNativeAd) {
  // The native ad did dismiss a full screen view.
}

func nativeAdWillLeaveApplication(_ nativeAd: GADNativeAd) {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

Objective-C

- (void)nativeAdDidRecordImpression:(GADNativeAd *)nativeAd {
  // The native ad was shown.
}

- (void)nativeAdDidRecordClick:(GADNativeAd *)nativeAd {
  // The native ad was clicked on.
}

- (void)nativeAdWillPresentScreen:(GADNativeAd *)nativeAd {
  // The native ad will present a full screen view.
}

- (void)nativeAdWillDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad will dismiss a full screen view.
}

- (void)nativeAdDidDismissScreen:(GADNativeAd *)nativeAd {
  // The native ad did dismiss a full screen view.
}

- (void)nativeAdWillLeaveApplication:(GADNativeAd *)nativeAd {
  // The native ad will cause the app to become inactive and
  // open a new app.
}

最佳做法

載入廣告時,請遵守這些規則。

  • 在清單中使用原生廣告的應用程式,應預先快取廣告清單。

  • 預先快取廣告時,請清除快取,並在一小時後重新載入。

  • 除非上一個要求前,請勿對 GADAdLoader 再次呼叫 loadRequest: 載入完成,如 adLoaderDidFinishLoading: 所示。

顯示您的廣告

廣告載入完畢後,剩下的部分就是向使用者顯示。 前往我們的原生進階廣告課程 指南