MobonSDK 1.0.0

MobonSDK 1.0.0

dhleemobon维护。



MobonSDK 1.0.0

  • mobon

Mobon iOS SDK

CI Status Version License Platform

支持环境
部署目标: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()
...

3. 더 자세한 사항은 MobonSDKSample의 소스를 확인해 주세요。