概要
この記事では、マルチ広告要求 (ANMultiAdRequest) を開始および構成するための手順とコード サンプルについて説明します。
ANMultiAdRequest では、1 つのユニバーサル タグ (UTv3) 要求を使用して複数のオークションを開始できます。その結果は、1 つのサーバー応答で返されます。
ANMultiAdRequestのように、 は AdUnitの ANAdProtocolサブセットを実装します。 これにより、 は、各AdUnit型の同じ仕様を使用して、異なる AdUnits (バナー、ネイティブ、ビデオなど) の種類と動作を採用できますANMultiAdRequest。 カスタム キーワードは に ANMultiAdRequest 割り当てることができ、含まれている AdUnitsによって継承されます。
初期化
ユーザーは、3 つの初期化方法のいずれかから選択できます。 初期化するにはANMultiAdRequest、 memberId と delegate オブジェクトが引数として必要です。 と delegate はmemberId、インスタンスごとに 1 回だけ設定できます。 現時点では、省略可能な Publisher ID パラメーター を設定できます。 すべて AdUnits 初期化プロセスで渡されたものと同じ memberId を含む必要があります。
AdUnits には placementIds 、その配置の関連付けられている memberId が使用されます。 初期化が成功すると、 ANMultiAdRequest クラス インスタンスが返されます。
注:
インスタンスはANMultiAdRequest、独自の値とは異なる値でmemberId拒否AdUnitsされます。
初期化メソッド
1 つ以上のリストを使用して初期化する AdUnits
のインスタンス ANMultiAdRequest を 1 つ以上 AdUnitsのリストで初期化します。 例えば、
パブリッシャー ID なし
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit, ...;
パブリッシャー ID を使用する
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
... NS_REQUIRES_NIL_TERMINATION;
のAdUnits一覧を使用して初期化し、 メソッドを呼び出します。load
初期化を有効にし、1 行のコードで メソッドを呼び出します load 。 上記のプロセスと同様に、インスタンスは 1 つ以上 AdUnitsの リストで初期化されます。 ライフサイクル中にエラーが発生した load 場合、クラスは初期化されず、null オブジェクトが返されます。 正常 load なプロセスが発生すると、クラス インスタンスが返され、その後、 を介して ANMultiAdRequestDelegateインスタンスの成功または失敗が呼び出し元に伝達されます。 例えば、
パブリッシャー ID なし
- (nullable instancetype)
initAndLoadWithMemberId:(NSInteger)memberId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
...;
パブリッシャー ID を使用する
- (nullable instancetype)
initAndLoadWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
delegate:(nullable id<ANMultiAdRequestDelegate>)delegate
adUnits:(nonnull id<ANAdProtocolFoundationCore>)firstAdUnit,
... NS_REQUIRES_NIL_TERMINATION;
単純な初期化
この基本的な初期化では、 クラスのインスタンスが返されますが、アクションは実行されません。 構成は、クラスのプロパティとメソッドを使用して完了できます。 初期化されたデリゲートは、 に AdUnits 設定され、追加されます。
パブリッシャー ID なし
- (nullable instancetype)initWithMemberId:(NSInteger)memberId
andDelegate:(nonnull id<ANMultiAdRequestDelegate>)
パブリッシャー ID なし
- (nullable instancetype)
initWithMemberId:(NSInteger)memberId
publisherId:(NSInteger)publisherId
andDelegate:(nullable id<ANMultiAdRequestDelegate>)delegate;
引数
| 変数 | 型 | 属性 | 範囲 | 説明 |
|---|---|---|---|---|
memberId |
NSInteger | nonatomic, readonly, assign | Required |
メンバー ID。 内に含まれるも AdUnits の ANMultiAdRequest はすべて同一 memberIds である必要があります。または が ANMultiAdRequest 拒否されます。 を memberId 渡 placementIdすことでも達成できます。 |
delegate |
ANMultiAdRequestDelegate | nonnull | 必須 | 関連するコールバックと情報で通知されるオブジェクト。 |
adUnits |
adUnits の一覧 | nonnull | 省略可能 | の AdUnits 初期化用の の ANMultiAdRequest一覧。 |
注:
初期化が成功した場合、SDK は を返します YES。それ以外の場合は を返します NO。
構成
すべての ANMultiAdRequest 構成プロパティとメソッドは、 で使用 AdUnitsされるものと同じ型と使用法です。 で ANMultiAdRequestプロパティが設定されている場合、 はそれらのプロパティを AdUnits 継承します。 永続的ではありません。
ANMultiAdRequestのライフサイクルが完了すると、AdUnitsインスタンスによってカプセル化された の一覧から削除された後、ローカル プロパティのAdUnits値にANMultiAdRequestアクセスします。
パラメーター
| パラメーター | 型 | 属性 | 説明 |
|---|---|---|---|
memberId |
NSInteger | Readonly | メンバー ID。 内に含まれるも AdUnits の MultiAdRequest はすべて同一 memberIds であるか、 MultiAdRequest Xandr のインプレッション バスによって拒否されます。 を memberId 渡 placementIdすことでも達成できます。 |
location |
ANLocation | Readwrite | ユーザーの場所。
Locationと レベルをprecision使用してhorizontalAccuracy設定できます。 以下 の「場所の方法」を 参照してください。 |
age |
NSString | Readwrite | ユーザーの年齢。 |
gender |
ANGender | Readwrite | ユーザーの性別。 |
customKeyword |
配列 | Readwrite | に適用される MultiAdRequestカスタム キーワード。 これらのキーワードは、添付された によって継承されます AdUnits。 このリストは、追加のカスタム キーワードを使用して、各 AdUnit 内で補足できます。 |
AdUnit |
オブジェクト | Readwrite |
AdUnitに追加する項目MultiAdRequest |
countOfAdUnits |
NSUintetger | Readonly | インスタンスに含まれる の AdUnits 数を MultiAdRequest 返します。 |
Location メソッド
setLocationWithLatitude オブジェクトの プロパティの location 値を MultiAdRequest 設定します。 これは、追加 precision のパラメーターを使用して呼び出すことができます。 例えば、
有効桁数パラメーターなし
- (void)setLocationWithLatitude:(CGFloat)latitude
longitude:(CGFloat)longitude
timestamp:(nullable NSDate *)timestamp
horizontalAccuracy:(CGFloat)horizontalAccuracy;
有効桁数パラメーターを使用する
- (void)setLocationWithLatitude:(CGFloat)latitude
longitude:(CGFloat)longitude
timestamp:(nullable NSDate *)timestamp
horizontalAccuracy:(CGFloat)horizontalAccuracy
precision:(NSInteger)precision;
パラメーター
| パラメーター | 型 | 範囲 | 説明 |
|---|---|---|---|
latitude |
CGFloat | 必須 | 場所の緯度です。 |
longitude |
CGFloat | 必須 | 場所の経度です。 |
timestamp |
NSDate | 省略可能 | 場所が設定されたタイムスタンプ。 |
horizontalAccuracy |
CGFloat | 必須 | 場所の不確かさの半径。 |
precision |
NSInteger | 省略可能 | 位置の 10 進度の有効桁数を決定します。 |
メソッド
loadXandr のインプレッション バスに要求を
multi-tag UTv3送信することで、含まれるAdUnitsすべてを読み込みます。 インスタンスごとにANMultiAdRequest、一度にアクティブにできる負荷は 1 つだけです。 いずれかのMultiAdRequestDelegateメソッドが発生すると、読み込みが完了します。YES成功時とNO失敗時に返されます。- (BOOL)load;addAdUnitAdUnitANMultiAdRequest に を追加します。AdUnitsが に割り当てられたMultiAdRequestと一致memberIdしない場合、または に含まれる他AdUnitsの の と一致memberIdしない場合memberIdは拒否されますANMultiAdRequest。YES成功時とNO失敗時に返されます。- (BOOL)addAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;引数
パラメーター 型 範囲 説明 AdUnitオブジェクト 必須 AdUnitに追加する項目MultiAdRequestremoveAdUnitから を
AdUnit削除しますANMultiAdRequest。YES成功時とNO失敗時に返されます。- (BOOL)removeAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;引数
パラメーター 型 範囲 説明 AdUnitオブジェクト 必須 AdUnitに追加する項目MultiAdRequestaddCustomKeywordWithKeyにカスタム キーワード (keyword)を追加します
ANMultiAdRequest。 キーと値のペアとして格納されたカスタム キーワードは、 にANMultiAdRequest含まれる によってAdUnits継承されます。- (void)addCustomKeywordWithKey:(nonnull NSString *)key value:(nonnull NSString *)value;引数
パラメーター 型 範囲 説明 keyNSString 必須 カスタム キーワード (keyword)のキー識別子。 valueNSString 必須 カスタム キーワード (keyword)の値。 removeCustomKeywordWithKeyからカスタム キーワード (keyword)を削除します
ANMultiAdRequest。 削除されたキーワード (keyword)は、 にANMultiAdRequest含まれる によってAdUnits継承されなくなります。- (void)removeCustomKeywordWithKey:(nonnull NSString *)key;引数
パラメーター 型 範囲 説明 keyNSString 必須 削除するカスタム キーワード (keyword)のキー識別子。 clearCustomKeywordsからすべてのカスタム キーワードを削除します
ANMultiAdRequest。 削除されたキーワードは、 にANMultiAdRequest含まれる によってAdUnits継承されなくなります。- (void)clearCustomKeywords;stop要求が
ANMultiAdRequest完了する前に、 を停止します。- (void)stop;
ANMultiAdRequestDelegate メソッド
multiAdRequestDidCompleteの成功を
ANMultiAdRequest返します。 成功は、含まれるAdUnitsすべてが読み込まれ、明確な結果を持っていることを示します- (void)multiAdRequestDidComplete:(nonnull ANMultiAdRequest *)MultiAdRequest;multiAdRequestDidFailWithError何らかの理由でインスタンスによって
ANMultiAdRequest生成された がUT Request失敗した場合にエラー メッセージを返します。- (void)multiAdRequestDidFailWithError:(nonnull NSError *)error;
注:
[ANMultiAdRequest load] を送信する前に を NO 返すことでも失敗する可能性があります UT Request。 読み込みが を返 YES す場合は、 UT Request が開始されたことを意味し、それ以降のすべてのエラーはデリゲート メソッドを介して発生します。