# Amazon Publisher Services - Ad Generation Integration [iOS]
Amazon Publisher ServicesとAd Generation SDKをiOSで連携するためのマニュアルとなります。
# サービスご利用にあたって
本連携については、Amazon Publisher Servicesの登録がお済みのうえ、行って頂くようお願いいたします。
Amazon Publisher Servicesのドキュメント等、公式サイトよりご確認お願いいたいます。
# 対応バージョン
- iOS 13.0
- Xcode 15.4
- Ad Generation SDK v2.26.1
- Amazon Publisher Services SDK v4.10.1(2024-10-3)
注意
- 広告のリフレッシュ(ローテーション)を行う場合はAmazon Publisher Servicesの機能を用いて実装してください。
- Ad Generationのローテーション及び、連携SDKのアドネットワークのローテーション設定はOFFにしてください。
- Amazon Publisher Services(DTB SDK)とAmazon Mobile Ad Network SDKの併用はサポート対象外となります。
# Ad Generation管理画面での広告枠設定
- 対象枠でカスタムタグを作成する。
- カスタムタグ認証情報として「Amazon Header Bidding」を選択する。
- アドネットワーク名を入力する。こちらは表示にのみ使用されます。
- Key/CPMをデフォルト値から変更したい場合は変更します。
# Amazon Publisher Services SDKの導入
# CocoaPodを使用する(推奨)
以下の行をプロジェクトのPodfileに追加します。
pod 'AmazonPublisherServicesSDK', '4.10.1'
pod install
を実行します
# 手動でインストールする
- 下記のフレームワークを追加してください。
- DTBiOSSDK.xcframework
- AdSupport
- CoreGraphics
- CoreTelephony
- SystemConfiguration
- CoreLocation
# APS向けのSKAdNetworkIDを追加する
Info.plist
に対して、下記のIDを追加お願いいたします。
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>vhf287vqwu.skadnetwork</string>
</dict>
</array>
amazon publisher services SKAdNetwork ID List (opens new window)
# Ad Generation SDKの導入
- Ad Generation iOSSDKバナー導入マニュアルの[1. SDKをダウンロードする]をご参照ください。
# Amazon Publisher Services SDK(DTB SDK)の初期設定
AppDelegate.mのdidFinishLaunchingWithOptionsにて初期設定を行います。
DTB SDKの初期設定は必ずメインスレッド上で行う必要があります。
# バナー広告
# importとdelegate protocolの定義
# DTBAdLoaderの生成と広告リクエスト
# 広告リクエスト結果処理
- DTBSDKが生成するbid情報(DTBAdResponse)の有効期間は10分となります。
- DTBAdResponseパラメーターの付与以外は通常のAd Genrationの広告リクエストと同様です。
# オートリフレッシュ(ローテーション)の実装
- 広告のオートリフレッシュ(ローテーション)はAd Generationの機能を使わずにDTB SDKの
DTBAdLoader
に設定ください。
Ad Generationのローテーションおよび、連携SDKのアドネットワークのローテーション設定はOFFにしてください。
- 自動更新を必ず停止してください。自動更新を停止する際の推奨場所はviewDidDisappearです。自動更新処理を不適切に使用してしまうと、インプレッション数に矛盾の可能性が発生します。
注意
- 広告の自動更新処理を停止し、DTBAdLoaderで使用されているリソースを解放することは、重要です。広告の自動更新処理は、明示的に停止しない限り続行されます。その場合、想定外の挙動になり、またインプレッション数が少なくなります。
- loadAd を呼び出す前に自動更新のプロパティを設定します。loadAdを1回呼び出す際、DTBAdLoader のインスタンスを1つだけ使用してください。また、stop()が呼び出さるとインスタンスを再使用することはできません。
onSuccess
やonFailure
コールバック等で、Viewの上に重ねてViewを生成しないでください。新しいViewを作る場合、以前のViewをクリアするようにしてください。- オートリフレッシュは60秒がデフォルトであり、20秒未満に設定した場合、自動的に60秒に上書きされます。
DTBAdLoader
クラスのsetAutoRefresh
メソッドを利用せず、インスタンスの再生成などで独自にローテーションをおこなうことはお控えください- 独自にローテーションをおこなうことが避けられない場合は、Amazon Publisher Services SDKに対してローテーションのための再リクエストであることを通知する実装が別途必要となりますので、弊社へお問い合わせ、またはAmazon社へお問い合わせください。
# DTBAdLoaderの破棄
- DTBAdLoaderインスタンスが不要になったタイミングでnilのセットをしてください。
# テストモード
テストモードを有効にするには、以下のコードを広告リクエストより前に実行してください。
注意
テスト広告は属性の資格がないため、本番ではテストコードを忘れずに削除してください。
# 通信の検証
通信の検証を行う場合は、下記の公式サイトを参考に検証を行ってください。
Sending Artifacts to APS for Verification (opens new window)
Mobile Integration Self-Check Guide (opens new window)