注意: ストア未登録等で、まだURLの準備ができていないアプリについては、デフォルトでテストモードが有効になっています。URLの準備が出来次第、以下に示す様に、リンクをクリックして、ダッシュボード上からURLを入力できます。
これでアプリを収益化する準備が整いました。
プレースメントIDはMoPubの広告ユニットIDに該当するInMobiの用のIDです。たとえば、InMobiネットワークを通じてバナー広告ユニットを収益化しようとすると、タイプ「バナー」のプレースメントIDを作成する必要があります。
失敗なく収益化を行うために、以下の表を参照してください。
MoPubの広告ユニットタイプ | InMobiのプレースメントタイプ |
バナー | バナー広告 |
媒体 (300x250バナー) | バナー広告 |
全画面 | インタースティシャル広告 |
動画リワード広告 | 動画リワード広告 |
ネイティブ広告 | ネイティブ広告 |
支払いプロファイルを作成して、確認し、アクティベーションを行って、実際にお客様が収益を得られるようにします。InMobi は、60日の支払いサイクルに従います。すなわち、1か月の収益が 60 日間の支払いサイクルの最終日に入金されることを意味します。PayPal か電信送金(銀行振込)経由で支払いを受け取ることができます。
電信送金(銀行振込)は、月末締め翌々月15日に円建てで振込みます。PayPalはUSドル建てで支払います。
支払条件の詳細については こちらをご参照ください。
注意: インテグレーションに成功するには、InMobi SDKとカスタムイベントの両方が必要です。
“InMobiInterstitialCustomEvent”
というクラス名を入力します。適格なカスタムイベントクラス名を使用してください。
以下に示すのは、広告ユニットタイプごとのカスタムイベントの一覧表です。
広告ユニット | クラス名 |
バナー | <your_package_name>.InMobiBannerCustomEvent</your_package_name> |
媒体 (300x250バナー) | <your_package_name>.InMobiBannerCustomEvent</your_package_name> |
全画面 | <your_package_name>.InMobiInterstitialCustomEvent</your_package_name> |
動画リワード広告 | <your_package_name>.InMobiRewardedCustomEvent</your_package_name> |
ネイティブ広告 |
|
以下のスクリーンショットで示されているように、プレースメントIDはプレースメントセクションの下に表示されます。
以下のフォーマットでアカウントIDとプレースメントIDをカスタムイベントクラスデータのプレースホルダーに入力します。
{"placementid": "<enter here="" id="" inmobi="" placement="" your="">","accountid":"<enter account="" here="" id="" inmobi="" your="">"}
</enter></enter>
以下、入力例になります。
{"placementid":"1468850508657","accountid":"2072131215e04a5ea20e25ffec1a7171"}
メソッド 1: jCenter経由で最新のSDKを取得します。
Gradleを使用してAndroidアプリケーションを構築している場合は、jCenterからSDKの最新バージョンを取得できます。
以下の手順に従ってください。
以下の記述をトップレベルの build.gradle
ファイルにインクルードします:
allprojects {
repositories {
jcenter()
}
}
以下の行をアプリケーションモジュールのbuild.gradle
内の依存エレメントに追加します。
compile 'com.inmobi.monetization:inmobi-ads:8.x.x'
メソッド 2:アプリケーションプロジェクトへの SDKライブラリの追加
InMobiのSDKの最新バージョンを ここからダウンロードして、そのライブラリをお客様のアプリケーションモジュールのlibs/
ディレクトリにコピーすることができます。
ライブラリをお客様のプロジェクトの依存設定に追加するには、この行をお客様のモジュールの build.gradle
ファイルのdependenciesに追加する必要があります。
compile fileTree(dir: 'libs', include: ['*.jar'])
InMobi広告SDKで収益化するには、以下の依存設定を追加する必要があります。
Android用のInMobi SDKには、Google Play Advertising IDを介して効果的に広告を配信できるようにGoogle Play Servicesライブラリが必要です。また、ユーザーがロケーション情報を収集することに同意した場合に、Google Play Servicesを使用しロケーション情報を取得します。
Google Play Servicesクライアントライブラリをお客様のアプリケーションに追加するには、以下の手順に従います。
以下の行をアプリケーションモジュールのdependenciesに追加します。
compile 'com.google.android.gms:play-services-basement:16.1.0'
compile 'com.google.android.gms:play-services-ads:17.2.0'
compile 'com.google.android.gms:play-services-location:16.0.0'
マニフェストに以下のエレメントを追加します。
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Android向けのInMobi SDKでは、広告アセットをロードするためにPicassoライブラリを使用します。
アプリケーションにPicassoライブラリを追加するには以下の手順に従います。
Gradle構築スクリプト内で以下の行をアプリケーションモジュールのdependenciesに追加します。
compile 'com.squareup.picasso:picasso:2.71828'
ネイティブストランド広告フォーマットについては、support-v4ライブラリを追加する必要があります。
Gradle build スクリプト内で以下の行をアプリケーションモジュールのdependenciesに追加します。
compile 'com.android.support:support-v4:28.0.0'
画像や広告のデッキのフルスクロールをサポートするには、 RecyclerView
を使用する必要があります。
これを実行するには、Gradle構築スクリプト内で以下の行をアプリケーションモジュールの依存エレメントに追加します。
compile 'com.android.support:recyclerview-v7:28.0.0'
注意: RecyclerView
が正しく追加されていないと、インタースティシャル広告のリクエストが失敗し、お客様のアプリでの収益化に影響が及びます。
パーミッションの追加
以下のパーミッションの追加は必須です。これらのパーミッションを追加していない場合、InMobiネットワーク上での広告配信が正しく機能せず、お客様のアプリケーションの収益化に影響を及ぼします。
<uses-permission android:name="android.permission.INTERNET">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
</uses-permission></uses-permission>
上記のパーミッションに加えて、より効果的に広告が配信されるように ACCESS_COARSE_LOCATION
かACCESS_FINE_LOCATION
のどちらかをインクルードすることを強くお勧めします。必須ではありませんが、これをインクルードすることで広告配信対象の絞り込みの精度が上がります。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
広告配信対象の絞り込みをさらに強化するために、マニフェストに ACCESS_WIFI_STATE
とCHANGE_WIFI_STATE
のパーミッションを追加することができます。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE">
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE">
</uses-permission></uses-permission>
リッチメディア広告を要求している場合は、以下のパーミッションを追加します。
<uses-permission android:name="android.permission.READ_CALENDAR">
<uses-permission android:name="android.permission.WRITE_CALENDAR">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission></uses-permission></uses-permission>
アプリインストールの計測
強制アクセス許可:
アプリインストールの計測については、以下をマニフェストファイルに追加してください。
<receiver android:enabled="true" android:exported="true" android:name="com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver" tools:ignore="ExportedReceiver">
<intent-filter>
<action android:name="com.inmobi.share.id">
</action></intent-filter>
</receiver>
ハードウェアアクセラレーション
ハードウェアアクセラレーションを使用すれば、HTML5動画広告を表示できるようになります。これを実行するには、 hardwareAccelerated:true
エレメントを application
タグに追加します。
Proguardの設定
Proguardは未使用のsymbolを削除したり、最終的なアプリケーションフットプリントを小さくしたりするのに役立ちます。以下をお客様のアプリケーションのProguard設定ファイルに追加する必要があります。
-keepattributes SourceFile,LineNumberTable
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
-dontwarn com.squareup.picasso.**
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{public *;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{public *;}
#skip the Picasso library classes
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.picasso.**
-dontwarn com.squareup.okhttp.**
#skip Moat classes
-keep class com.moat.** {*;}
-dontwarn com.moat.**
#skip AVID classes
-keep class com.integralads.avid.library.** {*;}
InMobi SDKは、Androidプラットフォームの最新バージョンであるAndroid P(APIレベル28)と互換性があります。
Android P以降のアプリケーションは、デフォルトでHTTPS経由で接続します。 InMobiはHTTPSの採用をサポートしていますが、現在の設定では、デマンドパートナーがHTTPSもサポートする必要があります。 サイト運営者は、収益の可能性に影響を与える場合、設定をHTTPに変更できます。
カスタムイベントをお客様のMoPubプロジェクトに追加します。それぞれの広告フォーマットのカスタムイベントは こちらのサンプルコードの一部として、入手可能です。該当するパッケージ構造に基づきカスタムイベントを入手できます。コードには、MoPub SDKを介する実装方法を確認できるサンプルアクティビティも入っています。
コーディングの手順は、広告を取得したり読み込んだりするための通常のMoPubインテグレーション用と同じです。通常のMoPub “ad unit id” を使用して、広告をリクエストして取得します。
The publishers monetizing in EEA 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.grantConsent()
or InmobiGDPR.revokeConsent()
APIs to pass on user consent. Publisher will have to call these based on the current Consent status. 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.isGDPRApplicable()
to let InMobi know whether user belongs to GDPR compliant region.こちらからサンプルコードをダウンロードできます。
MoPub SDK 用の最新のドキュメントおよびコード サンプルは、 こちらからご利用いただけます。
広告リクエストがMoPub SDK経由でInMobiに確実にリレーされていることをテストするために以下の手順に従います。
重要なSDKログの出力
広告ユニットをインテグレーションしているアクティビティに以下の行を追加して、重要なSDKログを出力できます。
InMobiSdk.setLogLevel(LogLevel.DEBUG);
[診断]タブ上でテストモード時の広告ユニット別のレポート値を確認できます。実装が正しく行われたか確認するのに役立ちます。
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);