Zucks Ad Network Android用SDK導入手順

対象OS

Android 4.0 以上

更新履歴

2017/03/03 v4.4.2 MoPubメディエーション用アダプタに対応

2017/02/23 v4.4.1 全画面インライン広告のフォアグラウンド復帰時再ロード処理を廃止

2017/01/10 v4.4.0 全画面(縦)広告の追加

2016/12/07 v4.3.3 特定の環境でバナー広告がクラッシュする不具合修正

2016/11/11 v4.3.2 バナー広告の不具合修正

2016/09/12 v4.3.1 iマークタップ時のコールバック呼び出しを変更

2016/07/07 v4.3.0 Unity Plugin対応

2016/06/22 v4.2.2 バナー広告の不具合修正

2016/06/15 v4.2.1 バナー広告(AdMobメディエーション導入時)の不具合修正

2016/05/27 v4.2.0 AdMobメディエーション対応、バナーのコールバックを追加

2016/05/25 v4.1.1 インタースティシャル広告の不具合修正

2016/05/19 v4.1.0 バナー広告サイズアジャスト機能の追加

2016/02/16 v4.0.0 設計の見直し、インタースティシャル広告表示の高速化

SampleAppダウンロード

SDK組み込み済みの実装サンプルアプリをダウンロードできます。
下記導入手順と合わせて実装時の参考にお使いください。

SampleAppをダウンロード

1. プロジェクトへの導入

ⅰ. build.gradleの設定

プロジェクトでGradleを利用している場合、build.gradleに下記の設定を追加してください。

ⅰ. SDKファイルのダウンロード

下記より最新版のSDK一式をダウンロードしてください。

SDK(v4.4.2)ダウンロード

ⅱ. jarファイルのプロジェクトへの追加

ZucksAdNetworkSDK-4.x.x.jarをプロジェクト内のlibsフォルダに配置します。

AndroidStudio

ⅲ. Gradleによるプロジェクト更新

build.gradleに下記の設定を追加します。※既に記載されている場合は不要です。

Sync Project with Gradle Files を押下し、プロジェクト設定を更新します。

AndroidStudio

マニフェストの設定

パーミッションの追加

AndroidManifest.xmlに、下記の<uses-permission>タグを記述してください。
既にアプリで設定済みの場合は、追加で記述する必要はありません。

  • INTERNET : ネットワーク経由で広告を取得するために利用します。
  • ACCESS_NETWORK_STATE : ネットワーク状態を取得するために利用します。

2. Google Play Servicesの導入

ZucksAdNetworkSDKではアプリ利用者に適切な広告を表示するため
Google社が提供する広告ID(Advertising ID)を利用する場合があります。
そのためSDK導入時にはGoogle Play Servicesのインストールも必要となります。

ⅰ. Google Play Servicesのインストール

1. Google Play Servicesのインストールをする場合、build.gradleに下記の設定を追加してください。

2. AndroidManifest.xml<application>タグ内に、下記の<meta-data>タグを記述してください。

3. 広告の表示設定

広告タイプの選択

下記より掲載する広告タイプを選択して、続きの実装方法をご確認ください。

ⅰ. バナー広告

アプリ内にバナー広告を表示します。

バナー広告のリフレッシュ間隔設定は管理画面より行います。

バナー広告表示例(320x50)

バナー広告表示例(320x50)

バナー広告の表示

広告表示を行いたい任意のレイアウトファイルにnet.zucks.view.AdBannerを追加してください。
その際、レイアウトパラメータにFrame IDを指定してください。

アプリケーション内で下記の手順でnet.zucks.view.AdBannerのインスタンスを生成し、レイアウトに追加してください。
その際、第二引数にFrame IDを指定してください。

以上でバナー広告の設置が完了しました。アプリを起動し広告の表示を確認してください。

広告コールバック

Javaコードで実装する場合、net.zucks.listener.AdBannerListenerを使用して、広告情報のロード時や広告タップ時のコールバックを受け取ることが可能です。

実装例は以下の通りです。

検知できるコールバック一覧は以下の通りです。

public void onReceiveAd(AdBanner adBanner) 広告情報のロード成功時に通知されます。
リフレッシュ間隔を設定している場合はリフレッシュ毎に通知されます。
public void onTapAd(AdBanner adBanner) 広告タップ時に通知されます。
public void onFailure(AdBanner adBanner, Exception e) 広告情報のロード失敗時に通知されます。
エラーの内容によって以下のExceptionが設定されます。
net.zucks.exception.NetworkNotFoundException
→ オフラインエラー
net.zucks.exception.FrameIdNotFoundException
→ Frame IDエラー
net.zucks.exception.DisplaySizeTooSmallException
→ 画面サイズエラー
net.zucks.exception.ParentNotFoundException
→ 親Viewが存在していないエラー net.zucks.exception.AdIllegalStateException
→ 広告ステータス異常エラー net.zucks.exception.AdNetworkApiException
→ 広告配信ネットワークAPIエラー
public void onBackApplication(AdBanner adBanner) 広告タップ後アプリケーションに戻った時に通知されます。

