iOS ガイドライン |

iOS SDKのインテグレーションの基本操作

以下に従ってください。

InMobi SDKの最新バージョンはiOS 8以降をサポートしています。また、iOS SDKのこのバージョンにはXCode 9.0以降が必要です。

バージョン 7.2.0
サイズ(.IPA Inflation) 730 KB
SDKリンク

プロジェクトへの SDK の追加

メソッド 1: Cocoapods (https://cocoapods.org/pods/InMobiSDK)を介したインテグレーション

以下の手順に従ってください。

  1. Xcodeプロジェクトのディレクトリに進み、以下のコマンドを使用してpodファイルを作成します。
    pod init
    			
  2. 以下をPodfileに追加します。
    pod 'InMobiSDK' Eg. pod ‘InMobiSDK’
    			
  3. 以下のコマンドを実行して依存設定のタスクを完了します。
    pod install
    			

    pod付きのワークスペースが作成されます。

メソッド 2:フレームワークに直接インテグレーション

Xcode プロジェクトに以下の 必須フレームワークを追加します。

  • InMobiSDK.framework ※ダウンロードしたInMobi iOS SDKバンドルから
  • libsqlite3.0.tbd
  • libz.tbd
  • WebKit.framework

Other Linker Flags -ObjC フラグを追加します。

  1. Xcode でプロジェクトを開きます。
  2. Application Target > Build Settings を選択します。
  3. [検索]ボックスで、Other Linker Flags を検索します。
  4. -ObjCフラグを追加します

iOS 9+ 向けアプリの準備

アプリトランスポートセキュリティ(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/>
    </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/>
    </dict>
    </dict>
    </dict>
    			

注意: Exceptionリストでは、InMobi ドメインとCDNを使用しないようにしてください。ランタイムエラーが発生します。

SDK の初期化

  1. お客様の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;
    			
  2. 次のように、アプリデリゲートの .m ファイル内の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;
                           }
    			
    1. 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

      1. consentObjectは、すべてのセッションで提供される必要があります。SDKはconsentを保持せず、consentObjectをメモリ内に保持するのみです。アプリが再起動またはクラッシュすると、SDKはconsentObjectを失います。.
      2. Within a session, you can update the consent like this:
        IMSdk.updateGDPRConsent(<Insert consentObject dictionary here>)
        					
      3. General Data Protection Regulation(「GDPR」)の一部として、アプリでデータを収集するパブリッシャーは、European Economic Area(「EEA」)のユーザーの個人情報を収集し処理するための法的根拠を持つ必要があります。ヨーロッパのInMobiへ広告リクエストを行う前に、ユーザーから適切な同意を得て、推奨されるSDK実装に従って同様のことを示してください。ヨーロッパでそのようなユーザーからのユーザーの同意がない場合、ユーザーの人口統計情報を渡さないでください。
    2. 下の画像のように、アカウントのインターフェースからアカウントIDを探してください。

    3. ロケーション情報を渡して、広告配信対象の絞り込みの精度を高めます。
    4. 注意: 位置オブジェクトが渡された場合、アプリはユーザーに位置情報へのアクセス許可を求めます。NSLocationWhenInUseUsageDescriptionフラグ(位置許可の要求の説明) をinfo.plistファイルに設定します。

      let mgr = CLLocationManager()
      let loc = mgr.location
      IMSdk.setLocation(loc)
      				
    5. 年齢と性別情報を渡して、広告配信対象の絞り込みの精度を高めます。このデータを共有することに関しては、ユーザーからの同意を必ず得るようにしてください。
      以下の値がサポートされます。
      年齢 性別
      • kIMSDKAgeGroupBelow18
      • kIMSDKAgeGroupBelow18And24
      • kIMSDKAgeGroupBetween25And29
      • kIMSDKAgeGroupBetween30And34
      • kIMSDKAgeGroupBetween35And44
      • kIMSDKAgeGroupBetween45And54
      • kIMSDKAgeGroupBetween55And65
      • kIMSDKAgeGroupAbove65
      • male
      • female
      IMSdk.setGender(.male)
      IMSdk.setAgeGroup(.between25And34)
      				

これらの広告フォーマットでお客様のiOSアプリの収益化を開始しましょう。