次の方法で共有


iOS のマルチ広告要求

概要

この記事では、マルチ広告要求 (ANMultiAdRequest) を開始および構成するための手順とコード サンプルについて説明します。 ANMultiAdRequest では、1 つのユニバーサル タグ (UTv3) 要求を使用して複数のオークションを開始できます。その結果は、1 つのサーバー応答で返されます。

ANMultiAdRequestのように、 は AdUnitANAdProtocolサブセットを実装します。 これにより、 は、各AdUnit型の同じ仕様を使用して、異なる AdUnits (バナーネイティブビデオなど) の種類と動作を採用できますANMultiAdRequest。 カスタム キーワードは に ANMultiAdRequest 割り当てることができ、含まれている AdUnitsによって継承されます。

初期化

ユーザーは、3 つの初期化方法のいずれかから選択できます。 初期化するにはANMultiAdRequestmemberIddelegate オブジェクトが引数として必要です。 と delegatememberId、インスタンスごとに 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。 内に含まれるも AdUnitsANMultiAdRequest はすべて同一 memberIds である必要があります。または が ANMultiAdRequest 拒否されます。 を memberIdplacementIdすことでも達成できます。
delegate ANMultiAdRequestDelegate nonnull 必須 関連するコールバックと情報で通知されるオブジェクト。
adUnits adUnits の一覧 nonnull 省略可能 AdUnits 初期化用の の ANMultiAdRequest一覧。

注:

初期化が成功した場合、SDK は を返します YES。それ以外の場合は を返します NO

構成

すべての ANMultiAdRequest 構成プロパティとメソッドは、 で使用 AdUnitsされるものと同じ型と使用法です。 で ANMultiAdRequestプロパティが設定されている場合、 はそれらのプロパティを AdUnits 継承します。 永続的ではありません。 ANMultiAdRequestのライフサイクルが完了すると、AdUnitsインスタンスによってカプセル化された の一覧から削除された後、ローカル プロパティのAdUnits値にANMultiAdRequestアクセスします。

パラメーター

パラメーター 属性 説明
memberId NSInteger Readonly メンバー ID。 内に含まれるも AdUnitsMultiAdRequest はすべて同一 memberIds であるか、 MultiAdRequest Xandr のインプレッション バスによって拒否されます。 を memberIdplacementIdすことでも達成できます。
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 削除します ANMultiAdRequestYES成功時と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 が開始されたことを意味し、それ以降のすべてのエラーはデリゲート メソッドを介して発生します。