以下に従ってください。
InMobi SDKの最新バージョンはiOS 9以降をサポートしています。また、iOS SDKのこのバージョンにはXCode 9.3以降が必要です。
メインスレッドですべてのInmobi APIを呼び出すことをお勧めします。
バージョン | 8.2.0 | 7.3.2 |
サイズ(.IPA Inflation) | 953 KB | 650 KB |
SDKリンク |
|
メソッド 1: Cocoapods (https://cocoapods.org/pods/InMobiSDK)を介したインテグレーション
以下の手順に従ってください。
Xcodeプロジェクトのディレクトリに進み、以下のコマンドを使用してpodファイルを作成します。
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
libxml2.tbd
(China SDKを使用している場合にのみこれを追加してください。)Other Linker Flags に-ObjC
フラグを追加します。
-ObjC
フラグを追加しますアプリトランスポートセキュリティ(ATS)は、iOS 9から導入されたデフォルトの設定で、アプリ上でのネットワーク接続はTLSバージョン1.2 以降のみを介することを必須としています。InMobiはHTTPSを標準化するように取り組んでいますが、現状ではデマンド側のパートナーからもこの設定に対応して頂くことが、ATSの全要件に100%従うことへの必須条件となっております。
当社はパートナーと協力して までのセキュアな通信環境への対応に向けて作業を進めておりますが、iOS 9以降のバージョンでの広告配信を確実にするために、お客様は、短期的な解決策として以下の手順に従って頂く必要があります。
ATSを無効にする (推奨) - iOS 9に対応済みのお客様のアプリで、ATSに未対応のパートナーからの広告コンテンツが正しく稼働するための設定です。ATSフラグを無効にするには、以下のコードをアプリの Info.plist
に追加してください。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true>
</true></dict>
Exceptionを使用しATSを無効にする (非推奨) - ATSコンプライアンスに移行しようと計画している場合。Exceptionリストにドメインを追加します。
<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>
注意: Exceptionリストでは、InMobi ドメインとCDNを使用しないようにしてください。ランタイムエラーが発生します。
お客様のAppDelegate.h
ファイルにInMobi SDKヘッダーをインポートします。
@import InMobiSDK;
/**Please do not remove the window property as it can lead to undefined behavior**/
// @property (strong, nonatomic) UIWindow *window;
次のように、アプリデリゲートの .m ファイル内のdidFinishLaunchingWithOptions
メソッドで SDK を初期化します。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSMutableDictionary *consentdict=[[NSMutableDictionary alloc]init];
//consent value needs to be collected from the end user
[consentdict setObject:@"true" forKey:IM_GDPR_CONSENT_AVAILABLE];
[consentdict setObject:@1 forKey:@"gdpr"];
//Initialize InMobi SDK with your account ID
[IMSdk initWithAccountID:INMOBI_ACCOUNT_ID consentDictionary:consentdict];
// Do your stuff.
return YES;
}
consentObject - 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
を失います。.Within a session, you can update the consent like this:
[IMSdk updateGDPRConsent:@{<insert consentobject="" dictionary="" here="">}];
</insert>
または NSLocationWhenInUseUsageDescription
フラグを info.plist
ファイルの位置許可要求の説明に設定します。
//Using <corelocation corelocation.h=""> fetch the coordinate
CLLocationManager *mgr = [[CLLocationManager alloc] init];
CLLocation *loc = mgr.location;
[IMSdk setLocation:loc];
[locationMgr];
</corelocation>
年齢と性別情報を渡して、広告配信対象の絞り込みの精度を高めます。このデータを共有することに関しては、ユーザーからの同意を必ず得るようにしてください。
以下の値がサポートされます。
年齢 | 性別 |
|
|
[IMSdk setGender:kIMSDKGenderFemale];
[IMSdk setAgeGroup:kIMSDKAgeGroupBetween25And34];
これらの広告フォーマットでお客様のiOSアプリの収益化を開始しましょう。