Zucks Ad Network iOS用SDK導入手順

対象OS

iOS7.0以上

更新履歴

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

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

2017/01/10 v4.6.0 全画面広告に対応

2016/09/16 v4.5.1 リジェクト対応として内部メソッド名を変更

2016/09/12 v4.5.0 サポートOSバージョンを7以上に変更、iマークタップ時のコールバック呼び出しを変更

2016/07/20 v4.4.2 バナー広告がオフライン環境への移行後クラッシュする問題に対応

2016/07/07 v4.4.1 UnityPluginへの対応とメモリリーク対応、cocoapods1.0対応

2016/05/27 v4.3.0 AdMobメディエーション対応

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

2016/04/18 v4.1.2 Cocos2d-x上でインタースティシャルがクラッシュする問題に対応

2016/02/25 v4.1.1 ModuleCacheに関する警告が出力される問題に対応

2016/02/15 v4.1.0 フレームワーク追加を自動化

2016/02/09 v4.0.0 設計の見直し、インタースティシャル広告表示の高速化、Bitcode対応、Swiftでの実装を正式サポート

SampleAppダウンロード

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

SampleAppをダウンロード

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

ⅰ. Podfileの設定

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

ⅱ. Podfileの変更の反映

podコマンドを利用し、Podfileの変更をプロジェクトに反映させます

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

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

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

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

プロジェクトナビゲータの任意の場所でポップアップメニューを表示させ、「Add Files to...」を選択してファイル選択ダイアログを表示させます。

XCode外部ファイル追加

ダウンロードしたSDKファイル内より、ZucksAdNetworkSDK.frameworkを選択し追加します。
この時、Copy items if neededにチェックを入れてください。

XCode追加ファイル選択ダイアログ

2. 広告の表示設定

ⅰ. バナー広告

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

バナー広告は広告情報のロード処理が完了すると自動的に表示されます。

リフレッシュ間隔が設定されている場合は、設定された間隔に従って新しい広告に自動更新されます。
バナー広告のリフレッシュ間隔は管理画面より設定してください。

以下では、コード記述による実装方法とInterfaceBuilder(Storyboard)を使った実装方法それぞれについて説明します。

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

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

バナー広告を設置する箇所に以下のコードサンプルを参考に実装を行ってください。

Objective-C

Swift

以上で実装は完了です。
アプリをビルドして広告が表示されることを確認してください。

UIViewを追加する

右下のObject libraryからUIViewを選択してバナーを設置するViewController上にドラッグします。
その後、管理画面で設定した枠のサイズや表示したい位置に従って、制約(Constraints)を設定してください。

Storyboard上でUIView追加

viewのクラスをZADNBannerViewに変更する

設置したViewオブジェクトを選択した状態で右上のアイコンからIdentity Inspectorを選択し、Custom ClassのClassをZADNBannerViewに変更してください。

viewのクラスをZADNBannerViewに変更

frameIdを設定する

ZADNBannerViewオブジェクトを選択した状態で右上のアイコンからAttributes Inspectorを選択し、
BannerViewのFrame Idに管理画面より発行したFrame IDの値を設定してください。

frameId設定

以上で設定は完了です。
アプリをビルドして広告が表示されることを確認してください。

広告イベント

ZADNBannerViewDelegateを使用して広告情報ロード時や広告タップ時のイベント通知を受け取ることが可能です。
ZADNBannerViewDelegateで検知できるイベントは以下の通りです。

- (void)bannerViewDidReceiveAd:(ZADNBannerView *)bannerView 広告情報ロード完了時に通知されます。
リフレッシュ間隔を設定している場合はリフレッシュ毎に通知されます。
- (void)bannerViewDidTapAd:(ZADNBannerView *)bannerView 広告タップ時に通知されます。
- (void)bannerView:(ZADNBannerView *)bannerView didFailAdWithErrorType:(ZADNBannerErrorType)errorType 広告情報ロード失敗時に通知されます。
エラーの内容によって以下の値がerrorTypeに設定されます。
ZADNBannerErrorTypeOffline : オフライン
ZADNBannerErrorTypeFrameIdUndefined : frameIDエラー
ZADNBannerErrorTypeSizeError : サイズエラー
ZADNBannerErrorTypeOtherError : その他エラー

広告イベント通知の実装方法(Objective-C)

広告イベント通知の実装方法(Swift)

InterfaceBuilder(StoryBoard)で導入する場合のdelegate接続方法

ZADNBannerViewオブジェクトを選択した状態で右上のConnections Inspectorを選択、Outletsのdelegate右横の丸をクリックしそのままドラッグしてViewControllerと接続します。

delegate接続

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

バナー広告を画面の横幅(画面の短辺)に合わせて拡大する機能です。

sizeAdjust縦

portraitモードの広告表示例

sizeAdjust横

landscapeモードの広告表示例

コードで実装する場合のサイズアジャスト指定方法

