本指南將說明如何使用 Google Mobile Ads SDK,透過中介服務載入並顯示 Unity 廣告,並涵蓋刊登序列整合。我們會說明如何將 Unity Ads 新增至廣告單元的中介服務設定,以及如何將 Unity Ads SDK 和轉接程式整合至 Android 應用程式。
支援的整合項目和廣告格式
Unity Ads 的 Ad Manager 中介服務轉接程式具備下列功能:
整合 | |
---|---|
出價 | |
瀑布 | |
格式 | |
橫幅廣告 | |
插頁式 | |
已獲得獎勵 | |
原生 |
需求條件
- Android API 級別 19 以上
最新版 Google Mobile Ads SDK
完成中介服務 入門指南
步驟 1:在 Unity Ads UI 中調整設定
註冊或登入 Unity Ads。
建立專案
在 Unity Ads 資訊主頁中,前往「Projects」(專案),然後按一下「Create Project」(建立專案)。
填寫表單然後按一下「Create Project」(建立專案) 來新增專案。
依序前往「營利」 >「開始使用」,然後按一下「開始使用」。
在「專案設定」互動視窗中,選取「我打算使用中介服務」和「中介服務合作夥伴專用的 Google Admob」,然後點選「下一步」。
選取廣告設定,然後點選「下一步」。
填寫表單,然後按一下「Add Project」。
記下「遊戲 ID」。
建立廣告單元
依序前往「營利」 >「廣告單元」,然後按一下「新增廣告單元」。
輸入「廣告單元名稱」,然後選取您的「平台」和「廣告格式」。
最後,按一下「建立」來儲存廣告單元。
新增刊登位置
建立專案後,請依序點選「營利」 >「刊登位置」。如要 建立新的刊登位置,請按一下廣告單元的「新增刊登位置」。
填寫必要的詳細資料,然後按一下「新增刊登位置」。
記下「刊登位置 ID」。
擷取憑證
除了「遊戲 ID」和「刊登位置 ID」,您還需要 Unity Ads API 金鑰和機構組織核心 ID,才能設定Ad Manager 廣告單元 ID。
依序前往「營利」 >「設定」 >「API 管理」,並記下「Monetize Stats API Access Key」(營利統計資料 API 存取金鑰)。
接著,依序前往「營利」 >「機構設定」,並記下「機構核心 ID」。
開啟測試模式
您可以在 Unity Ads 資訊主頁啟用測試模式。在專案設定下方,選取「Testing」分頁標籤。
如要強制執行應用程式的測試模式,請按一下 Google Play 商店 勾選「覆寫用戶端測試模式」,然後選取「所有裝置的強制測試模式開啟 (即使用測試廣告)」。
或者,您也可以點選「Add Test Device」按鈕,為特定裝置啟用測試模式。
填寫表單然後按一下「Save」。
步驟 2:在 Ad Manager 使用者介面中設定 Unity Ads 需求
調整廣告單元中介服務設定
登入 Ad Manager 帳戶。
依序前往「廣告放送」>「收益群組」,然後按一下「新增收益群組」按鈕。
輸入收益群組的專屬「名稱」、將「狀態」設為「有效」、選取「廣告格式」,然後將「廣告空間類型」設為「行動應用程式」。接著在「指定目標」>「廣告空間」部分下,在「廣告空間」和「行動應用程式」下方,選取要新增中介服務的廣告單元。
接著,按一下「新增收益夥伴」按鈕。
如果您已經有Unity Ads的收益夥伴,則可以選取。否則,請選取「建立新的收益夥伴」。
選取「Unity Ads」做為「廣告聯播網」,然後輸入不重複的名稱並啟用「中介服務」。
開啟「自動資料收集」,然後輸入上一節中取得的API Key and Organization core ID 。
選取 [收益夥伴] 後,請選擇「Mobile SDK 中介服務」做為整合類型,選擇 Android 做為平台,狀態則選為「Active」。輸入上一節中取得的Game ID and Placement ID 。然後輸入「預設千次曝光出價」的值。
完成後,按一下頁面下方的「儲存」。
新增 Unity Ads 至 GDPR 和美國州級法規廣告合作夥伴名單
請按照 GDPR 設定 和 美國州級法規設定 ,在 Ad Manager UI 和美國州級法規廣告合作夥伴清單中新增 Unity Ads。
步驟 3:匯入 Unity Ads SDK 和轉接程式
Android Studio 整合 (建議)
在應用程式層級的 build.gradle.kts
檔案中,新增以下實作依附元件和設定。使用最新版的 Unity Ads SDK 和轉接程式:
dependencies {
implementation("com.google.android.gms:play-services-ads:23.0.0")
implementation("com.unity3d.ads:unity-ads:4.9.3")
implementation("com.google.ads.mediation:unity:4.9.3.0")
}
手動整合
從 GitHub 存放區下載最新的 Unity Ads SDK (
unity-ads.aar
),並加進專案。前往 Google Maven 存放區上的 Unity Ads 轉接程式構件。選取最新版本,下載 Unity Ads 轉接程式的
.aar
檔案,然後新增至專案。
步驟 4:在 Unity Ads SDK 中導入隱私權設定
歐盟地區同意聲明和 GDPR
根據 Google 歐盟地區使用者同意授權政策,您必須向歐洲經濟區 (EEA) 的使用者揭露特定揭露事項,並向歐洲經濟區 (EEA) 的使用者取得有關裝置 ID 和個人資料使用行為的同意。本政策是配合《歐盟地區電子通訊隱私指令》和《一般資料保護規則》(GDPR) 而製定。取得同意聲明時,您必須指出中介服務鏈中每個可能收集、接收或使用個人資料的廣告聯播網,並提供各聯播網使用情形的相關資訊。Google 目前無法將使用者的同意聲明選項自動傳送至這類聯播網。
在 SDK 2.0.0 版中,Unity Ads 新增了支援隱私權設定的 API。下列程式碼範例說明如何將這項同意聲明資訊傳遞至 Unity Ads SDK。如果您選擇手動將同意聲明資訊傳送至 Unity Ads SDK,建議您先呼叫這段程式碼,再透過 Google Mobile Ads SDK 請求廣告。
Java
import com.unity3d.ads.metadata.MetaData;
// ...
MetaData gdprMetaData = new MetaData(this);
gdprMetaData.set("gdpr.consent", true);
gdprMetaData.commit();
Kotlin
import com.unity3d.ads.metadata.MetaData
// ...
val gdprMetaData = MetaData(this)
gdprMetaData["gdpr.consent"] = true
gdprMetaData.commit()
請參閱 Unity Ads 的「隱私權同意聲明和資料 API」和「 遵循 GDPR」 指南,進一步瞭解詳細資訊及每種方法可提供的值。
美國州級隱私權法律
美國州級隱私權法律 規定,使用者必須有權選擇拒絕「販售」自己的「個人資訊」(相關條款定義了這些條款),並在「販售」方首頁上提供醒目的「請勿銷售我的個人資訊」連結。美國各州隱私權法律法規遵循指南可讓您為 Google 廣告放送啟用受限的資料處理模式,但 Google 無法將這項設定套用至中介服務鏈中的每個廣告聯播網。因此,您必須在中介服務鏈中逐一指明可能銷售個人資訊的廣告聯播網,並按照各聯播網的指示確保遵守規定。
在 SDK 2.0.0 版中,Unity Ads 新增了支援隱私權設定的 API。下列程式碼範例說明如何將這項同意聲明資訊傳遞至 Unity Ads SDK。如果您選擇手動將同意聲明資訊傳送至 Unity Ads SDK,建議您先呼叫這段程式碼,再透過 Google Mobile Ads SDK 請求廣告。
Java
import com.unity3d.ads.metadata.MetaData;
// ...
MetaData ccpaMetaData = new MetaData(this);
ccpaMetaData.set("privacy.consent", true);
ccpaMetaData.commit();
Kotlin
import com.unity3d.ads.metadata.MetaData
// ...
val ccpaMetaData = MetaData(this)
ccpaMetaData["privacy.consent"] = true
ccpaMetaData.commit()
請參閱 Unity Ads 的《隱私權同意聲明和資料 API》和 遵循 CCPA 指南,進一步瞭解詳細資訊及每種方法可提供的值。
步驟 5:新增必要程式碼
Unity Ads 整合不需要額外程式碼,
步驟 6:測試導入狀態
啟用測試廣告
請務必為Ad Manager 註冊測試裝置,並在 Unity Ads 使用者介面中啟用測試模式。
驗證測試廣告
如要確認您正在接收來自Unity Ads的測試廣告,請使用 Unity Ads (Waterfall) 廣告來源在廣告檢查器中啟用單一廣告來源測試。
錯誤代碼
如果轉接程式無法接收來自 Unity Ads 的廣告,發布商可以在下列類別下使用
ResponseInfo.getAdapterResponse()
,查看廣告回應中的基本錯誤:
com.google.ads.mediation.unity.UnityAdapter
com.google.ads.mediation.unity.UnityMediationAdapter
以下是廣告無法載入時,UnityAds 轉接程式擲回的程式碼和隨附的訊息:
錯誤代碼 | 原因 |
---|---|
0-10 | UnityAds SDK 傳回錯誤。詳情請參閱程式碼。 |
101 | UI 中設定的 UnityAds 伺服器參數遺漏或無效。 Ad Manager |
102 | UnityAds 傳回的刊登位置為 NO_FILL 狀態。 |
103 | UnityAds 傳回的刊登位置處於「DISABLED」狀態。 |
104 | UnityAds 嘗試顯示的廣告包含空值。 |
105 | 用來初始化、載入和/或顯示 Unity 廣告的內容不是 Activity 例項。 |
106 | UnityAds 嘗試顯示還無法放送的廣告。 |
107 | 該裝置不支援 UnityAds。 |
108 | UnityAds 一次只能載入 1 個廣告於每個刊登位置。 |
109 | UnityAds 執行完畢並處於 ERROR 狀態。 |
200-204 | UnityAds 橫幅廣告的特定錯誤。詳情請參閱程式碼。 |
0-9 | UnityAds SDK 傳回錯誤。詳情請參閱 Unity 的說明文件。 |
101 | UI 中設定的 UnityAds 伺服器參數遺漏或無效。 Ad Manager |
102 | UnityAds 不支援此裝置。 |
103 | UnityAds 已完成顯示,並顯示 kUnityAdsFinishStateError 錯誤狀態。 |
104 | 呼叫其初始化器後,Unity 廣告物件為空值。 |
105 | 廣告尚未準備就緒,因此無法顯示 Unity 廣告。 |
106 | UnityAds 呼叫了刊登位置變更回呼,並顯示刊登位置狀態 kUnityAdsPlacementStateNoFill。 |
107 | UnityAds 呼叫了刊登位置變更回呼,並顯示刊登位置狀態 kUnityAdsPlacementStateDisabled。 |
108 | 已載入這個刊登位置的廣告。UnityAds SDK 不支援為同一個刊登位置載入多個廣告。 |
Unity Ads Android 中介服務轉接程式變更記錄
4.9.3.0 版
- 已驗證與 Unity Ads SDK 4.9.3 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 22.6.0 版。
- Unity Ads SDK 4.9.3 版。
版本 4.9.2.0
- 已驗證與 Unity Ads SDK 4.9.2 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 22.3.0 版。
- Unity Ads SDK 4.9.2 版。
版本 4.9.1.0
- 將 Google Mobile Ads SDK 最低需求更新為 22.3.0 版。
- 已驗證與 Unity Ads SDK 4.9.1 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 22.3.0 版。
- Unity Ads SDK 4.9.1 版。
版本 4.8.0.0
- 在 Unity Ads SDK 叫用新 onBannerShown() 回呼方法時回報廣告曝光。
- 已驗證與 Unity Ads SDK 4.8.0 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 22.2.0 版。
- Unity Ads SDK 4.8.0 版。
版本 4.7.1.0
- 已驗證與 Unity Ads SDK 4.7.1 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 22.1.0 版。
- Unity Ads SDK 4.7.1 版。
版本 4.7.0.0
- 已驗證與 Unity Ads SDK 4.7.0 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 22.0.0 版。
- Unity Ads SDK 4.7.0 版。
版本 4.6.1.1
- 已更新轉接器以使用新的
VersionInfo
類別。 - 將 Google Mobile Ads SDK 的最低版本更新為 22.0.0。
建構及測試工具:
- Google Mobile Ads SDK 22.0.0 版。
- Unity Ads SDK 4.6.1 版。
版本 4.6.1.0
- 已驗證與 Unity Ads SDK 4.6.1 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 21.5.0 版
- Unity Ads SDK 4.6.1 版。
4.6.0.0 版
- 開始支援將 COPPA 資訊轉送至 Unity Ads SDK。
- 已驗證與 Unity Ads SDK 4.6.0 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 21.5.0。
建構及測試工具:
- Google Mobile Ads SDK 21.5.0 版
- Unity Ads SDK 4.6.0 版。
4.5.0.0 版
- 已驗證與 Unity Ads SDK 4.5.0 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 21.4.0。
建構及測試工具:
- Google Mobile Ads SDK 21.4.0 版
- Unity Ads SDK 4.5.0 版。
版本 4.4.1.0
- 已驗證與 Unity Ads SDK 4.4.1 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 21.2.0 版
- Unity Ads SDK 4.4.1 版。
版本 4.4.0.0
- 已驗證與 Unity Ads SDK 4.4.0 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 21.2.0。
建構及測試工具:
- Google Mobile Ads SDK 21.2.0 版
- Unity Ads SDK 4.4.0 版。
4.3.0.0 版
- 已驗證與 Unity Ads SDK 4.3.0 的相容性。
- 現在插頁式廣告和獎勵廣告開始播放時,系統會自動轉送
onAdOpened()
回呼。
建構及測試工具:
- Google Mobile Ads SDK 21.1.0 版
- Unity Ads SDK 4.3.0 版。
版本 4.2.1.1
- 將
compileSdkVersion
和targetSdkVersion
更新為 API 31。 - 將 Google Mobile Ads SDK 的最低版本更新為 21.0.0。
建構及測試工具:
- Google Mobile Ads SDK 21.0.0 版。
- Unity Ads SDK 4.2.1 版。
版本 4.2.1.0
- 已驗證與 Unity Ads SDK 4.2.1 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 20.6.0 版。
- Unity Ads SDK 4.2.1 版。
4.1.0.0 版
- 已驗證與 Unity Ads SDK 4.1.0 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 20.6.0 版。
- Unity Ads SDK 4.1.0 版。
版本 4.0.1.0
- 已驗證與 Unity Ads SDK 4.0.1 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 20.6.0。
建構及測試工具:
- Google Mobile Ads SDK 20.6.0 版。
- Unity Ads SDK 4.0.1 版。
4.0.0.0 版
- 已驗證與 Unity Ads SDK 4.0.0 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 20.5.0。
建構及測試工具:
- Google Mobile Ads SDK 20.5.0 版。
- Unity Ads SDK 4.0.0 版。
版本 3.7.5.0
- 已驗證與 Unity Ads SDK 3.7.5 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 20.2.0 版。
- Unity Ads SDK 3.7.5 版。
版本 3.7.4.0
- 已驗證與 Unity Ads SDK 3.7.4 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 20.2.0 版。
- Unity Ads SDK 3.7.4 版。
版本 3.7.2.0
- 已驗證與 Unity Ads SDK 3.7.2 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 20.2.0。
建構及測試工具:
- Google Mobile Ads SDK 20.2.0 版。
- Unity Ads SDK 3.7.2 版。
版本 3.7.1.0
- 已驗證與 Unity Ads SDK 3.7.1 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 20.1.0。
建構及測試工具:
- Google Mobile Ads SDK 20.1.0 版。
- Unity Ads SDK 3.7.1 版。
版本 3.6.2.0
- 已驗證與 Unity Ads SDK 3.6.2 的相容性。
- 修正獎勵廣告未轉送點擊回呼的問題。
- UnityAds SDK 已從隨附的轉接程式版本中移除。發布商現在必須手動加入 UnityAds SDK 做為額外依附元件。
- 將 Google Mobile Ads SDK 的最低版本更新為 19.8.0。
建構及測試工具:
- Google Mobile Ads SDK 19.8.0 版。
- Unity Ads SDK 3.6.2 版。
3.6.0.0 版
- 已驗證與 Unity Ads SDK 3.6.0 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 19.6.0。
建構及測試工具:
- Google Mobile Ads SDK 19.6.0 版。
- Unity Ads SDK 3.6.0 版。
3.5.1.1 版本
- 修正嘗試請求多則插頁式廣告和獎勵廣告時的問題。
建構及測試工具:
- Google Mobile Ads SDK 19.5.0 版。
- Unity Ads SDK 3.5.1 版。
3.5.1.0 版
- 已驗證與 Unity Ads SDK 3.5.1 的相容性。
- 修正導致智慧型橫幅廣告廣告請求失敗的問題。
建構及測試工具:
- Google Mobile Ads SDK 19.5.0 版。
- Unity Ads SDK 3.5.1 版。
3.5.0.0 版
- 已驗證與 Unity Ads SDK 3.5.0 的相容性。
- 開始支援自動調整橫幅廣告。
- 將 Google Mobile Ads SDK 的最低版本更新為 19.5.0。
建構及測試工具:
- Google Mobile Ads SDK 19.5.0 版。
- Unity Ads SDK 3.5.0 版。
版本 3.4.8.0
- 修正橫幅廣告刪除時發生的
NullPointerException
錯誤。 - 將 Google Mobile Ads SDK 的最低版本更新為 19.3.0。
建構及測試工具:
- Google Mobile Ads SDK 19.3.0 版。
- Unity Ads SDK 3.4.8 版。
版本 3.4.6.1
- 建立不含 Unity Ads SDK 的轉接程式版本。這樣一來,發布商就能在 Unity 進行中介時,選擇使用 Unity 廣告服務,避免發生依附元件衝突問題。
- 發布商只要在應用程式層級的
build.gradle
檔案中加入com.google.ads.mediation:unity-adapter-only:x.y.z.p
依附元件,即可選擇採用此方法。
- 發布商只要在應用程式層級的
建構及測試工具:
- Google Mobile Ads SDK 19.1.0 版。
- Unity Ads SDK 3.4.6 版。
版本 3.4.6.0
- 已驗證與 Unity Ads SDK 3.4.6 的相容性。
- 現在使用者點擊橫幅廣告時,轉接程式會轉送
onAdOpened()
回呼。
建構及測試工具:
- Google Mobile Ads SDK 19.1.0 版。
- Unity Ads SDK 3.4.6 版。
版本 3.4.2.3
- 新增描述性的錯誤代碼,以及轉接程式載入/顯示失敗的原因。
- 將 Google Mobile Ads SDK 的最低版本更新為 19.1.0。
建構及測試工具:
- Google Mobile Ads SDK 19.1.0 版。
- Unity Ads SDK 3.4.2 版。
版本 3.4.2.2
- 修正了 Unity Ads 傳回錯誤時發生的
ConcurrentModificationException
當機問題。
建構及測試工具:
- Google Mobile Ads SDK 19.0.1 版。
- Unity Ads SDK 3.4.2 版。
版本 3.4.2.1
- 改善 Unity 錯誤轉送功能,以便更早辨識初始化和廣告載入失敗情形,並縮短逾時時間。
- 將 Google Mobile Ads SDK 的最低版本更新為 19.0.1。
建構及測試工具:
- Google Mobile Ads SDK 19.0.1 版。
- Unity Ads SDK 3.4.2 版。
版本 3.4.2.0
- 已驗證與 Unity Ads SDK 3.4.2 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 18.3.0。
建構及測試工具:
- Google Mobile Ads SDK 18.3.0 版。
- Unity Ads SDK 3.4.2 版。
3.4.0.0 版本
- 已驗證與 Unity Ads SDK 3.4.0 的相容性。
- 將 Google Mobile Ads SDK 的最低版本更新為 18.3.0。
建構及測試工具:
- Google Mobile Ads SDK 18.3.0 版。
- Unity Ads SDK 3.4.0 版。
3.3.0.0 版本
- 已驗證與 Unity Ads SDK 3.3.0 的相容性。
建構及測試工具:
- Google Mobile Ads SDK 18.2.0 版。
- Unity Ads SDK 3.3.0 版。
3.2.0.1 版本
- 修正在呼叫
UnityAds.initialize()
之前呼叫loadAd()
時發生的空值指標例外狀況異常終止問題。 - 將 Google Mobile Ads SDK 的最低版本更新為 18.2.0。
3.2.0.0 版本
- 修正導致橫幅廣告請求失敗的問題。
- 已驗證與 Unity Ads SDK 3.2.0 的相容性。
- 將轉接器遷移至 AndroidX。
- 將 Google Mobile Ads SDK 的最低版本更新為 18.1.1。
版本 3.1.0.0
- 新增對彈性橫幅廣告大小的支援。
- 如果請求的大小與任何 Unity Ads 橫幅廣告大小不相容,轉接程式會導致廣告請求失敗。
- 已驗證與 Unity Ads SDK 3.1.0 的相容性。
版本 3.0.1.0
- 已驗證與 Unity Ads SDK 3.0.1 的相容性。
- 修正在顯示插頁式廣告時造成「NPE」的錯誤。
3.0.0.2 版本
- 更新轉接程式以支援新的開放式 Beta 版獎勵 API。
- 將 Google Mobile Ads SDK 的最低版本更新為 17.2.0。
3.0.0.1 版本
- 新增對 Unity Ads 橫幅廣告的支援。
3.0.0.0 版本
- 已驗證與 Unity Ads SDK 3.0.0 的相容性。
2.3.0.0 版
- 已驗證與 Unity Ads SDK 2.3.0 的相容性。
2.2.1.1 版
- 更新轉接程式以叫用
onRewardedVideoComplete()
廣告事件。
2.2.1.0 版
- 已驗證與 Unity Ads SDK 2.2.1 的相容性。
2.2.0.0 版
- 已驗證與 Unity Ads SDK 2.2.0 的相容性。
2.1.2.0 版
- 已驗證與 Unity Ads SDK 2.1.2 的相容性。
2.1.1.0 版
- 已驗證與 Unity Ads SDK 2.1.1 的相容性。
2.1.0.0 版
- 更新轉接程式,使其與 Unity Ads SDK 2.1.0 相容。
2.0.8.0 版
- 已驗證與 Unity Ads SDK 2.0.8 的相容性。
2.0.7.0 版
- 使用 Unity Ads 的點擊報表 (AdMob 和 Unity Ads 的點擊統計資料會一致)。
- 新增 onAdLeftApplication 回呼支援。
2.0.6.0 版
- 已驗證與 Unity Ads SDK 2.0.6 的相容性。
2.0.5.0 版
- 現在,您可以在 build.gradle 檔案的依附元件標記中加入以下內容,將轉接程式新增為編譯依附元件:
compile 'com.google.ads.mediation:unity:2.0.5.0'
- 改為以 AAR 而非 jar 檔案形式發布轉接程式 (如需其他操作說明,請參閱 README)。
2.0.4.0 版
- 修正先載入插頁式廣告時,導致獎勵影片廣告無法載入的錯誤。
2.0.2.0 版
- 已將版本命名系統變更為 [Unity Ads SDK version].[adapter 修補程式版本]。
- 將 Unity Ads SDK 的最低需求更新為 2.0.2 版。
- 將 Google Mobile Ads SDK 最低需求更新為 9.0.0 版。
- 應用程式不再需要呼叫 UnityAds.changeActivity(this)。
1.0.0 版本
- 原始版本。支援獎勵型影片廣告和插頁式廣告。