以下に従ってください。
InMobi SDKの最新バージョンはiOS 9以降をサポートしています。また、iOS SDKのこのバージョンにはXCode 9.3以降が必要です。
Note: メインスレッドですべてのInmobi APIを呼び出すことをお勧めします。
バージョン | 8.2.0 | 7.3.2 |
サイズ(.IPA Inflation) | 953 KB | 650 KB |
SDKリンク |
|
メソッド 1: Cocoapods (https://cocoapods.org/pods/InMobiSDK)を介したインテグレーション
以下の手順に従ってください。
pod init
Podfile
に次を追加します。
注: SDK 820以上:
pod 'inmobi-ios-sdk', :source => 'https://bitbucket.org/aerservllc/inmobi-ios-sdk-pod.git'
注: SDK7xxを使用している場合:
pod 'InMobiSDK'
pod install
pod付きのワークスペースが作成されます。
メソッド 2:フレームワークに直接インテグレーション
Xcode プロジェクトに以下の 必須フレームワークを追加します。
InMobiSDK.framework
※ダウンロードしたInMobi iOS SDKバンドルからlibsqlite3.0.tbd
libz.tbd
WebKit.framework
Other Linker Flags に-ObjC
フラグを追加します。
-ObjC
フラグを追加します
アプリトランスポートセキュリティ(ATS)は、iOS 9から導入されたデフォルトの設定で、アプリ上でのネットワーク接続はTLSバージョン1.2 以降のみを介することを必須としています。InMobiはHTTPSを標準化するように取り組んでいますが、現状ではデマンド側のパートナーからもこの設定に対応して頂くことが、ATSの全要件に100%従うことへの必須条件となっております。
当社はパートナーと協力して までのセキュアな通信環境への対応に向けて作業を進めておりますが、iOS 9以降のバージョンでの広告配信を確実にするために、お客様は、短期的な解決策として以下の手順に従って頂く必要があります。
Info.plist
に追加してください。
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> <key>NSExceptionDomains</key> <dict> <key>example.com</key> <dict> <key>NSIncludesSubdomains</key> <true/> </dict> </dict> </dict>
注意: Exceptionリストでは、InMobi ドメインとCDNを使用しないようにしてください。ランタイムエラーが発生します。
AppDelegate.swift
ファイルにInMobi SDKヘッダーをインポートします。
import InMobiSDK /**Please do not remove the window property as it can lead to undefined behavior**/ // @property (strong, nonatomic) UIWindow *window;
didFinishLaunchingWithOptions
メソッドで SDK を初期化します。
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { //Initialize InMobi SDK with your account ID //consent value needs to be collected from the end user let consentDict: NSMutableDictionary = [IM_GDPR_CONSENT_AVAILABLE : "true"] consentDict.setValue( 1, forKey: "gdpr") IMSdk.initWithAccountID(INMOBI_ACCOUNT_ID, consentDictionary:consentDict as! [AnyHashable : Any]) // Do your stuff. return YES; }
consentObject
は、パブリッシャーがSDKに提供するすべての同意の辞書的表現です。EEA地域からのトラフィックを収益化する場合はキーは必須です。こちらでGDPR規制の詳細についてご覧ください。
Key | Type | Inference |
gdpr_consent_available | String |
"true" - パブリッシャーはユーザーのデータを収集して使用することに同意しました。
"false" - パブリッシャーはユーザーのデータを収集して使用することに同意しませんでした。 "true" および "false" 以外の値は無効であり、パブリッシャが提供しない値、つまり空の値として扱われます。 |
gdpr | Number | 要求がGDPR規制の対象であるかどうかの確認。次の値セットからの偏差、0 = No および 1 = Yes は、未知のエンティティを示します。 |
The key gdpr_consent_available can be accessed via string constant
IM_GDPR_CONSENT_AVAILABLE
.
Important
consentObject
は、すべてのセッションで提供される必要があります。SDKはconsentを保持せず、consentObject
をメモリ内に保持するのみです。アプリが再起動またはクラッシュすると、SDKはconsentObject
を失います。.
IMSdk.updateGDPRConsent(<Insert consentObject dictionary here>)
注意: 位置オブジェクトが渡された場合、アプリはユーザーに位置情報へのアクセス許可を求めます。NSLocationWhenInUseUsageDescription
フラグ(位置許可の要求の説明) をinfo.plist
ファイルに設定します。
let mgr = CLLocationManager() let loc = mgr.location IMSdk.setLocation(loc)
年齢 | 性別 |
|
|
IMSdk.setGender(.male) IMSdk.setAgeGroup(.between25And34)
これらの広告フォーマットでお客様のiOSアプリの収益化を開始しましょう。