adPOPcornディスプレイAD
adPOPcornディスプレイADは、既存のバナー、ポップアップ、全画面などの広告からネイティブ広告まで提供する
adPOPcornの収益化ソリューションです。サービスに関する詳細は、以下のガイドよりご確認ください。
「adPOPcornディスプレイADについて」
ご注意
- adPOPCorn add-onを連携する前に、IGAW基本連携を完了してください。「IGAW基本連携:Unity Android」
ディスプレイADプラグイン追加
Unity AndroidプロジェクトにIGAWorks DAプラグインパッケージを追加します。
パッケージ追加
「SDKダウンロード」よりダウンロードした最新バージョンの IgaworksDisplayAdUnityPlugin_aos~* ファイルをUnityプロジェクトに追加します。
+ 既にadPOPcorn、Adbrixを連携している場合、IgawCommon_v0.0.0a.jar ファイルが最新バージョンかを確認してください。
正常に追加されたかを確認した後、Assetsフォルダの下にパッケージが追加されたことを確認してください。
AndroidManifest.xml
adPOPcornディスプレイADを連携するためには、Android Manifestを修正します。
基本連携で設定したApp Key、Hash Key、Permission以外の全画面広告のための必須アクティビティを追加します。
<application></application> タグの中に必須アクティビティを追加します。
<!-- IGAWorks DA 最少要求SDK ver : 8 -->
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="21" />
<!-- ディスプレイAD必須アクティビティを追加 -->
<activity android:name="com.igaworks.displayad.activity.InterstitialActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.NoTitleBar" />
<!-- 基本情報を登録 -->
<meta-data android:name="igaworks_app_key" android:value="App Key"/>
<meta-data android:name="igaworks_hash_key" android:value="Hash Key"/>
<meta-data android:name="igaworks_market_info" android:value="google"/>
</application>
</manifest>
+ 他のディスプレイADの広告を表示するメディエーション機能をご利用する場合、各アドネットワーク毎の設定を行ってください。
adPOPcornディスプレイAD基本連携
adPOPcornディスプレイADでは、バナー・全画面・ポップアップ・終了時・ネイティブタイプの広告を対応します。
各広告の連携を実施する前に、基本APIを利用して初期化を完了してください。
SDK初期化
init APIをアプリ起動後に初めてロードされるアクティビティ、
もしくはディスプレイADを表示したいアクティビティで呼び出してSDKを初期化します。
void Start (){
Debug.Log ("Start");
IgawDisplayAdPlugin.init();
}
リソース解除
destroy APIを利用して、アプリを終了する時に、メモリーに該当されたディスプレイAD関連ソース(View,Memory)を解除します。
アプリを終了する時に呼び出されるアクティビティのonDestroy()で呼び出します。
void OnDestroy(){
Debug.Log ("OnDestroy");
IgawDisplayAdPlugin.destroy();
}
+ デリゲートを利用するために登録をした場合、OnDestory()で登録されたデリゲートの解除作業を行ってください。
バナー広告
バナーは、ディスプレイADの一般的な広告タイプであり、アプリの上部・下部に表示する広告です。
インスタンス設定
バナー広告表示のためのインスタンスを設定します。
public class IgawDASampleScene : MonoBehaviour{
private string BANNER_SPOTKEY = "bannerspotkey";
private Banner bannerAd = null;
void Start(){
bannerAd = new Banner(BANNER_SPOTKEY, Banner.GRAVITY_BOTTOM);
}
}
+ bannerspotkey: adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告コントロール
バナー広告をコントロールする地点に、必要なAPIを呼び出して広告をコントロールします。
//バナー広告の表示
void SomeAction(){
if(bannerAd != null)
bannerAd.startBannerAd();
}
//バナー広告の中止
void SomeAction(){
if(bannerAd != null)
bannerAd.pauseBannerAd();
}
//バナー広告の終了
void SomeAction(){
if(bannerAd != null)
bannerAd.stopBannerAd();
}
+アプリがPauseまたはRestartされる場合にも、広告がPause・Startできるように処理してください。
Unityが提供する onApplicationPause(bool pauseStatue) 関数を利用して処理します。
デリゲート
バナー広告のロード成功・失敗に対するデリゲートを提供します。提供するデリゲートと実装例は以下を参考してください。
- OnBannerAdReceiveSuccess : バナー広告ロードの成功
- OnBannerAdReceiveFailed : バナー広告ロードの失敗(渡されるエラーコードはガイド下部のテーブルを参考してください。)
//バナーデリゲートの登録
void SomeAction(){
if(bannerAd != null)
bannerAd.OnBannerAdReceiveSuccess += OnBannerAdReceiveSuccess;
bannerAd.OnBannerAdReceiveFailed += OnBannerAdReceiveFailed;
}
//バナーデリゲートの実装
public void OnBannerAdReceiveSuccess(object sender, System.EventArgs args){
Debug.Log("OnBannerAdReceiveSuccess event received.");
}
public void OnBannerAdReceiveFailed(object sender, ErrorResult errorResult){
Debug.Log("OnBannerAdReceiveFailed event received. > errorCode : " +
errorResult.errorCode + ", errorMessage : " + errorResult.errorMessage);
}
//バナーデリゲートの解除
void OnDestroy(){
if (bannerAd != null) {
bannerAd.OnBannerAdReceiveSuccess -= OnBannerAdReceiveSuccess;
bannerAd.OnBannerAdReceiveFailed -= OnBannerAdReceiveFailed;
bannerAd.stopBannerAd ();
}
IgawDisplayAdPlugin.destroy ();
}
全画面広告
全画面広告は、画面全体に表示される形の広告です。以下の内容に沿い連携を進めてください。
インスタンス設定
全画面広告を表示するためのインスタンスを設定します。
public class IgawDASampleScene : MonoBehaviour{
private string INTERSTITIAL_SPOTKEY = "interstitialspotkey";
private Interstitial interstitialAd = null;
void Start(){
interstitialAd = new Interstitial(INTERSTITIAL_SPOTKEY);
}
}
+ interstetialspotkey : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告コントロール
全画面広告をコントロールしたい地点で、APIを呼び出して広告をコントロールします。
//全画面広告の表示
void SomeAction(){
if(interstitialAd != null)
interstitialAd.showInterstitialAd();
}
デリゲート
全画面広告のロード成功・失敗・画面終了に対するデリゲートを提供します。利用できるデリゲートと実装例は以下を参考してください。
- OnInterstitialReceiveSuccess : 全画面広告のロード成功
- OnInterstitialReceiveFailed : 全画面広告のロード失敗(渡されるエラーコードはガイド下部のテーブルを参考してください。)
- OnInterstitialClosed : 全画面広告の終了
//全画面デリゲートの登録
void SomeAction(){
if(interstitialAd != null)
interstitialAd.OnInterstitialReceiveSuccess += OnInterstitialReceiveSuccess;
interstitialAd.OnInterstitialReceiveFailed += OnInterstitialReceiveFailed;
interstitialAd.OnInterstitialClosed += OnInterstitialClosed;
}
//全画面デリゲートの実装
public void OnInterstitialReceiveSuccess(object sender, System.EventArgs args){
Debug.Log("OnInterstitialReceiveSuccess event received.");
}
public void OnInterstitialReceiveFailed(object sender, ErrorResult errorResult){
Debug.Log("OnInterstitialReceiveFailed event received. > errorCode : " +
errorResult.errorCode + ", errorMessage : " + errorResult.errorMessage);
}
public void OnInterstitialClosed(object sender, System.EventArgs args){
Debug.Log("OnInterstitialClosed event received.");
}
//全画面デリゲートの解除
void OnDestroy(){
if (interstitialAd != null) {
interstitialAd.OnInterstitialReceiveSuccess -= OnInterstitialReceiveSuccess;
interstitialAd.OnInterstitialReceiveFailed -= OnInterstitialReceiveFailed;
interstitialAd.OnInterstitialClosed -= OnInterstitialClosed;
}
IgawDisplayAdPlugin.destroy ();
}
ポップアップ広告
広告がポップアップの形で表示される広告タイプです。
インスタンス設定
ポップアップ広告を表示するためのインスタンスを設定します。
public class IgawDASampleScene : MonoBehaviour{
private string POPUP_SPOTKEY = "popupspotkey";
private PopupAd popupAd = null;
void Start(){
popupAd = new PopupAd(POPUP_SPOTKEY);
}
}
+ popupspotkey : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告コントロール
ポップアップ広告をコントロールしたい地点で、APIを呼び出して広告をコントロールします。
//ポップアップ広告の表示
void SomeAction(){
if(popupAd != null)
popupAd.showPopupAd();
}
+ popupspotkey : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より生成した spotkey
デリゲート
ポップアップ広告のロード成功・失敗・画面終了に対するデリゲートを提供します。利用できるデリゲートと実装例は以下を参考してください。
- OnPopupAdReceiveSuccess : ポップアップ広告ロードの成功
- OnPopupAdReceiveFailed : ポップアップ広告のロード失敗(渡されるエラーコードはガイド下部のテーブルを参考してください。)
- OnPopupAdClosed : ポップアップ広告の終了
//ポップアップデリゲートの登録
Void SomeAction(){
if (popupAd != null){
popupAd.OnPopupAdReceiveSuccess += OnPopupAdReceiveSuccess;
popupAd.OnPopupAdReceiveFailed += OnPopupAdReceiveFailed;
popupAd.OnPopupAdClosed += OnPopupAdClosed;
}
}
//ポップアップデリゲートの実装
public void OnPopupAdReceiveSuccess(object sender, System.EventArgs args){
Debug.Log("OnPopupAdReceiveSuccess event received.");
}
public void OnPopupAdReceiveFailed(object sender, ErrorResult errorResult){
Debug.Log("OnPopupAdReceiveFailed event received. > errorCode : " +
errorResult.errorCode + ", errorMessage : " + errorResult.errorMessage);
}
public void OnPopupAdClosed(object sender, System.EventArgs args){
Debug.Log("OnPopupAdClosed event received.");
}
//ポップアップデリゲートの解除
void OnDestroy(){
if (popupAd != null) {
popupAd.OnPopupAdReceiveSuccess -= OnPopupAdReceiveSuccess;
popupAd.OnPopupAdReceiveFailed -= OnPopupAdReceiveFailed;
popupAd.OnPopupAdClosed -= OnPopupAdClosed;
}
IgawDisplayAdPlugin.destroy ();
}
終了時広告
アプリの終了可否を確認するポップアップと共に広告を表示する広告タイプです。
インスタンス設定及び広告のロード
終了時広告を表示するためのインスタンスを設定します。 loadEndingAd APIを利用して終了時広告をロードします。
アプリ起動地点で事前に広告情報をロードするように呼び出してください。
public class IgawDASampleScene : MonoBehaviour{
private string ENDING_SPOTKEY = "endingspotkey";
void Start(){
IgawDisplayAdPlugin.loadEndingAd(ENDING_SPOTKEY);
}
}
+ endingspotkey : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告表示
showEndingAd APIを呼び出して広告を表示します。Androidの「戻る」ボタンイベントや別途の終了アクションに繋げて利用することをおすすめします。
void Update (){
if (Input.GetKeyDown (KeyCode.Escape)) {
IgawDisplayAdPlugin.showEndingAd(ENDING_SPOTKEY);
}
}
デリゲート
プラグインの終了処理の代わり、直接処理する場合に、提供するデリゲートを登録・実装することができます。以下の実装例を参考してください。
(但し、デリゲートを設定するとプラグインの終了処理ロジックは作動しません。)
void Start (){
// Set Delegate
IgawDisplayAdPlugin.setEndingAdEventCallbackListener(ENDING_SPOTKEY);
IgawDisplayAdPlugin.OnBtnClickListener = mOnBtnClickListener;
}
// implement Delegate
// finish = true : 終了ボタンをクリック
// finish = false : キャンセルボタンをクリック
public void mOnBtnClickListener(bool finish){
Debug.Log("mOnBtnClickListener event received : " + finish);
}
ネイティブ広告
ネイティブ広告は、adPOPcornディスプレイADサーバーより渡された Json 文字列形の広告情報を利用して、
希望な形でカスタムして表示することができる広告タイプです。
インスタンス設定
ネイティブ広告を表示するためのインスタンスを設定します。
- OnNativeAdRequestSucceeded : ネイティブ広告ロード成功、nativeAdInfoで Json 文字列形の広告情報
- OnNativeAdRequestFailed : ネイティブ広告ロード失敗(渡されるエラーコードは、このガイドの下部を確認してください。)
public class IgawDASampleScene : MonoBehaviour{
private string NATIVE_SPOTKEY = "nativespotkey";
private NativeAd nativeAd = null;
void Start(){
nativeAd = new NativeAd(NATIVE_SPOTKEY);
nativeAd.OnNativeAdRequestSucceeded += OnNativeAdRequestSucceeded;
nativeAd.OnNativeAdRequestFailed += OnNativeAdRequestFailed;
}
}
+ nativespotkey:adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告ロード
loadAd APIを呼び出して、ネイティブ広告情報をロードします。要請に関する結果は NativeAd デリゲートを利用して確認することができます。
void loadNativeAdInfo(){
if (nativeAd != null) {
nativeAd.loadAd();
}
}
広告トラッキング
ネイティブ広告の場合、広告表示を直接構成するため、広告表示とクリックトラッキングのための連携が必要となります。
実装の例は以下を参考してください。
void showNativeAdToUser(){
// 以下の関数を呼び出してNativeAd 表示をトラッキングします。
nativeAd.impressionAction();
}
void clickNativeAd(){
// 以下の関数を呼び出してユーザーが NativeAd をクリックしたことをトラッキングします。
nativeAd.clickAction();
}
デリゲート
ネイティブ広告情報のロード結果を実装したデリゲートへ渡されます。提供するデリゲートと実装の例は以下を参考してください。
public void OnNativeAdRequestSucceeded(object sender, NativeAdModel nativeModel){
}
public void OnNativeAdRequestFailed(object sender, ErrorResult errorResult){
Debug.Log("OnNativeAdRequestFailed event received. > errorCode : " +
errorResult.errorCode + ", errorMessage : " + errorResult.errorMessage);
}
ディスプレイ広告の応答エラーコード
各広告別にイベントリスナーへ渡されるエラーコードの定義です。
コード | メッセージ | 説明 |
200 | Exception | 一般的なエラー |
1000 | Invalid Parameter | 正しくないパラメータ |
9999 | Unknown Server Error | 不明のサーバーエラー |
2000 | Invalid Media Key | 正しくないApp Key |
2030 | Invalid Spot Key | 正しくないスポットキー |
2100 | Empty Campaign | 広告無し |
2200 | Invalid Third Party Name | 外部ネットワーク情報のロード失敗 |
3200 | Native Spot Does Not Initialized | ネイティブ設定の初期化エラー |
5000 | Server Timeout | サーバータイムアウト |
5001 | Load Ad Failed | 特定ネットワークのロード失敗 |
5002 | No Ad | 全ネットワークの広告ロードの失敗 |