iMFAD iOS SDKv4.0.0
將強大的廣告功能整合到您的 iOS 應用程式中。iMFAD SDK 支援多種廣告形式,包括橫幅廣告、蓋板廣告、置底廣告、影音廣告等。
橫幅廣告、蓋板廣告、置底廣告、摩天影音廣告、Pre-Roll 廣告
版本記錄
此表格列出各版本的發佈與淘汰狀態,請根據您的應用版本進行相應的更新與維護。
| 版本 | 發佈日期 | 淘汰日期 | 狀態 | 淘汰原因 |
|---|---|---|---|---|
4.0.0 |
2025/6/1 | - | 支援中 | - |
必要條件
開發工具
- 使用 Xcode 12.0 以上版本
- 指定 iOS 11.0 以上版本
請確保您的專案符合上述最低版本要求,否則 SDK 可能無法正常運作。
安裝 SDK
將 SDK 加入至您的專案中
下載 iMFAD.xcframework 後將它拖曳至專案中,並且在 Frameworks, Libraries, and Embedded Content 選項中將 iMFAD.xcframework 設定為 Embed & Sign 即可。
1. 下載 iMFAD.xcframework
2. 拖曳至 Xcode 專案
3. 設定為 Embed & Sign
設定 Info.plist
App Transport Security Settings
iOS 9 後要求所有 iOS 9 以上裝置的 app 只能使用 HTTPS 傳輸,需增加 NSAllowsArbitraryLoads 規則並設定為允許。
加入步驟:新增 App Transport Security Settings,並在底下新增 Allow Arbitrary Loads,將其設為 YES。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
選用項目
Privacy - Tracking Usage Description
本 SDK 提供可選的廣告識別碼(IDFA)來提供更符合您興趣的廣告體驗,並用於廣告成效分析。此功能為選用,您可隨時在「設定」中管理權限。
Privacy - Location Usage Description
本 SDK 提供可選的定位功能,可用於個人化廣告投放、地理相關推薦與推播通知。應用程式開發者可以根據需求決定是否啟用該功能。
此功能為選用,若應用程式未在 Info.plist 中設定相關權限,SDK 不會請求定位存取權限,亦不會影響應用程式的正常運作。
蓋板廣告
蓋版以大圖或影片擇一方式呈現,讓使用者能獲得更豐富的產品資訊。
蓋板廣告支援 HTML/JS 素材,可呈現更豐富的互動內容。
支援尺寸
- 圖片素材尺寸:2:3 (至少 320x480) 或 9:16 (900x1600)
MFInterstitialView API
初始化廣告物件
let fullbanner = MFInterstitialView(bannerId: "21951")
MFInterstitialViewDelegate 事件
| 事件 | 說明 |
|---|---|
requestAdSuccess() |
當廣告請求成功時觸發 |
requestAdFail() |
當廣告請求失敗時觸發 |
onClickAd(_ message: String) |
當用戶點擊廣告時觸發 |
onCloseAd() |
當用戶關閉廣告時觸發 |
完整範例 - Swift
import iMFAD
class ViewController: UIViewController {
var fullbanner: MFInterstitialView?
override func viewDidLoad() {
super.viewDidLoad()
fullbanner = MFInterstitialView(bannerId: "21951")
fullbanner?.delegate = self
fullbanner?.debugInfo("info")
}
@IBAction func reqAdAction(_ sender: UIButton) {
fullbanner?.requestAd()
}
}
extension ViewController: MFInterstitialViewDelegate {
func requestAdSuccess() {
print("請求廣告成功")
fullbanner?.show()
}
func requestAdFail() {
print("請求廣告失敗")
}
func onClickAd(_ urlStr: String) {
print("點擊廣告 URL: \(urlStr)")
}
func onCloseAd() {
print("關閉廣告")
}
}
廣告展示效果
置底廣告
置底廣告提供多種特效,以增加使用者與廣告的互動。
特效類型
- 上翻特效:廣告以上翻跳出的效果呈現,以提高使用者吸睛度。素材尺寸:640x360
- 幻燈片特效:以置底的形式展現多商品素材成列,可利用點擊切換主要商品。素材尺寸:300x250
- 跑馬燈特效:左右滑動即能連續看到1則影音及4張圖片。素材尺寸:640x360
- 雙喜臨門:兩組素材向左右兩側收放同時展開另一組素材。素材尺寸:320x360/800x900 + 640x360
特效展示
MFAdBottomView API
初始化廣告物件
let adbottom = MFAdBottomView(bannerId: "21963")
完整範例 - Swift
import iMFAD
class ViewController: UIViewController {
var adbottom: MFAdBottomView!
override func viewDidLoad() {
super.viewDidLoad()
adbottom = MFAdBottomView(bannerId: "21963")
adbottom.delegate = self
adbottom.debugInfo("info")
}
@IBAction func requestAD(_ sender: Any) {
self.view.addSubview(adbottom)
adbottom.requestAd()
}
@IBAction func releaseAD(_ sender: Any) {
adbottom.releseAD()
}
}
extension ViewController: MFAdBottomViewDelegate {
func requestAdSuccess() {
adbottom.show()
print("成功請求廣告")
}
func requestAdFail() {
print("請求廣告失敗")
}
func onClickAd(_ urlStr: String) {
print("點擊廣告 URL: \(urlStr)")
}
func onCloseAd() {
print("關閉廣告")
}
}
摩天影音廣告
影音摩天廣告以 300x250 尺寸呈現影音內容。
支援尺寸
- 影音摩天 300x250(有圖)
使用方式
摩天影音廣告使用 MFBannerView,並指定適當的 adType。
let videoBanner = MFBannerView(
adType: MFAdType.banner300x250,
bannerId: "YOUR_BANNER_ID"
)
廣告展示效果
Pre-Roll 廣告
Pre-Roll 廣告在影片播放前顯示,提供更佳的廣告曝光效果。
MFPreRollView API
初始化廣告物件
let preroll = MFPreRollView(bannerId: "YOUR_BANNER_ID")
MFPreRollViewDelegate 事件
| 事件 | 說明 |
|---|---|
requestAdSuccess() |
當廣告請求成功時觸發 |
requestAdFail() |
當廣告請求失敗時觸發 |
onClickAd(_ message: String) |
當用戶點擊廣告時觸發 |
onCloseAd() |
當用戶關閉廣告時觸發 |
廣告展示效果
常見問題
1. 為什麼廣告沒有顯示?
可能的原因:
- 廣告請求失敗:請檢查
requestAdFail()是否被觸發 - 廣告 ID 錯誤:請確認輸入的 bannerId 是否正確,或是否不小心切換為全形輸入
- bannerView 未正確加入視圖:請確保使用
self.view.addSubview(bannerView)將廣告加入畫面 - 網路連線異常:請檢查目前的網路狀態
- 開啟 debug 訊息:使用
bannerView.debugInfo("info")以獲取詳細錯誤資訊
2. 如何請求廣告?
請確保正確初始化廣告物件,然後呼叫 requestAd():
let bannerView = MFBannerView(
adType: MFAdType.banner,
bannerId: "XXXXXX"
)
bannerView.requestAd()
3. 未收到廣告事件通知?
請確保初始化完成後正確設定 delegate,否則廣告事件回調將無法觸發:
bannerView.delegate = self
意見回饋
我們重視您的意見,您的反饋將幫助我們改進產品與服務。如果您在使用過程中遇到問題,或有任何建議,請透過以下方式聯繫我們。
提交反饋
請提供以下資訊,以便我們更快處理您的問題:
- 您的聯絡方式(Email 或電話)
- 遇到的問題描述(請盡量詳細說明)
- 操作步驟(如何重現問題)
- 設備與系統版本(例如 iOS 17)
- 截圖或影片(如有)
反饋類別
- 功能建議:您希望我們新增或改進哪些功能?
- 問題回報:請描述您遇到的技術問題
- 使用體驗:您的使用感受如何?有什麼可以提升的地方?
- 其他建議:任何其他想法都歡迎與我們分享!
隱私權說明
我們的 SDK 依照 Apple 的隱私政策及 App Store 指南,以合法且透明的方式處理用戶數據。
廣告識別碼(IDFA)
IDFA(Identifier for Advertisers)是 Apple 提供的設備專屬廣告識別碼,允許開發者和廣告商進行匿名的使用者追蹤與廣告投放分析。
IDFA 的使用方式:
- 個人化廣告,使廣告內容更符合您的興趣
- 轉換追蹤,以分析廣告的成效
- 防止廣告詐欺,避免不正常點擊與機器人流量
在 iOS 14 以上版本,SDK 只有在用戶允許「App 追蹤透明度」(ATT)授權的情況下才能存取 IDFA。若用戶選擇「不允許追蹤」,則 IDFA 會被設為全 0,SDK 不會收集任何可識別的個人資訊。
隱私保護措施
- 透明處理:不會蒐集可識別個人身份的資訊(PII),所有數據皆經過匿名化處理
- 用戶控制權:使用者可隨時變更 IDFA 及定位的存取權限
- 符合 Apple 的隱私政策:SDK 遵守 Apple「App 追蹤透明度」(ATT)及「App Store 隱私要求」
服務使用安全性
SDK 是否存取使用者定位資訊?
本 SDK 僅在使用者明確授權同意後,才會依應用程式設定存取定位資訊。若應用程式未使用相關功能或使用者未授權,SDK 將不會存取或儲存任何定位資料。
SDK 是否使用廣告識別碼(IDFA)?
當應用程式啟用相關功能時,本 SDK 可能會在使用者允許「App 追蹤權限」後,存取裝置上的廣告識別碼(IDFA),以協助提供更合適的廣告內容與成效評估。
本 SDK 僅在應用程式執行時運作,不會在背景主動收集資料,也不會在未經使用者同意的情況下追蹤任何個人資訊。