バナー広告の初期化時にsizeAdjustパラメータにYES(true)を設定してください。

バナー広告サイズアジャスト(Objective-C)

バナー広告サイズアジャスト(Swift)

また、バナー広告の表示位置指定等に拡大後のサイズを利用したい場合は以下のようにしてサイズを取得可能です

拡大後のバナーサイズを取得(Objective-C)

拡大後のバナーサイズを取得(Swift)

InterfaceBuilder(StoryBoard)で導入する場合のサイズアジャスト指定方法

ZADNBannerViewオブジェクトを選択した状態で右上のアイコンからIdentity Inspectorを選択し、User Defined Runtime Attributesの+ボタンを押下して項目を追加してください。
Key PathにsizeAdjust、TypeにBoolean、Valueのチェックをオンに、それぞれ設定してください。

delegate接続

※ AutoLayoutを使用する場合は、ZADNBannerViewのサイズ指定(width、height)を明示的に指定するようにしてください。 親Viewとの制約のみでサイズが決定するような場合、自動でサイズ調整が行われず、広告の周りに空白が出来たり見切れてしまったりする可能性があります。
サイズの指定は拡大前の値を設定してください。(通常のバナーであれば320x50)

delegate接続

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

画面遷移時等に表示するインタースティシャル広告を設置します。

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

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

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

基本的な表示方法

ZADNInterstitialViewは、loadAdメソッドで広告情報をロードし、 その後showメソッドを実行することでインタースティシャル広告を表示します。

広告情報のロードには通常1秒程度必要となります。
showのタイミングより前に、余裕を持って広告情報のロードが完了するように実装してください。
広告情報のロードが未完了の状態でshowを実行した場合、
interstitialViewDidShowFailAdWithErrorType:が呼び出されます(delegateを実装している場合)

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

インタースティシャル広告を設置する箇所に以下のコードサンプルを参考に実装を行ってください。

Objective-C

Swift

以上で実装は完了です。
アプリをビルドして広告が表示されることを確認してください。

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

showを行った後、再度インタースティシャル広告を表示する場合はshowの前にloadAdを完了するように実装してください。
再ロードを行う場合ZADNInterstitialViewDelegateinterstitialViewDidDismissAdメソッドが最適です。
また、表示時エラーを考慮してinterstitialViewDidShowFailAdWithErrorType:メソッドにも実装します。

Objective-C

Swift

広告イベント

ZADNInterstitialViewDelegateを使用して広告情報ロード完了時、表示時や広告タップ、クローズ等のイベント通知を受け取ることが可能です。
ZADNInterstitialViewDelegateで検知できるイベントは以下の通りです。

- (void)interstitialViewDidReceiveAd 広告情報ロード完了時に通知されます。
- (void)interstitialViewDidLoadFailAd
WithErrorType:(ZADNInterstitialLoadErrorType)errorType
広告情報ロード失敗時に通知されます。
エラーの内容によって以下の値がerrorTypeに設定されます。
ZADNInterstitialLoadErrorTypeOffline : オフライン
ZADNInterstitialLoadErrorTypeFrameIdUndefined : frameIDエラー
ZADNInterstitialLoadErrorTypeOtherError : その他エラー
- (void)interstitialViewDidShowAd 広告表示時に通知されます。
- (void)interstitialViewDidShowFailAd
WithErrorType:(ZADNInterstitialShowErrorType)errorType
広告表示失敗時に通知されます。
エラーの内容によって以下の値がerrorTypeに設定されます。
ZADNInterstitialShowErrorTypeOffline : オフライン
ZADNInterstitialShowErrorTypeNoAdData : 広告情報未ロード
ZADNInterstitialShowErrorTypeLoading : 広告情報ロード中
ZADNInterstitialShowErrorTypeAlreadyShowing : 広告表示中
ZADNInterstitialShowErrorTypeOtherError : その他エラー
- (void)interstitialViewCancelDisplayRate 表示率設定により表示がキャンセルされた場合に通知されます。
- (void)interstitialViewDidTapAd 広告タップ時に通知されます。
- (void)interstitialViewDidDismissAd 広告クローズ時に通知されます。

広告イベント通知の実装方法(Objective-C)

広告イベント通知の実装方法(Swift)

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

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

コンテンツ領域を最大限に活用した広告を表示することが可能です。

全画面インライン広告は広告情報のロード処理が完了すると自動的に表示されます。

※ 全画面インライン広告は縦向き(Portrait)のみの対応となります。

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

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

基本的な表示方法

全画面インライン広告を設置する箇所に以下のコードサンプルを参考に実装を行ってください。

Objective-C

Swift

ZADNFullScreenBannerViewloadAd実行前にViewのサイズが確定している必要があります。
AutoLayoutを利用した制約ベースのレイアウトを行う場合、上記サンプルのようにviewDidLoad内でloadAdを行うと正しいサイズで広告が表示されないためご注意ください。

