Mobon iOS SDK
支持环境 |
---|
部署目标:iOS 11.0及以上 |
当前版本的Xcode(Xcode 12.0 / Swift 5.3) |
- MobonSDK是用Swift开发的。如果您想在基于Swift的项目中使用MobonSDK,请务必使用最新版本的Xcode。
1. SDK安装
1) 使用CocoaPods安装
在项目的Podfile中添加'MobonSDK'
pod 'MobonSDK'
2) 手动安装
- 下载MobonSDKFramework.framework和MobonSDKBundle.bundle
- 将MobonSDKFramework.framework拖放到应用项目的General > Embeded Binaries中。
- 确保MobonSDKBundle.bundle包含在应用项目的Build Phases > Copy Bundle Resources中。
2. 项目设置
1) iOS 9 ATS(App Transport Security) handling
iOS 9开始,ATS(App Transport Security)功能默认启用,仅允许使用加密的HTTPS通信方式。
Mobon SDK可以在ATS激活状态下正常运行,但通过广告展示的广告主页面可能不支持HTTPS方式。
因此,请按照以下步骤将在您app项目的Info.plist文件中应用的以下内容。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
2) Objective-C项目
Mobon SDK是基于Swift开发的。要在Objective-C项目中使用Mobon SDK,需要将Swift标准库嵌入。
请在app项目设置中确保Always Embed Swift Standard Libraries选项设置为Yes。
3) ATT(App Tracking Transparency)框架应用
针对iOS14的app应用需要获取IDFA标识符,必须应用ATT Framework。
1. 更新Info.plist文件
必须向用户添加消息以说明向用户或设备请求数据权限的原因。
<key> NSUserTrackingUsageDescription </key>
<string> 맞춤형 광고 제공을 위해 사용자의 데이터가 사용됩니다. </string>
2. 应用ATTrackingManager代码
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { (status) in
if status == .authorized {
bannerView.loadAd()
}
}
}
else {
bannerView.loadAd()
}
3. 광고 요청
1. 배너 크기 광고 요청 및 적용
let bannerView = MobonBannerAdView(frame: CGRect(x: 0,
y: view.frame.size.height - 50,
width: view.bounds.width,
height: 50),
mediaCode:MEDIACODE,
sCode:UNITID)
bannerView.rootViewController = self
bannerView.delegate = self
bannerView.bannerType = .Banner320x50
현재 지원하는 배너 타입은 아래와 같습니다。
enum MOBannerType: Int {
case Banner320x50
case Banner320x100
}
bannerType은 Banner320x50이 기본값이며, bannerType과 bannerView의 높이값이 동일해야 광고가 정상적으로 출력 됩니다.
2. 전면 배너 요청 및 적용
전면 배너의 경우 먼저 광고를 로드한 뒤 화면에 표시하는 과정이 필요합니다. 따라서 광고를 표시하기 전에 아래와 같이 MobonInterstitialAdView를 먼저 생성해 주어야 합니다.
...
interstitialView = MobonInterstitialAdView(mediaCode:MEDIACODE,unitId:UNITID)
interstitialView?.rootViewController = self
interstitialView?.delegate = self
...
이후 화면에 광고를 노출 시키기 전 다음과 같이 광고를 로드합니다.
...
interstitialView?.loadAd()
...
광고가 성공적으로 로딩이 되면 MobonInterstitialAdViewDelegate의 아래 메소드를 통해 광고를 정상적으로 불러왔음을 확인할 수 있습니다.
func interstitialDidReceiveAd(_ interstitialAdView: MobonInterstitialAdView) {
print("interstitialDidReceiveAd")
showPopup(controller: self, message: "interstitialDidReceiveAd", seconds: 1.0)
}
마지막으로 아래를 호출하면 화면에 전면배너가 표시됩니다.
...
interstitialView?.show()
...