注意: ストア未登録等で、まだURLの準備ができていないアプリについては、デフォルトでテストモードが有効になっています。URLの準備が出来次第、以下に示す様に、リンクをクリックして、ダッシュボード上からURLを入力できます。
これでアプリを収益化する準備が整いました。
プレースメントIDはMoPubの広告ユニットIDに該当するInMobiの用のIDです。たとえば、InMobiネットワークを通じてバナー広告ユニットを収益化しようとすると、タイプ「バナー」のプレースメントIDを作成する必要があります。
失敗なく収益化を行うために、以下の表を参照してください。
MoPubの広告ユニットタイプ | InMobiのプレースメントタイプ |
バナー | バナー広告 |
媒体 (300x250バナー) | バナー広告 |
全画面 | インタースティシャル広告 |
動画リワード広告 | 動画リワード広告 |
ネイティブ広告 | ネイティブ広告 |
支払いプロファイルを作成して、確認し、アクティベーションを行って、実際にお客様が収益を得られるようにします。InMobi は、60日の支払いサイクルに従います。すなわち、1か月の収益が 60 日間の支払いサイクルの最終日に入金されることを意味します。PayPal か電信送金(銀行振込)経由で支払いを受け取ることができます。
電信送金(銀行振込)は、月末締め翌々月15日に円建てで振込みます。PayPalはUSドル建てで支払います。
支払条件の詳細については こちらをご参照ください。
注意: インテグレーションに成功するには、InMobi SDKとカスタムイベントの設定の両方が必要です。
“InMobiInterstitialCustomEvent”
というクラス名を入力します。以下のスクリーンショットで示されているように、プレースメントIDはプレースメントセクションの下に表示されます。
以下のフォーマットでアカウントIDとプレースメントIDをカスタムイベントクラスデータのプレースホルダーに入力します。
{"placementid": "<enter here="" id="" inmobi="" placement="" your="">","accountid":"<enter account="" here="" id="" inmobi="" your="">"}
</enter></enter>
以下、入力例になります。
{"placementid":"1468850508657","accountid":"2072131215e04a5ea20e25ffec1a7171"}
アプリトランスポートセキュリティ(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を使用しないようにしてください。ランタイムエラーが発生します。
プロジェクトへのInMobi 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
Other Linker Flags に-ObjC
フラグを追加します。
-ObjC
フラグを追加しますDo not remove window property from the AppDelegate.h
file as it may lead to an undefined behavior.
カスタムイベントの追加
カスタムイベントをお客様のMoPubプロジェクトに追加します。それぞれの広告フォーマットのカスタムイベントは こちらのサンプルコードの一部として、入手可能です。カスタムイベントはサンプルコードの “Classes” フォルダ内にあります。“Classes” フォルダからのファイルをお客様のプロジェクトに追加します。
コーディングの手順
コーディングの手順は、広告を取得したり読み込んだりするための通常のMoPubインテグレーション用と同じです。通常のMoPub “ad unit id” を使用して、広告をリクエストして取得します。
The publishers monetizing in EEA+UK+Switzerland region will have to pass user consent to InMobi SDK. The publishers can use consent gathering mechanism of their choice, and they will have to pass on this consent information to InMobi.
InMobiGDPR
class into the project.[InmobiGDPR.grantConsent]
or [InmobiGDPR.revokeConsent]
APIs to pass on user consent. Publisher will have to grant or revoke consent based on the consent provided by the user. It should be called once every session. In case grantConsent()
is not called, we will presume that consent is not available for users belonging to EEA+UK+Switzerland region.[InmobiGDPR revokeConsent]
to notify InMobi about the same.[InMobiGDPR isGDPRApplicable: (bool) flag]
to let InMobi know whether user belongs to GDPR compliant region.詳細情報
こちらからサンプルコードをダウンロードできます。
MoPub SDK 用の最新のドキュメントおよびコード サンプルは、 こちらからご利用いただけます。
広告リクエストがMoPub SDK経由でInMobiに確実にリレーされていることをテストするために以下の手順に従います。
重要なSDKログの出力
次に示すように、アプリデリゲートの.mファイル内で didFinishLaunchingWithOptions
メソッドに以下を追加することでデバッグログを出力できます。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Initialize InMobi SDK with your account ID
[IMSdk initWithAccountID:@"Insert InMobi account ID here"];
//Set log level to Debug
[IMSdk setLogLevel:kIMSDKLogLevelDebug];
// Do your stuff.
return YES;
}
[診断]タブ上でテストモード時の広告ユニット別のレポート値を確認できます。実装が正しく行われたか確認するのに役立ちます。
InMobi SDKには、広告の配信先絞り込みの精度向上と、より良いeCPMをお届けするために、広告リクエストを強化するための対応機能があります。これを活用するには、お客様の広告ユニットのカスタムイベントクラスを修正してInMobi SDK APIを使用し、データを渡す必要があります。詳細についてはサンプルコードを参照してください。
InMobi は、以下のパラメーターに対応しています。
メソッド名 | 値 | 説明 |
setAgeGroup |
AgeGroupBelow18 AgeGroupBetween18And24 AgeGroupBetween25And29 AgeGroupBetween30And34 AgeGroupBetween35And44 AgeGroupBetween45And54 AgeGroupBetween55And65 AgeGroupAbove65 |
ユーザーの年齢グループ |
setEducationType |
EducationHighSchoolOrLess EducationCollegeOrGraduate EducationPostGraduateOrAbove |
最終学歴:
|
setIncome |
整数 |
おおよその年間世帯所得 (米ドル) |
setAge |
整数 |
ユーザーの年齢 |
setInterests |
文字列 |
ユーザーに関するその他の説明や設定を、コンマで区切って記入してください。受理できる有効値は以下の通りです。 |
setPostalCode |
文字列 |
郵便番号 (通常 5 桁の数字) |
setAreaCode |
文字列 |
市外局番 (電話番号の一部) |
setLanguage |
文字列 |
ユーザーの母国語 (わかる場合) |
setLocationWithCityStateCountry |
文字列 |
受け渡された国名、都道府県、市区町村を設定します。 |
setKeywords |
文字列 |
広告リクエストに引き継がれるキーワード |
InMobi SDKの属性パラメーターの設定のサンプルです。パブリッシャーは希望のパラメーターの値を渡す必要があります。
InMobiSdk.setAreaCode("080");
InMobiSdk.setEducation(Education.HIGH_SCHOOL_OR_LESS);
InMobiSdk.setGender(Gender.MALE);
InMobiSdk.setAge(23);
InMobiSdk.setPostalCode("122009");
InMobiSdk.setLogLevel(LogLevel.DEBUG);
InMobiSdk.setLocationWithCityStateCountry("blore", "kar", "india");
InMobiSdk.setLanguage("ENG");
InMobiSdk.setInterests("dance");
InMobiSdk.setYearOfBirth(1980);