以上で実装は完了です。
アプリをビルドして広告が表示されることを確認してください。

広告イベント

ZADNFullScreenBannerViewDelegateを使用して広告情報ロード時や広告タップ時のイベント通知を受け取ることが可能です。
ZADNFullScreenBannerViewDelegateで検知できるイベントは以下の通りです。

- (void)fullScreenBannerViewDidReceiveAd:(ZADNFullScreenBannerView *)fullScreenBannerView 広告情報ロード完了時に通知されます。
- (void)fullScreenBannerViewDidTapAd:(ZADNFullScreenBannerView *)fullScreenBannerView 広告タップ時に通知されます。
- (void)fullScreenBannerView:(ZADNFullScreenBannerView *)fullScreenBannerView didFailAdWithErrorType:(ZADNFullScreenBannerErrorType)errorType 広告情報ロード失敗時に通知されます。
エラーの内容によって以下の値がerrorTypeに設定されます。
ZADNFullScreenBannerErrorTypeOffline : オフライン
ZADNFullScreenBannerErrorTypeFrameIdUndefined : frameIDエラー
ZADNFullScreenBannerErrorTypeSizeError : サイズエラー
ZADNFullScreenBannerErrorTypeAdOutOfStock : 広告在庫切れ
ZADNFullScreenBannerErrorTypeOtherError : その他エラー

広告イベント通知の実装方法(Objective-C)

広告イベント通知の実装方法(Swift)

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

画面遷移時等に表示する全画面インタースティシャル広告を設置します。

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

※ 全画面インタースティシャル広告は縦向き(Portrait)のみの対応となります。

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

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

基本的な表示方法

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

広告情報のロードには通常1秒程度必要となります。
showのタイミングより前に、余裕を持って広告情報のロードが完了するように実装してください。
広告情報のロードが未完了の状態でshowを実行した場合、
fullScreenInterstitialViewDidShowFailAdWithErrorType:が呼び出されます(delegateを実装している場合)

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

全画面インタースティシャル広告を設置する箇所に以下のコードサンプルを参考に実装を行ってください。

Objective-C

Swift

以上で実装は完了です。
アプリをビルドして広告が表示されることを確認してください。

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

showを行った後、再度広告を表示する場合はshowの前にloadAdを完了するように実装してください。
再ロードを行う場合ZADNFullScreenInterstitialViewDelegatefullScreenInterstitialViewDidDismissAdメソッドが最適です。
また、表示時エラーを考慮してfullScreenInterstitialViewDidShowFailAdWithErrorType:メソッドにも実装します。

Objective-C

Swift

広告イベント

ZADNFullScreenInterstitialViewDelegateを使用して広告情報ロード完了時、表示時や広告タップ、クローズ等のイベント通知を受け取ることが可能です。
ZADNFullScreenInterstitialViewDelegateで検知できるイベントは以下の通りです。

- (void)fullScreenInterstitialViewDidReceiveAd 広告情報ロード完了時に通知されます。
- (void)fullScreenInterstitialView
DidLoadFailAdWithErrorType:(ZADNFullScreenInterstitialLoadErrorType)errorType
広告情報ロード失敗時に通知されます。
エラーの内容によって以下の値がerrorTypeに設定されます。
ZADNFullScreenInterstitialLoadErrorTypeOffline : オフライン
ZADNFullScreenInterstitialLoadErrorTypeFrameIdUndefined : frameIDエラー
ZADNFullScreenInterstitialLoadErrorTypeAdOutOfStock : 在庫切れ
ZADNFullScreenInterstitialLoadErrorTypeOtherError : その他エラー
- (void)fullScreenInterstitialViewDidShowAd 広告表示時に通知されます。
- (void)fullScreenInterstitialView
DidShowFailAdWithErrorType:(ZADNFullScreenInterstitialShowErrorType)errorType
広告表示失敗時に通知されます。
エラーの内容によって以下の値がerrorTypeに設定されます。
ZADNFullScreenInterstitialShowErrorTypeOffline : オフライン
ZADNFullScreenInterstitialShowErrorTypeNoAdData : 広告情報未ロード
ZADNFullScreenInterstitialShowErrorTypeLoading : 広告情報ロード中
ZADNFullScreenInterstitialShowErrorTypeAlreadyShowing : 広告表示中
ZADNFullScreenInterstitialShowErrorTypeOtherError : その他エラー
- (void)fullScreenInterstitialViewCancelDisplayRate 表示率設定により表示がキャンセルされた場合に通知されます。
- (void)fullScreenInterstitialViewDidTapAd 広告タップ時に通知されます。
- (void)fullScreenInterstitialViewDidDismissAd 広告クローズ時に通知されます。

広告イベント通知の実装方法(Objective-C)

広告イベント通知の実装方法(Swift)

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

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

SDK導入に関するFAQ

4. 取得情報

SDKで取得している情報

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

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

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