iOS开发 接入InMobi广告平台的一些个人经验

最近项目中有使用到印度公司InMobi广告平台

毕竟好多的英文文档,我就默默给翻译了一下

希望对大家有所帮助。

 

一、注册InMobi账号,新建广告单元,等待审核。

1)注册账号,注册地址是:http://www.inmobi.com/,注册完成之后需要你填写联系信息以及收款信息,你就正常填写就可以,inmobi支持paypal和电汇,笔者试过,使用工行储蓄卡(双币卡,一般新办的卡都支持)和paypal都可以正常收到款项,美金哦,呵呵。

2)新建广告单元,如下图,如果你的APP已经上线,直接输入APP的url;反之如果app正在开发,可以选择“No”,输入app名称即可。

完成后会生成一个ID,如“4028cbff36f39ce201dfsdfsdfsdf2642”,这个ID在下面会用上。

 

3)新建的广告,当你的APP通过苹果审核后,要把APP的URL录入进来,让inmobi审核,否则不能正常显示广告的。

 

 

二、接入InMobi广告SDK到项目当中

 

从下载的 SDK 捆绑包中,将以下标题文件和二进制文件复制到项目。

  • libInMobi-5.x.x.a
  • IMSdk.h
  • IMBanner.h
  • IMBannerDelegate.h
  • IMInterstitial.h
  • IMInterstitialDelegate.h
  • IMNative.h
  • IMNativeDelegate.h
  • IMCustomNative.h
  • IMRequestStatus.h
  • IMCommonConstants.h

 

添加框架

 

将下列框架添加到您的 Xcode 项目:

  • AdSupport.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CoreLocation.framework
  • CoreTelephony.framework
  • EventKit.framework
  • EventKitUI.framework
  • MediaPlayer.framework
  • MessageUI.framework
  • Security.framework
  • Social.framework
  • StoreKit.framework
  • SystemConfiguration.framework
  • UIKit.framework
  • UIKit.framework
  • libsqlite3.0.dylib
  • libc++.dylib

 

注:将info.plist文件中的   NSLocationWhenInUseUsageDescription标记设置为"YES" ;

 

添加其他版本设置
将 标记添加到其他链接器标记,以在使用类别时加载所有类。要完成此操作,请完成下列步骤:

1. 在Xcode中打开项目。
2. 选择应用程序目标>版本设置。
3. 在搜索字段中,搜索“其他链接器标记”。

4. 添加-ObjC标记。 

iOS开发 接入InMobi广告平台的一些个人经验_第1张图片

 

 

针对iOS应用程序9应用程序传输安全性(ATS)是一种新的iOS9默认设置。它要求应用使网络连接只在TLS版本。1.2及以上。确保所有展示广告正确显示在您的应用程序,我们目前正与我们所有的合作伙伴的需求,确保100%符合ATS的要求。重要:在这个过渡阶段,然而,请禁用ATS为iOS 9确保展示广告在构建deisplay正确。这将减少美国胸科协会对应用程序的影响的货币化。点击这里了解更多信息。禁用ATS,请将下面的代码片段添加到您的应用程序的plist。

 

 

 

  • <key>NSAppTransportSecuritykey>
  • <dict>
  • <key>NSAllowsArbitraryLoadskey>
  • <true/>
  • dict>
  • 开始接入到项目中初始化SDK
  • AppDelegate.h中导入头文件

#import "IMSdk.h"
#import "IMCommonConstants.h" 

 

AppDelegate.m 中添加初始化方法。

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//Initialize InMobi SDK with your account ID
[IMSdk initWithAccountID:@"这里填入你申请的ID 注意是类似"sfhsjahs2fhsjkhfks2dfhkj3f2"这种的!不是那个数字ID"];

// Do your stuff.

 

return YES;

}

在这里要普及一个小知识点

IMBanner属于一个横幅广告

IMInterstitial属于一个插页广告

IMNative属于原生广告

每一个对应的方法官方文档中都会有相应的方法去创建

我接入的是一个IMnative这个广告方式。

 

  • self.nativeAd= [[IMNative alloc] initWithPlacementId:@"Insert native Placement ID Here"];
  • self.nativeAd.delegate= self;
  • [self.nativeAd load];
  • 里面有一个重要的属性就是,adContent 这个代表着广告的内容,是一个JSON格式的字符串。里面的ImageURL是你要显示的广告内容,loadURL是广告的链接,这些对于你处理广告的逻辑很重要哦
    • [IMNative bindNative:self.nativeView toView:cell];
    这个方法是用来绑定你的广告和对应的视图的 一定要在广告完全显示之后再运行这个方法,这样才不会有错误的曝光。
  • 还有就是广告跳转的两种方式、
  • 1、[self.native reportAdClick:"这里传入你加载到的广告内容self.native.adContent"];
    • [[UIApplication sharedApplication] openURL:landingPageURL];
    • 用于跳转到safari脱离了你本身的app然后到app store 去下载广告内容。
    • 2、[self.native reportAdClickAndOpenLandingURL:"这里传入你加载到的广告内容self.native.adContent"];
    • 用于自身app页面上加载广告内容,直接在自己app页面中显示广告内容,有相应的代理方法,显示加载到的内容。
    • InMobi 强烈建议在 dealloc 方法中将代理设置为 nil,或者设置为原生广告发布的任何其他时间。
      textpop-up
       
      • -(void)dealloc {
      • nativeAd.delegate = nil;
      • }
      我觉得这个广告平台最好的地方就是,可以通过传入不同的关键字进行一系列的广告加载,满足各种用户的期待
    • 收入水平、国家、消费水平等等一些信息的设置。

 

官方InMobi广告的SDK文档链接:https://support.inmobi.com/monetize/integration/ios/ios-sdk-integration-guide/
 

如果你希望我的帮助,请在下方留言,我会及时回复的!~~毕竟我辣么帅!!!

 

O(∩_∩)O哈哈哈~

 

你可能感兴趣的:(iOS开发)