Android 用のマルチ広告リクエスト
概要
このページには、 を開始および構成するための手順とコード サンプルがあります ANMultiAdRequest
。 ANMultiAdRequest
を使用すると、ユーザーは 1 つのユニバーサル タグ (UTv3) 要求を使用して複数のオークションを開始でき、その結果は 1 つのサーバー応答で返されます。
ANMultiAdRequest
は具象クラスであり、インターフェイスを実装していません。 クラスは、各AdUnit
型の同じ仕様を使用して、異なる AdUnits
(バナー、ネイティブ、ビデオなど) の型と動作を採用します。 カスタム キーワードは に ANMultiAdRequest
割り当てることができ、含まれている AdUnits
によって継承されます。 にはANMultiAdRequest
、 または onMultiAdRequestFailed()
を観察onMultiAdRequestCompleted()
する公開リスナーがあります。
初期化
ユーザーは、2 つの初期化方法のいずれかから選択できます。 どちらも初期化するにはANMultiAdRequest
、引数として memberId と multiAdRequestListener
オブジェクトが必要です。 と multiAdRequestListener
はmemberId
、インスタンスごとに 1 回だけ設定できます。 現時点では、省略可能な Publisher ID パラメーター を設定できます。 すべてがAdUnits
、 を含む初期化プロセスAdUnits
で渡されたものと同じmemberId
を含むplacementIds
必要があります。その配置の関連付けられている memberId
が使用されます。 初期化が成功すると、 ANMultiAdRequest
クラス インスタンスが返されます。
注:
インスタンスはMultiAdRequest
、独自の値とは異なる値でmemberId
拒否AdUnits
されます。
初期化メソッド
のAdUnits
一覧を使用して初期化し、 メソッドを呼び出します。load
初期化を有効にし、1 行のコードで メソッドを呼び出します load
。 インスタンスは、1 つ以上 AdUnits
の のリストで初期化されます。 ライフサイクル中にエラーが発生した load
場合、クラスは初期化されず、nil オブジェクトが返されます。 正常 load
なプロセスが発生すると、クラス インスタンスが返されます。
パブリッシャー ID なし
anMultiAdRequest = new ANMultiAdRequest(context, memberId, multiAdRequestListener, loadOnInit, ads);
パブリッシャー ID を使用する
public ANMultiAdRequest(Context context, int memberId, int publisherId, MultiAdRequestListener multiAdRequestListener, boolean loadOnInit, Ad...ads)
単純な初期化
この基本的な初期化では、 クラスのインスタンスが返されますが、アクションは実行されません。 構成は、クラスのプロパティとメソッドを使用して完了できます。 初期化されたデリゲートは、 に AdUnits
設定され、追加されます。
パブリッシャー ID なし
anMultiAdRequest = new ANMultiAdRequest(context, memberId, multiAdRequestListener);
パブリッシャー ID を使用する
public ANMultiAdRequest(Context context, int memberId, int publisherId, MultiAdRequestListener multiAdRequestListener)
引数
変数 | 型 | 範囲 | 説明 |
---|---|---|---|
memberId |
int | 必須 | メンバー ID。 内に含まれるも AdUnits の ANMultiAdRequest はすべて同一 memberIds である必要があります。または が ANMultiAdRequest 拒否されます。 を memberId 渡 placementId すことでも達成できます。 |
multiAdRequestListener |
MultiAdRequestListener | 必須 | 成功か失敗かに関係なく、応答に関する情報を共有するために使用されます。 |
loadOnInit |
ブール値 | 省略可能 | 初期化中に を ANMultiAdRequest 読み込むかどうかを決定するブール値。 |
ads |
Ad | 省略可能 | 広告の一覧を取得するための可変長引数。 |
構成
すべての ANMultiAdRequest
構成プロパティとメソッドは、 で使用 AdUnits
されるものと同じ型と使用法です。 で ANMultiAdRequest
プロパティが設定されている場合、 はそれらのプロパティを AdUnits
継承します。 ライフサイクルが完了AdUnits
したら、元のANMultiAdRequest
プロパティ値に戻すと、永続的ではありません。
パラメーター | 型 | 説明 |
---|---|---|
memberId |
int | メンバー ID。 内に含まれるも AdUnits の ANMultiAdRequest はすべて同一 memberIds であるか、 ANMultiAdRequest Xandr のインプレッション バスによって拒否されます。 を memberId 渡 placementId すことでも達成できます。 |
age |
文字列 | ユーザーの年齢。 |
gender |
AdView.GENDER | ユーザーの性別。 |
externalUid |
文字列 | Xandr の内部 ID にマップでき、複数のシートを持つクライアントのメンバー間で共有されるマッピングのユーザー生成 ID。 |
customKeyword |
ArrayList<ペア<文字列、文字列>> | に適用される ANMultiAdRequest カスタム キーワード。 これらのキーワードは、添付された AdUnits によって継承されます。 このリストは、追加のカスタム キーワードを使用して、各 AdUnit 内で補足できます。 |
AdUnit |
Ad | に ANMultiAdRequest 追加する AdUnit 項目。 |
ANMultiAdRequest
メソッド
load()
Xandr のインプレッション バスに要求をmulti-tag UTv3
送信することで、含まれるAdUnits
すべてを読み込みます。 インスタンスごとに ANMultiAdRequest
、一度にアクティブにできる負荷は 1 つだけです。 いずれかの Listner
メソッドが発生すると、読み込みが完了します。 true
成功時とfalse
失敗時に返されます。
public boolean load()
addAdUnit(Ad adUnit)
に を AdUnit
追加します ANMultiAdRequest
。 AdUnits
が に割り当てられた ANMultiAdRequest
と一致memberId
しない場合、または に含まれる他AdUnits
の の と一致memberId
しない場合memberId
は拒否されますANMultiAdRequest
。 true
成功時とfalse
失敗時に返されます。
public boolean addAdUnit(Ad adUnit)
引数
パラメーター | 型 | 範囲 | 説明 |
---|---|---|---|
AdUnit |
Ad | 必須 | AdUnit に追加するANMultiAdRequest 項目。 |
removeAdUnit(Ad adUnit)
成功時とfalse
失敗時に 戻る true
から ANMultiAdRequest
をAdUnit
削除します。
public void removeAdUnit(Ad adUnit)
引数
パラメーター | 型 | 範囲 | 説明 |
---|---|---|---|
AdUnit |
Ad | 必須 | AdUnit からANMultiAdRequest 削除する項目。 |
addCustomKeywordWithKey
にカスタム キーワード (keyword)を追加しますANMultiAdRequest
。 キーと値のペアとして格納されたカスタム キーワードは、 にANMultiAdRequest
含まれる によってAdUnits
継承されます。
public void addCustomKeywords(String key, String value)
引数
パラメーター | 型 | 範囲 | 説明 |
---|---|---|---|
key |
String | 必須 | カスタム キーワード (keyword)のキー識別子。 |
value |
文字列 | 必須 | カスタム キーワード (keyword)の値。 |
removeCustomKeywordWithKey
からカスタム キーワード (keyword)を削除しますMultiAdRequest
。 削除キーワード (keyword)は、 にANMultiAdRequest
含まれる によってAdUnits
継承されなくなります。
public void removeCustomKeyword(String key)
引数
パラメーター | 型 | 範囲 | 説明 |
---|---|---|---|
key |
String | 必須 | 削除するカスタム キーワード (keyword)のキー識別子。 |
clearCustomKeywords
からすべてのカスタム キーワードを削除します MultiAdRequest
。 クリアされたキーワードは、 にANMultiAdRequest
含まれる によってAdUnits
継承されなくなります。
public void clearCustomKeywords()
stop()
要求が MultiAdRequest
完了する前に、 を停止します。
public void stop()
activityOnDestroy()
メモリ リークを防ぐために、アクティビティが完了した後に広告ユニットを破棄します。
adUnit.activityOnDestroy()
注:
ベスト プラクティスとして:
- すべての SDK メソッドは、メイン スレッドで呼び出す必要があります。
activityOnDestroy()
が破棄されると予想される場合は、アタッチされた AdUnit に対して を呼び出す必要があります。
例
if (anMultiAdRequest != null) {
for (WeakReference<Ad> adRef: anMultiAdRequest.getAdUnitList()) {
Ad ad = adRef.get();
if (ad instanceof BannerAdView) {
((BannerAdView) ad).activityOnDestroy();
} else if (ad instanceof InterstitialAdView){
((InterstitialAdView) ad).activityOnDestroy();
} else if (ad instanceof VideoAd) {
((VideoAd) ad).activityOnDestroy();
}
}
}
MultiAdRequestListener
メソッド
onMultiAdRequestCompleted()
の成功を ANMultiAdRequest
返します。 成功は、含まれる AdUnits
すべてが読み込まれ、明確な結果を持っていることを示します。
void onMultiAdRequestCompleted()
onMultiAdRequestFailed(ResultCode code)
何らかの理由でインスタンスによってANMultiAdRequest
生成された がUT Request
失敗した場合にエラー メッセージを返します。
void onMultiAdRequestFailed(ResultCode code)