バナー広告を画面サイズにアジャストする

バナー広告を画面の横幅(画面の短辺)に合わせて拡大する機能です。広告の表示例は以下の通りです。

バナー広告サイズアジャスト表示例(portrait)

portraitモードの広告表示例

バナー広告サイズアジャスト表示例(landscape)

landscapeモードの広告表示例

実装例

Javaコードで実装する場合にはコンストラクタ引数boolean sizeAdjusttrueを設定してください。

layout.xmlで実装する場合にはパラメータにsize_adjust="true"を設定してください。

広告を一時的に非表示にする(Javaコードでの実装時)

ポップアップ表示時など、一時的に広告を非表示にしたい場合は下記のAPIをコールしてください。

引数visibilityにはView.VISIBLE, View.INVISIBLE, View.GONEのいずれかを設定してください。

参考:Android Developers | View.setVisibility(int visibility)

ⅱ. インタースティシャル広告

アプリ終了時や、画面遷移時などに表示するインタースティシャル広告を設置します。

インタースティシャル広告の表示率は、管理画面から設定することができます。
表示率を変更したい場合、管理画面より枠の設定を変更してください。

インタースティシャル広告表示例(300x250)

インタースティシャル広告表示例

インタースティシャル広告の表示

net.zucks.view.AdInterstitialは、load()メソッドで広告情報をロードし、 その後show()メソッドを実行することでインタースティシャル広告を表示します。

広告情報のロードには通常1秒程度必要となります。
show()のタイミングより前に、余裕を持って広告情報のロードが完了するように実装してください。

複数回show()を呼び出す場合、後述の「繰り返し表示を想定した実装方法」を参考に、広告情報の再ロード処理を記述してください。

以上でインタースティシャル広告の設置が完了しました。アプリを起動し広告の表示を確認してください。

繰り返し表示を想定した実装方法

show()を行った後、再度インタースティシャル広告を表示する場合はshow()の前にload()を完了するように実装してください。
再取得を行う場合net.zucks.listener.AdInterstitialListeneronCloseAd()メソッドが最適です。
また、表示時エラーを考慮してonShowFailure(Exception e)メソッドにも実装します。

バックキー押下で広告を閉じる場合の実装方法

表示されたインタースティシャル広告をバックキーを使って閉じたい場合は
Activity内で、以下の方法で行ってください。

広告コールバック

net.zucks.listener.AdInterstitialListenerを使用して、広告情報ロード時や広告タップ時のコールバックを受け取ることが可能です。
広告情報のロードが未完了状態でshow()を実行した場合、onShowFailure(Exception e)が呼び出されます。

実装例は以下の通りです。

検知できるコールバック一覧は以下の通りです。

public void onReceiveAd() 広告情報のロード成功時に通知されます。
public void onShowAd() 広告表示時に通知されます。
public void onCancelDisplayRate() 表示率によるキャンセル時に通知されます。
public void onTapAd() 広告タップ時に通知されます。
public void onCloseAd() 広告クローズ時に通知されます。
public void onLoadFailure(Exception e) 広告情報のロード失敗時に通知されます。
エラーの内容によって以下のExceptionが設定されます。
net.zucks.exception.NetworkNotFoundException
→ オフラインエラー
net.zucks.exception.FrameIdNotFoundException
→ Frame IDエラー
net.zucks.exception.DisplaySizeTooSmallException
→ 画面サイズエラー
net.zucks.exception.AdIllegalStateException
→ 広告ステータス異常エラー net.zucks.exception.AdNetworkApiException
→ 広告配信ネットワークAPIエラー
public void onShowFailure(Exception e) 広告表示失敗時に通知されます。
エラーの内容によって以下のExceptionが設定されます。
net.zucks.exception.NetworkNotFoundException
→ オフラインエラー
net.zucks.exception.FrameIdNotFoundException
→ Frame IDエラー
net.zucks.exception.DisplaySizeTooSmallException
→ 画面サイズエラー
net.zucks.exception.AdIllegalStateException
→ 広告ステータス異常エラー net.zucks.exception.AdNetworkApiException
→ 広告配信ネットワークAPIエラー

ⅲ. 全画面(縦)インライン広告

アプリ内に全画面インライン広告を表示します。

全画面インライン広告表示例(400x600)

全画面インライン広告表示例

全画面インライン広告の表示

広告表示を行いたい任意のレイアウトファイルにnet.zucks.view.AdFullscreenBannerを追加してください。
その際、レイアウトパラメータにFrame IDを指定してください。

アプリケーション内で下記の手順でnet.zucks.view.AdFullscreenBannerのインスタンスを生成し、レイアウトに追加してください。
その際、第二引数にFrame IDを指定してください。

