iOS ページでブースを事前設定するには、データアクセスと UI アクセスの 2 つの操作を実行する必要があります。データアクセス コールバックはブースデータを取得します。UI アクセスは、ブースデータに基づいて生成された UI オブジェクトを取得します。
初心者の方は、サーバー側の mPaaS コンソールで iOS ページの広告ブースを動的に設定することをお勧めします。詳細については、「ブースを作成する」をご参照ください。
説明 ブースの事前設定におけるアクセスオブジェクトは、通常
ViewController のサブクラスであり、PromotionCenterDelegate メソッドを実装する必要があります。UI アクセス手順
プロトコル実装を追加します。
ViewControllerオブジェクトは、配信プロトコルPromotionCenterDelegateを実装します。@interface DemoViewController () <CDPPromotionCenterDelegate> @end配信リスナーを追加します。
viewDidLoadViewControllerの
内またはその前に、追加されたリスナー操作を呼び出します。配信データの準備ができると、API はプロトコルメソッドを介してコールバックされます。NSArray *spaceCodes = @[@"code1", @"code2"]; [CDPPromotionCenter addObserver:self spaceCodesForView:spaceCodes spaceCodesForData:nil extInfo:nil immediately:YES];spaceViewPromotionCenterDelegateプロトコルでview
オブジェクトのコールバックメソッドを実装し、生成された をページに追加します。- (void)promotionViewDidFinishLoading:(CDPSpaceView *)spaceView spaceCode:(NSString *)spaceCode { // 取得した spaceView を画面に追加します。 // 返された spaceView が nil の場合、これは広告の削除リクエストを示しているため、広告コンテンツを削除する必要があります。その後、ページは広告なしの状態に戻ります。リスナーを削除します。
ページを閉じるときにリスナーを削除します。deallocViewControllerの
メソッドでリスナーを削除できます。- (void)dealloc { [CDPPromotionCenter removeObserver:self]; }
データアクセス手順
プロトコル実装を追加します。
ViewControllerオブジェクトは配信プロトコルPromotionCenterDelegateを実装します。@interface DemoViewController () <CDPPromotionCenterDelegate> @end配信リスナーを追加します。
viewDidLoadViewControllerの
内またはその前に、追加されたリスナー操作を呼び出します。配信データの準備ができると、API はプロトコルメソッドを介してコールバックされます。NSArray *spaceCodes = @[@"code1", @"code2"]; [CDPPromotionCenter addObserver:self spaceCodesForView:nil spaceCodesForData:spaceCodes extInfo:nil immediately:YES];PromotionCenterDelegateプロトコルでspaceInfoオブジェクトのコールバックメソッドを実装し、返されたデータに基づいてカスタム処理を実行します。
プロトコルで オブジェクトのコールバックメソッドを実装し、返されたデータに基づいてカスタム処理を実行します。- (void)promotionDataDidFinishLoading:(CDPSpaceInfo *)spaceInfo spaceCode:(NSString *)spaceCode { // spaceInfo に基づいて表示する広告ビューを生成します。 // ビューをカスタマイズするか、SDK によって提供される CDPSpaceView クラスを使用します。 // 広告ビューを画面に追加します。 }リスナーを削除します。
ページを閉じるときにリスナーを削除します。deallocViewControllerの
メソッドでリスナーを削除できます。- (void)dealloc { [CDPPromotionCenter removeObserver:self]; }