首先进行如下操作:
最新版的InMobi SDK支持iOS 8及之后的版本。同时,该版本的iOS SDK要求XCode 9.0及以上版本。
版本 | 7.0.1 |
尺寸 (.IPA Inflation) | 661 KB |
SDK链接 |
函数1: 通过Cocoapods集成 (https://cocoapods.org/pods/InMobiSDK)
集成步骤:
前往Xcode项目目录,用下列命令创立一个pod文件。
pod init
添加下列podfile
。
pod 'InMobiSDK'
Eg. pod ‘InMobiSDK’
执行下列操作完成建立依赖关系。
pod install
包含pods项目的工作空间创建完成
函数2: 直接与框架集成
将下列 MANDATORY 框架添加到你的Xcode项目中:
InMobiSDK.framework
来自已下载的InMobi iOS SDK软件包libsqlite3.0.tbd
libz.tbd
WebKit.framework
将 -ObjC
标识添加到Other Linker Flags:
-ObjC
标识。iOS 9系统引入了一项默认设置——应用程序传输安全协议(ATS),强制应用程序仅能通过TLS 1.2及以上版本的协议连接网络。尽管InMobi致力于转而采用HTTPS协议,但目前的设置还需要我们的开发者支持这种转变并且100%满足ATS安全协议的所有要求。
我们和我们的合作伙伴正争取在 前构建一个安全的环境,在此期间,为确保广告能在iOS 9及以上版本的系统上运行,您需要通过如下几个步骤进行短期修复:
禁用ATS安全协议 (推荐) - 以确保来自合作伙伴的非安全内容在您升级后的应用程序里正常运行。如果要禁用ATS安全协议,您需要将以下代码片段加入到应用程序的Info.plist
中。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true>
</true></dict>
禁用ATS安全协议并添加例外列表(不推荐) - 如果您准备向遵守ATS安全协议迁移。您可以将您域中的安全内容添加到例外列表中。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true>
<key>NSExceptionDomains</key>
<dict>
<key>example.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true>
</true></dict>
</dict>
</true></dict>
注: 不要在例外列表中使用InMobi域及CDN,否则会在运行时出现错误。
在AppDelegate.h
文件中引入InMobi SDK头:
@import InMobiSDK;
在AppDelegate.m文件中的didFinishLaunchingWithOptions
方法中初始化SDK
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Initialize InMobi SDK with your account ID
[IMSdk initWithAccountID:@"Insert InMobi account ID here"];
// Do your stuff.
return YES;
}
在如下图所示的账号界面中找到您的账号用户名。
Recommended: If your app collects location from the user, we recommend passing it up, as impressions with location signal have higher revenue potential. InMobi SDK will automatically pass the location signals if available in the app. If you use location in your app, but would like to disable passing location signals to InMobi, then TURN OFF the “Location Automation” for your property on the InMobi dashboard.
注: 如果传递到了位置目标对象,应用程序会向用户请求授权访问位置。在info.plist
文件中将NSLocationWhenInUseUsageDescription
flag设置为(请求位置授权的描述)(description for asking location permission)
//Using <corelocation corelocation.h=""> fetch the coordinate
CLLocationManager *mgr = [[CLLocationManager alloc] init];
CLLocation *loc = mgr.location;
[IMSdk setLocation:loc];
[locationMgr];
</corelocation>
传递年龄和性别信息有助于更好地定位。确保用户同意共享这些信息。
支持以下数据值:
Age | Gender |
|
|
[IMSdk setGender:kIMSDKGenderFemale];
[IMSdk setAgeGroup:kIMSDKAgeGroupBetween25And34];
Start monetizing your iOS app with these ad formats: