1. 程式人生 > >iOS開發 接入InMobi廣告平臺的一些個人經驗

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應用程式9應用程式傳輸安全性(ATS)是一種新的iOS9預設設定。它要求應用使網路連線只在TLS版本。1.2及以上。確保所有展示廣告正確顯示在您的應用程式,我們目前正與我們所有的合作伙伴的需求,確保100%符合ATS的要求。重要:在這個過渡階段,然而,請禁用ATS為iOS 9確保展示廣告在構建deisplay正確。這將減少美國胸科協會對應用程式的影響的貨幣化。點選這裡瞭解更多資訊。禁用ATS,請將下面的程式碼片段新增到您的應用程式的plist。
  • <key>NSAppTransportSecurity</key>
  • <dict>
  • <key>NSAllowsArbitraryLoads</key>
  • <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,或者設定為原生廣告發布的任何其他時間。
      • -(void)dealloc {
      • nativeAd.delegate = nil;
      • }
      我覺得這個廣告平臺最好的地方就是,可以通過傳入不同的關鍵字進行一系列的廣告載入,滿足各種使用者的期待
    • 收入水平、國家、消費水平等等一些資訊的設定。
如果你希望我的幫助,請在下方留言,我會及時回覆的!~~畢竟我辣麼帥!!! O(∩_∩)O哈哈哈~
如果你希望我的幫助,請在下方留言,我會及時回覆的!~~畢竟我辣麼帥!!! O(∩_∩)O哈哈哈~