Android バナー広告
バナー広告は、アプリ画面の下部、上部に配置する広告です。
広告枠のサイズ設定より、アイコン型広告、インライン型広告として配置可能です。
実装準備
バナー広告の実装準備は、下記スタートガイドより、
Geniee SDK をプロジェクトにインストール必要です。
スタートガイド
クラスとインタフェース
Android バナー広告配信には、下記クラスを使用します。
- GNAdView 非同期でバナー広告を取得、表示用クラス
- GNAdEventListener バナー広告サイクルイベント処理用インタフェース
バナー広告の取得と表示
GNAdView
をインポートします。import jp.co.geniee.gnadsdk.banner.GNAdView; import jp.co.geniee.gnadsdk.common.GNAdLogger; import jp.co.geniee.gnadsdk.banner.GNAdSize; import jp.co.geniee.gnadsdk.banner.GNTouchType;
1
2
3
4GNAdView
の変数を宣言します。GNAdView adView;
1GNAdView
のインスタンスを初期化します。初期化 API
public GNAdView(Context context, GNAdSize adSize) throws IllegalArgumentException
1または
public GNAdView(Context context, GNAdSize adSize, GNTouchType touchType) throws IllegalArgumentException
1初期化 API の使用例
adView = new GNAdView(this, GNAdSize.W320H50); adView.setAppId("YOUR_ZONE_ID");
1
2
パラメータ名 内容 context アプリのContext adSize 広告のサイズタイプ touchType 広告のタブタイプ YOUR_ZONE_ID Geniee内での枠の管理ID 広告を画面に追加します。
final LinearLayout layout = (LinearLayout)findViewById(R.id.layout); layout.addView(adView);
1
2アクティビティ画面を表示時に、広告をロード、表示します。
adView.startAdLoop();
1
startAdLoop() を呼び出すと、GNAdViewは広告のロードを開始し、
自動的に広告のローテーション表示を開始します。
- アクティビティ画面を終了時に、
GNAdView
のリソースを開放します。adView.clearAdView();
1
GNAdSampleBanner の実装例:
import jp.co.geniee.gnadsdk.common.GNAdLogger; import jp.co.geniee.gnadsdk.banner.GNAdView; import jp.co.geniee.gnadsdk.banner.GNAdSize; import jp.co.geniee.gnadsdk.banner.GNTouchType; public class GNAdSampleBanner extends ActionBarActivity { private GNAdView adView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gnad_sample_banner); // Initializes a GNAdView adView = new GNAdView(this, GNAdSize.W320H50); adView.setAppId("YOUR_ZONE_ID"); //adView.setLogPriority(GNAdLogger.INFO); //adView.setGeoLocationEnable(true); // Add AdView to view layer final LinearLayout layout = (LinearLayout)findViewById(R.id.AdviewLayout); layout.addView(adView); adView.startAdLoop(); } @Override protected void onDestroy() { if (null != adView) { adView.clearAdView(); } super.onDestroy(); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
広告のサイズタイプの設定
広告枠のサイズタイプ設定より、アイコン型広告、インライン型広告として配置可能です。
- バナー型広告 : GNAdSize.W320H50、GNAdSize.W300H250、GNAdSize.W320H100
- アイコン型広告 : GNAdSize.W57H57、GNAdSize.W76H76
Definition GNAdSize | The meaning of definition |
---|---|
GNAdSize.W320H50 | 320x50 |
GNAdSize.W300H250 | 300x250 |
GNAdSize.W320H100 | 320x100 |
GNAdSize.W57H57 | 57x57 |
GNAdSize.W76H76 | 76x76 |
バナーローテーション(リフレッシュ)
管理画面より、バナーローテーション(リフレッシュ)を設定できます。
設定した場合、広告が指定した間隔秒数(30 ~ 120)で自動的にリフレッシュします。
リフレッシュを停止する場合、下記のいずれか方法で可能です。
管理画面より、「Enable banner rotation」を無効に設定します。
stopAdLoop
関数を呼び出します。if(adView != null){ adView.stopAdLoop(); }
1
2
3
GNAdEventListener
インターフェース
GNAdEventListener
のインターフェース関数実装し、広告処理サイクルイベントを受け取ります。adView.setListener(this);
1public interface GNAdEventListener { /** * Call when GNAdView loaded ad data and first banner is shown. * @param adView */ void onReceiveAd(GNAdView adView); /** * Call when GNAdView failed to load the ads. * @param adView */ void onFaildToReceiveAd(GNAdView adView); /** * Call when built-in browser is starting. * @param adView */ void onStartExternalBrowser(GNAdView adView); /** * Call when in-app browser is starting. * @param adView */ void onStartInternalBrowser(GNAdView adView); /** * Called when in-app browser is terminating. * @param adView */ void onTerminateInternalBrowser(GNAdView adView); /** * Call before built-in browser starting. * @param landingURL */ boolean onShouldStartInternalBrowserWithClick(String landingURL); }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
ランディングページの画面遷移の制御
広告のランディングページは、デフォルトで外部ブラウザで起動します。
GNAdEventListener
のコールバック関数実装し、
ランディングページのURLを使ってアプリ内ブラウザで起動することが可能です。
また、関数の戻り値によって、外部ブラウザの起動を制御します。
true を返した場合、アプリ側landingURL をリクエストする必要があります。
false 外部ブラウザを起動します。
true 外部ブラウザを起動しません。
@Override public boolean onShouldStartInternalBrowserWithClick(String landingURL) { return false; }
1
2
3
4
広告表示領域の変更とセンタリング
端末で広告の表示領域を変更、センタリングすることができます。
- 例:320x50の広告をセンタリングします。(layout/activity_gnad_sample_banner.xml)
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:id="@+id/AdviewLayout"></LinearLayout>
2
3
4
5
6