GoogleMobileAds経由の動画リワード
動画リワード広告とは、アプリ内で使用可能なアイテムやポイントをユーザーに付与する代わりに、約15秒〜30秒程度の動画広告を表示する広告フォーマットです。
本機能を使用する事により、Google AdMob / Google Ad Managerの動画リワードからGenieeの動画のリワード広告を配信することができます。
実装準備
動画リワード広告では、以下の実装準備が必要です。
Google Play Services SDK
Google Play Services SDKの導入手順は以下の通りです。
- Google Developers公式サイトSetting Up Google Play Services
Module>build.gradle
のdependencies
に以下を追加します。dependencies { implementation 'com.google.android.gms:play-services-ads:20.0.0' }
AndroidManifest.xmlを更新する
重要: Google Mobile Ads SDK バージョン 17.0.0 以上 では、この手順は必須です。この <meta-data> タグを 追加しない場合は、クラッシュして次のメッセージが表示されます。"The Google Mobile Ads SDK was initialized incorrectly."
<manifest> <application> <!-- Google AdMob / AdManager --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="YOUR_APP_ID"/> </application> </manifest>
1
2
3
4
5
6
7
8
Geniee SDK
下記スタートガイドより、Geniee SDK(
GNAdSDK
) をアプリに導入する必要があります。
スタートガイドGenieeメディエーションアダプター
下記のアダプター(
GNAdGoogleMediationAdapter
)の設定が必要です。Mavenで実装する場合(推奨)
Project>build.gradle
のallprojects>repositories
に以下を追加します。allprojects { repositories { // GenieeSDK maven { url 'https://raw.github.com/geniee-ssp/Geniee-Android-SDK/master/repository' } } }
1
2
3
4
5
6
7
8Module>build.gradle
のdependencies
に以下を追加します。dependencies { implementation 'jp.co.geniee.gnadgooglemediationadapter:GNAdGoogleMediationAdapter:8.5.0.0' }
手動でライブラリを導入する
Mavenでライブラリを導入する
の手順を実行した場合、この手順は実行する必要はありません。手動導入手順はこちら
Geniee Adapter SDK のダウンロード
以下の URL から Geniee Android SDK をダウンロードします。
Localライブラリの配置
Geniee Android SDK を解凍します。
プロジェクトにGNAdGoogleMediationAdapterを追加します。
libs
フォルダーが存在しない場合、必要に応じて作成します。libs
フォルダにGNAdGoogleMediationAdapter
フォルダ配下の以下ファイルをコピーします。- GNAdGoogleMediationAdapter-8.5.0.0.jar
Module/build.gradle
のdependencies
に追加します。dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') }
1
2
3
動画リワード広告の実装
AdManager
管理画面でメディエーション設定したUnitIDを指定することで、メディエーションを行い動画リワード広告を表示できます。
GoogleAdManagerの動画リワード実装方法については、以下のサイトを参考にしてください。
GoogleAdManagerの動画リワード実装方法AdMob
管理画面でメディエーション設定したUnitIDを指定することで、メディエーションを行い動画リワード広告を表示できます。
AdMobの動画リワード実装方法については、以下のサイトを参考にしてください。
AdMobの動画リワード実装方法
※ メディエーションを使用する場合の実装注意点
リワードのインスタンタンスを生成する時、ContextではなくActivityを指定してください。
Contextを指定した場合、メディエーションが動作しない場合があります。
GoogleMobileAds I/Fの使用準備
GoogleMobileAds をインポートします。
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.rewarded.RewardedAd;
import com.google.android.gms.ads.rewarded.RewardedAdCallback;
import com.google.android.gms.ads.rewarded.RewardItem;
import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback;
2
3
4
5
広告ロード・表示に関するCallbackを実装する
SDKからロード通知を受け取る為の、RewardedAdLoadCallbackのメソッドを実装します。
private RewardedAdLoadCallback mAdLoadCallback = new RewardedAdLoadCallback() {
@Override
public void onRewardedAdLoaded() {
}
@Override
public void onRewardedAdFailedToLoad(int errorCode) {
}
};
2
3
4
5
6
7
8
9
SDKから表示通知を受け取る為の、RewardedAdCallbackのメソッドを実装します。
private RewardedAdCallback mAdCallback = new RewardedAdCallback() {
public void onRewardedAdOpened() {
}
public void onRewardedAdClosed() {
}
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
}
public void onRewardedAdFailedToShow(int errorCode) {
}
};
2
3
4
5
6
7
8
9
10
11
12
13
動画リワード広告のロード
広告のロード処理を実装します。ロード処理は事前に行うことをお勧めします。
ロードリクエストでは、UnitIDを指定します。(UnitIdはGoogle AdMob / Ad Managerの管理画面より取得しておきます)
1つの動画の再生完了後に別の動画を見せる場合、再びロードリクエストを行う必要があります。
private RewardedAd mRewardedAd;
private void createAndLoadRewardedAd() {
mrewardedAd = new RewardedAd(MainActivity.this, "YOUR_UNIT_ID");
rewardedAd.loadAd(
new AdRequest.Builder().build(), mAdLoadCallback);
}
2
3
4
5
6
7
動画リワード広告表示
広告の表示処理を実装します。
表示処理は必ずLoad実行後に実施するようにして下さい。
private void showVideoReward() {
if (mRewardedAd.isLoaded()) {
mRewardedAd.show(this, mAdCallback);
}
}
2
3
4
5
ユーザに報酬を付与
コールバックメソッドのonUserEarnedRewardで、ユーザーに報酬を付与します。
@Override
public void onUserEarnedReward(@NonNull RewardItem rewardItem) {
Log.d("RewardedAdCallback", "onUserEarnedReward: RewardType = " + rewardItem.getType());
Log.d("RewardedAdCallback", "onUserEarnedReward: RewardAmount = " + rewardItem.getAmount());
}
2
3
4
5
動画広告で収益を最大化するには、動画広告視聴者に報酬を与えることが重要です。
RewardItemには以下の項目が含まれます。
- rewardItem.getType():通貨タイプ設定
- rewardItem.getAmount():通貨額設定