iOS のマルチ広告要求
概要
この記事では、マルチ広告要求 (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 進度の有効桁数を決定します。 |
メソッド
load
Xandr のインプレッション バスに要求を
multi-tag UTv3
送信することで、含まれるAdUnits
すべてを読み込みます。 インスタンスごとにANMultiAdRequest
、一度にアクティブにできる負荷は 1 つだけです。 いずれかのMultiAdRequestDelegate
メソッドが発生すると、読み込みが完了します。YES
成功時とNO
失敗時に返されます。- (BOOL)load;
addAdUnit
AdUnit
ANMultiAdRequest に を追加します。AdUnits
が に割り当てられたMultiAdRequest
と一致memberId
しない場合、または に含まれる他AdUnits
の の と一致memberId
しない場合memberId
は拒否されますANMultiAdRequest
。YES
成功時とNO
失敗時に返されます。- (BOOL)addAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;
引数
パラメーター 型 範囲 説明 AdUnit
オブジェクト 必須 AdUnit
に追加する項目MultiAdRequest
removeAdUnit
から を
AdUnit
削除しますANMultiAdRequest
。YES
成功時とNO
失敗時に返されます。- (BOOL)removeAdUnit:(nonnull id<ANAdProtocolFoundation>)adunit;
引数
パラメーター 型 範囲 説明 AdUnit
オブジェクト 必須 AdUnit
に追加する項目MultiAdRequest
addCustomKeywordWithKey
にカスタム キーワード (keyword)を追加します
ANMultiAdRequest
。 キーと値のペアとして格納されたカスタム キーワードは、 にANMultiAdRequest
含まれる によってAdUnits
継承されます。- (void)addCustomKeywordWithKey:(nonnull NSString *)key value:(nonnull NSString *)value;
引数
パラメーター 型 範囲 説明 key
NSString 必須 カスタム キーワード (keyword)のキー識別子。 value
NSString 必須 カスタム キーワード (keyword)の値。 removeCustomKeywordWithKey
からカスタム キーワード (keyword)を削除します
ANMultiAdRequest
。 削除されたキーワード (keyword)は、 にANMultiAdRequest
含まれる によってAdUnits
継承されなくなります。- (void)removeCustomKeywordWithKey:(nonnull NSString *)key;
引数
パラメーター 型 範囲 説明 key
NSString 必須 削除するカスタム キーワード (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
が開始されたことを意味し、それ以降のすべてのエラーはデリゲート メソッドを介して発生します。