adPOPcornディスプレイAD
adPOPcornディスプレイADは、既存のバナー、ポップアップ、全画面などの広告からネイティブ広告まで提供するadPOPcornの収益化ソリューションです。
中間マージンの無いメディエーション機能で収益を最大化することも可能です。
サービスに関する詳細は、以下のガイドよりご確認ください。
「adPOPcornディスプレイADについて」
ご注意
- adPOPCorn add-onを連携する前に、IGAW基本連携を完了してください。「IGAW基本連携:Android」
- adPOPcorn連携のためには IgawDisplayAd~*.jar ファイルをAndroidプロジェクトに追加してください。 「SDKインストール:Android」
AndroidManifest.xml
adPOPcornディスプレイADを連携するためには、Android Manifestを修正します。
基本連携で設定したApp Key、Hash Key、Permission以外の全画面広告のための必須アクティビティを追加します。
<application></application> タグの中に必須アクティビティを追加します。
<activity android:name="com.igaworks.displayad.activity.InterstitialActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.NoTitleBar" />
+ 他のディスプレイADの広告を表示するメディエーション機能をご利用する場合、各アドネットワーク毎の設定を行ってください。(メディエーション機能は準備中です。)
+リワード広告プラットフォーム「adPOPcorn」をご利用しますか?
adPOPCorn広告プラットフォームでCPI(起動型)以上のキャンペーン実施をご希望である場合、Googleインストールレシーバーを登録してください。
「IGAW Google インストールレシーバー登録」
adPOPcornディスプレイAD基本連携
adPOPcornディスプレイADでは、バナー・全画面・ポップアップ・終了時・ネイティブタイプの広告を対応します。
各広告の連携を実施する前に、基本APIを利用して初期化を完了してください。
SDK初期化
init APIをアプリ起動後に初めてロードされるアクティビティ、もしくはディスプレイADを表示したいアクティビティで呼び出してSDKを初期化します。
IgawDisplayAd.init(MyDisplayAdSampleActivity.this);
+ init(Context context, Boolean isTestMode, Boolean detailLog) APIを利用して、テストモードとログ出力水準を設定した初期化をすることができます。
リソース解除
destroy APIを利用して、アプリを終了する時に、メモリーに該当されたディスプレイAD関連ソース(View,Memory)を解除します。
アプリを終了する時に呼び出されるアクティビティのonDestroy()で呼び出します。
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
IgawDisplayAd.destroy();
}
メディエーション転換周期
setRefreshTime APIを利用して、メディエーション機能を利用する際に各ネットワーク別で受信した広告の転換周期を設定します。
別途で設定されていない場合、デフォルト(60秒)で維持します。
//IgawDisplayAd.setRefressTime(int seconds);
IgawDisplayAd.setRefreshTime(40);
位置情報設定
setLocation APIを利用して、位置情報を入力します。
入力された情報と一致するターゲティング広告(位置情報)がある場合、該当広告が表示されます。
//IgawDisplayAd.setLocation(long latitude, double longitude);
IgawDisplayAd.setLocation(123.456789, 23.456789);
バナー広告
バナーは、ディスプレイADの一般的な広告タイプであり、アプリの上部・下部に表示する広告です。
ビュー設定
バナー広告が表示されるビューを、利用している Layout.xml ファイルに追加します。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:orientation="vertical">
<!-- AdPOPcorn DA View -->
<com.igaworks.displayad.view.BannerContainerView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/banner_container"/>
</LinearLayout>
広告表示
startBannerAd APIを呼び出して、バナー広告を表示します。広告を表示する全アクティビティの onResume() もしくは広告表示したい地点で呼び出します。
//bannerView 生成
private BannerContainerView bannerView;
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
IgawCommon.startSession(MyDisplayAdSampleActivity.this);
// バナー開始
IgawDisplayAd.startBannerAd(MyDisplayAdSampleActivity.this, “バナー広告スポットキー”, bannerView);
}
+ bannerView : Layout.xmlに登録した com.igaworks.displayad.view.BannerContainerView
+ バナー広告スポットキー : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告の一時停止
pauseBannerAd APIを呼び出して、バナー広告を表示します。広告を表示する全アクティビティの onPause()より呼び出します。
@Override
protected void onPause() {
super.onPause();
// バナーの一時停止
IgawDisplayAd.pauseBannerAd(MainActivity.this, “バナー広告スポットキー”);;
}
広告表示の停止
stopBannerAd APIを呼び出して、広告表示を停止します。アプリが終了されるアクティビティの onDestroy()で呼び出します。
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
// バナー中止
IgawDisplayAd.stopBannerAd(MyDisplayAdSampleActivity.this);
// バナー及び広告リソースの解除
IgawDisplayAd.destroy();
}
イベントリスナー
バナー広告で発生するイベントに対するリスナーを提供します。提供するリスナーと実装例は以下を参考してください。
- OnBannerAdReceiveSuccess : バナー広告のロード成功
- OnBannerAdReceiveFailed : バナー広告ロード失敗(渡されるエラーコードは、このガイドの下部を確認してください。)
IgawDisplayAd.setBannerEventCallbackListener(MyDisplayAdSampleActivity.this, “バナー広告の広告スポットキー”,
new IBannerEventCallbackListener() {
@Override
public void OnBannerAdReceiveSuccess() {
Log.d("DEBUG", "Complete Loading Banner Ad");
}
@Override
public void OnBannerAdReceiveFailed(DAErrorCode daErrorCode) {
Log.d("DEBUG", "Fail Loading Banner Ad, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
});
IgawDisplayAd.setBannerEventCallbackListener(MyDisplayAdSampleActivity.this, “バナー広告の広告スポットキー”,
new IBannerEventCallbackListener() {
@Override
public void OnBannerAdReceiveSuccess() {
Log.d("DEBUG", "Complete Loading Banner Ad");
}
@Override
public void OnBannerAdReceiveFailed(DAErrorCode daErrorCode) {
Log.d("DEBUG", "Fail Loading Banner Ad, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
});
全画面広告
全画面広告は、画面全体に表示される形の広告です。以下の内容に沿い連携を進めてください。
広告表示
showInterstitial APIを呼び出して全画面広告を表示します。
public void showInterstitialAdSample () {
IgawDisplayAd.showInterstitialAd(MyDisplayAdSampleActivity.this, “全画面広告スポットキー”);
}
+ 全画面広告スポットキー : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
イベントリスナー
全画面広告で発生するイベントに対するリスナーを提供します。提供するリスナーと実装例は以下を参考してください。
- OnInterstitialReceiveSuccess : 全画面広告のロード成功
- OnInterstitialReceiveFailed : 全画面広告のロード失敗 (渡されるエラーコードは、このガイドの下部を確認してください。)
- OnInterstitialClosed : 全画面広告の終了
IgawDisplayAd.setInterstitialEventCallbackListener(MyDisplayAdSampleActivity.this, "全画面広告のスポットキー",
new IInterstitialEventCallbackListener() {
@Override
public void OnInterstitialReceiveSuccess() {
Log.d("DEBUG", "Complete Loading Interstitial Ad");
}
@Override
public void OnInterstitialReceiveFailed(DAErrorCode daErrorCode) {
Log.d("DEBUG", "Fail Loading Interstitial Ad, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
@Override
public void OnInterstitialClosed() {
Log.d("DEBUG", "Interstitial Ad is closed!");
}
});
ポップアップ広告
広告がポップアップの形で表示される広告タイプです。
広告表示
showPopupAd APIを呼び出して、ポップアップ広告を表示します。
public void showPopupAdSample () {
IgawDisplayAd.showPopupAd(MyDisplayAdSampleActivity.this, “ポップアップ広告スポットキー”);
}
+ ポップアップ広告スポットキー : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
イベントリスナー
ポップアップ広告で発生するイベントに対するリスナーを提供します。提供するリスナーと実装例は以下を参考してください。
- OnPopupAdReceiveSuccess : ポップアップ広告のロード成功
- OnPopupAdReceiveFailed : ポップアップ広告のロード失敗 (渡されるエラーコードは、このガイドの下部を確認してください。)
- OnPopupAdClosed : ポップアップ広告の終了
IgawDisplayAd.setPopupEventCallbackListener(MyDisplayAdSampleActivity.this, "ポップアップ広告のスポットキー",
new IPopupEventCallbackListener() {
@Override
public void OnPopupAdReceiveSuccess() {
Log.d("DEBUG", "PopupAdReceiveSuccess()");
}
@Override
public void OnPopupAdReceiveFailed(DAErrorCode daErrorCode) {
Log.d("DEBUG", "OnPopupAdReceiveFailed(), ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
@Override
public void OnPopupAdClosed() {
Log.d("DEBUG", "OnPopupAdClosed()");
}
});
終了時広告
アプリの終了可否を確認するポップアップと共に広告を表示する広告タイプです。
広告ロード
loadEndingAd APIを利用して終了時広告をロードします。アプリ起動時点で事前に広告情報を読み込めるように呼び出してください。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//DA SDK 初期化
IgawDisplayAd.init(MyDisplayAdSampleActivity.this);
//終了時広告のロード
IgawDisplayAd.loadEndingAd(MyDisplayAdSampleActivity.this, "終了時広告スポットキー");
}
+ 終了時広告スポットキー : adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告表示
showEndingAd APIを呼び出して広告を表示します。Androidの「バック」ボタンイベントや別途の終了アクションにつなげて利用することをおすすめします。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
IgawDisplayAd.showEndingAd(MainActivity.this, "終了時広告スポットキー");
return true;
}
return super.onKeyDown(keyCode, event);
}
イベントリスナー
終了時広告で発生するイベントに対するリスナーを提供します。提供するリスナーと実装例は以下を参考してください。
- OnBtnClickListener : ボタンクリックイベント、true:終了ボタンのクリック
IgawDisplayAd.setEndingAdEventCallbackListener(MyDisplayAdSampleActivity.this, "終了時広告スポットキー",
new IEndingAdEventCallbackListener() {
@Override
public void OnBtnClickListener(boolean isClicked) {
Log.d("DEBUG", "Ending Btn Clicked :: " + isClicked);
}
});
ネイティブ広告
ネイティブ広告は、adPOPcornディスプレイADサーバーより渡された Json 文字列形の広告情報を利用して、
希望な形でカスタムして表示することができる広告タイプです。
インスタンス & イベントリスナーの設定
ネイティブ広告をロードするためのインスタンスの要請結果が渡されるイベントリスナーを、以下のように設定します。
- OnNativeAdRequestSucceeded : ネイティブ広告ロード成功、nativeAdInfoで Json 文字列形の広告情報
- OnNativeAdRequestFailed : ネイティブ広告ロード失敗(渡されるエラーコードは、このガイドの下部を確認してください。)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//DA SDKの初期化
IgawDisplayAd.init(MyDisplayAdSampleActivity.this);
//ネイティブ広告のインスタンスとイベントリスナーの設定
IgawNativeAd nativeAd = new IgawNativeAd(MyDisplayAdSampleActivity.this, "ネイティブ広告のスポットキー",
new IgawNativeAdListener() {
@Override
public void OnNativeAdRequestSucceeded(IgawNativeAd nativeAdInfo) { }
@Override
public void OnNativeAdRequestFailed(IgawNativeAdErrorCode daErrorCode) {
Log.d("DEBUG", "NativeAd Loaing Fail, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
});
}
+ ネイティブ広告スポットキー:adPOPCornディスプレイADの管理画面(ディスプレイAD管理→広告スポット管理→広告スポット追加)より発行した spotkey
広告ロード
loadAd APIを呼び出して、ネイティブ広告情報をロードします。ロードした情報は上記で設定したイベントリスナーに渡されます。
IgawNativeAd nativeAd =
new IgawNativeAd(MyDisplayAdSampleActivity.this, "ネイティブ広告のスポットキー",
new IgawNativeAdListener() {
@Override
public void OnNativeAdRequestSucceeded(IgawNativeAd nativeAdInfo) { }
@Override
public void OnNativeAdRequestFailed(IgawNativeAdErrorCode daErrorCode) {
Log.d("DEBUG", "NativeAd Loaing Fail, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
});
//ネイティブ広告の情報をロード
nativeAd.loadAd();
IgawNativeAd nativeAd =
new IgawNativeAd(MyDisplayAdSampleActivity.this, "ネイティブ広告のスポットキー",
new IgawNativeAdListener() {
@Override
public void OnNativeAdRequestSucceeded(IgawNativeAd nativeAdInfo) { }
@Override
public void OnNativeAdRequestFailed(IgawNativeAdErrorCode daErrorCode) {
Log.d("DEBUG", "NativeAd Loaing Fail, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
});
//ネイティブ広告の情報をロード
nativeAd.loadAd();
広告情報の確認
loadAd APIを通じて広告ロードを成功した際、イベントリスナーに情報が渡されます。この情報を利用して広告を構成・表示します。
nativeAdInfo.getNativeAdContents APIを呼び出してJson 文字列を抽出します。
IgawNativeAd nativeAd =
new IgawNativeAd(MyDisplayAdSampleActivity.this, "ネイティブ広告のスポットキー",
new IgawNativeAdListener() {
@Override
public void OnNativeAdRequestSucceeded(IgawNativeAd nativeAdInfo) { }
if(nativeAdInfo != null){
//NativeAd広告のJson Stringを抽出し、これを構成して表現します。
String nativeAdContents = nativeAdInfo.getNativeAdContents();
Log.d("DEBUG", "AD INFO JSON STRING :: " + nativeAdContents);
}
@Override
public void OnNativeAdRequestFailed(IgawNativeAdErrorCode daErrorCode) {
Log.d("DEBUG", "NativeAd Loaing Fail, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
});
IgawNativeAd nativeAd =
new IgawNativeAd(MyDisplayAdSampleActivity.this, "ネイティブ広告のスポットキー",
new IgawNativeAdListener() {
@Override
public void OnNativeAdRequestSucceeded(IgawNativeAd nativeAdInfo) { }
if(nativeAdInfo != null){
//NativeAd広告のJson Stringを抽出し、これを構成して表現します。
String nativeAdContents = nativeAdInfo.getNativeAdContents();
Log.d("DEBUG", "AD INFO JSON STRING :: " + nativeAdContents);
}
@Override
public void OnNativeAdRequestFailed(IgawNativeAdErrorCode daErrorCode) {
Log.d("DEBUG", "NativeAd Loaing Fail, ResultCode : " + daErrorCode.getErrorCode() + ", ResultMsg : " + daErrorCode.getErrorMessage());
}
});
広告表示のトラッキング
impressionAction APIを呼び出して、ネイティブ広告の表示をトラッキングします。
//ネイティブ広告の表示
// ...do someting...
//ネイティブ広告表示をトラッキング
nativeAd.impressionAction();
+ nativeAdは、IgawNativeAd タイプのインスタンスです。
広告クリックのトラッキング
clickAction APIを呼び出して、ネイティブ広告のクリックをトラッキングします。
//ネイティブ広告をユーザーがクリックした時
// ...do somethisng...
//ネイティブ広告クリックをトラッキング
nativeAd.clickAction(MyDisplayAdSampleActivity.this);
+ nativeAdは、IgawNativeAd タイプのインスタンスです。
インスタンス解除
destroyAd APIを呼び出して、ネイティブ広告を表示するアクティビティが終了された時、
またはこれ以上広告を表示しない場合にネイティブ広告インスタンスも共に解除します。
@Override
protected void onDestroy() {
super.onDestroy();
//ネイティブ広告インスタンスの解除
nativeAd.destroyAd();
}
ディスプレイ広告の応答エラーコード
各広告別にイベントリスナーへ渡されるエラーコードの定義です。
コード | メッセージ | 説明 |
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 | 全ネットワークの広告ロードの失敗 |