以上で全画面インライン広告の設置が完了しました。アプリを起動し広告の表示を確認してください。

広告コールバック

Javaコードで実装する場合、net.zucks.listener.AdFullscreenBannerListenerを使用して、広告情報のロード時や広告タップ時のコールバックを受け取ることが可能です。

実装例は以下の通りです。

検知できるコールバック一覧は以下の通りです。

public void onReceiveAd(AdFullscreenBanner banner) 広告情報のロード成功時に通知されます。
public void onTapAd(AdFullscreenBanner banner) 広告タップ時に通知されます。
public void onFailure(AdFullscreenBanner banner, Exception e) 広告情報のロード失敗時に通知されます。
エラーの内容によって以下のExceptionが設定されます。
net.zucks.exception.NetworkNotFoundException
→ オフラインエラー
net.zucks.exception.FrameIdNotFoundException
→ Frame IDエラー
net.zucks.exception.DisplaySizeTooSmallException
→ 画面サイズエラー
net.zucks.exception.ParentNotFoundException
→ 親Viewが存在していないエラー net.zucks.exception.AdIllegalStateException
→ 広告ステータス異常エラー net.zucks.exception.AdNetworkApiException
→ 広告配信ネットワークAPIエラー net.zucks.exception.AdOutOfStockException
→ 広告在庫なし

ⅱ. 全画面(縦)インタースティシャル広告

アプリ終了時や、画面遷移時などに表示する全画面インタースティシャル広告を設置します。

全画面インタースティシャル広告の表示率は、管理画面から設定することができます。
表示率を変更したい場合、管理画面より枠の設定を変更してください。

全画面インタースティシャル広告表示例(400x600)

全画面インタースティシャル広告表示例

全画面インタースティシャル広告の表示

net.zucks.view.AdFullscreenInterstitialは、load()メソッドで広告情報をロードし、 その後show()メソッドを実行することで全画面インタースティシャル広告を表示します。

広告情報のロードには通常1秒程度必要となります。
show()のタイミングより前に、余裕を持って広告情報のロードが完了するように実装してください。

以上で全画面インタースティシャル広告の設置が完了しました。アプリを起動し広告の表示を確認してください。

広告コールバック

net.zucks.listener.AdFullscreenInterstitialListenerを使用して、広告情報ロード時や広告タップ時のコールバックを受け取ることが可能です。
広告情報のロードが未完了状態でshow()を実行した場合、onShowFailure(Exception e)が呼び出されます。

実装例は以下の通りです。

検知できるコールバック一覧は以下の通りです。

public void onReceiveAd() 広告情報のロード成功時に通知されます。
public void onShowAd() 広告表示時に通知されます。
public void onCancelDisplayRate() 表示率によるキャンセル時に通知されます。
public void onTapAd() 広告タップ時に通知されます。
public void onCloseAd() 広告クローズ時に通知されます。
public void onLoadFailure(Exception e) 広告情報のロード失敗時に通知されます。
エラーの内容によって以下のExceptionが設定されます。
net.zucks.exception.NetworkNotFoundException
→ オフラインエラー
net.zucks.exception.FrameIdNotFoundException
→ Frame IDエラー
net.zucks.exception.DisplaySizeTooSmallException
→ 画面サイズエラー
net.zucks.exception.AdIllegalStateException
→ 広告ステータス異常エラー net.zucks.exception.AdNetworkApiException
→ 広告配信ネットワークAPIエラー net.zucks.exception.AdOutOfStockException
→ 広告在庫なし
public void onShowFailure(Exception e) 広告表示失敗時に通知されます。
エラーの内容によって以下のExceptionが設定されます。
net.zucks.exception.NetworkNotFoundException
→ オフラインエラー
net.zucks.exception.FrameIdNotFoundException
→ Frame IDエラー
net.zucks.exception.DisplaySizeTooSmallException
→ 画面サイズエラー
net.zucks.exception.AdIllegalStateException
→ 広告ステータス異常エラー net.zucks.exception.AdNetworkApiException
→ 広告配信ネットワークAPIエラー net.zucks.exception.AdOutOfStockException
→ 広告在庫なし

4. 広告が表示されない場合

導入手順に従って実装されているにも関わらず広告が表示されない等の問題が発生した場合は以下をご確認ください。

SDK導入に関するFAQ

5. 取得情報

SDKで取得している情報

Android版Zucks Ad Network SDKでは下記情報を取得し、アプリ利用者に適切な広告を表示する目的で使用しています。

  • 広告識別子(Advertising ID)
  • 行動ターゲティング広告の可否の設定状態に関する情報
  • 端末種別/端末言語設定
  • User-Agent
  • IPアドレス
  • Mobile Country Code(MCC)
  • Mobile Network Code(MNC)
  • ネットワーク種別
  • SDKのバージョン
  • アプリケーションのバージョン

オプトアウト方法など詳細に関しては、下記ページをご確認ください。