すべてのプロダクト
Search
ドキュメントセンター

Mobile Platform as a Service:プリセット広告スペースの設定

最終更新日:Jun 05, 2026

mPaaS H5 コンテナ上の H5 ページの広告スペース情報を取得します。単一の広告スペースを取得することも、複数の広告スペースをバッチで取得することもできます。表示前に広告スペースと広告情報をインターセプトするには、ActionExecutor を使用します。

始める前に

スマート配信コンポーネントを初めて使用する場合は、コンポーネントのサーバーサイドコンソールから直接 H5 広告スペースを設定します。詳細については、「広告スペースの作成」をご参照ください。

単一の広告スペースの取得

H5 ページで getCdpSpaceInfo を呼び出して、広告スペース情報を取得します:

AlipayJSBridge.call('getCdpSpaceInfo', {
  spaceCode: 'space-code1',
  extInfo: {
    tradeNo: '123'
  },
  immediately: false,
  multiCallback: true
}, function (result) {
  console.log(result);
});

パラメーター:

  • spaceCode:広告スペースコード。このコードはバックエンドから取得します。

  • extInfo:キーと値の形式の拡張情報。

  • immediately:オプションのブール値パラメーター。true に設定すると、キャッシュをバイパスしてサーバーから直接データをフェッチします。デフォルトは false です。

  • multiCallbacktrue に設定すると、呼び出しごとに 2 つの連続したコールバックを受信します。false に設定すると、コールバックは 1 つだけ受信します。

説明

multiCallbackfalse であるか、または省略された場合、サービスロジックは単一の結果コールバックを受信します。キャッシュメカニズムが有効な場合、ユーザーの初回アクセス時に広告が表示されず、2 回目のアクセス時にのみ表示されることがあります。multiCallbacktrue の場合、スマート配信は 2 つのコールバックをトリガーします。最初のコールバックはキャッシュデータ (利用可能な場合) を返し、2 番目のコールバックはリモートプロシージャコール (RPC) の結果を返します。

広告スペースのバッチ取得

H5 ページで getCdpSpaceInfos を呼び出して、1 回のリクエストで複数の広告スペースを取得します:

AlipayJSBridge.call('getCdpSpaceInfos', {
  spaceCodes: ['space-code1', 'space-code2'],
  extInfo: {
    tradeNo: '123'
  },
  immediately: false,
  multiCallback: true
}, function (result) {
  console.log(result);
});
/**
 * Cdp 広告サービスインターフェイス
 *
 */
public abstract class CdpAdvertisementService extends ExternalService {

    /**
     * すべての広告情報を初期化します。
     *
     * @param extInfo  拡張情報。
     * @param callBack コールバック。
     */
    public abstract void initialized(Map<String, String> extInfo, IAdGetSpaceInfoCallBack callBack);

    /**
     * ID で広告スペースをクエリします。クエリ結果は、onSuccess(SpaceInfo spaceInfo) コールバックを介して非同期に返されます。
     * ローカルキャッシュが存在しない場合、RPC クエリの結果が 1 つのコールバックで返されます。
     * ローカルキャッシュが存在し、有効期限が切れていない場合、ローカルクエリの結果が 1 つのコールバックで返されます。
     * ローカルキャッシュが存在するが有効期限が切れている場合、ローカルクエリの結果が 1 つのコールバックで返され、RPC の完了後にもう 1 つのコールバックで更新された結果が返されます。
     * onFail() インターフェイスは、RPC が失敗した場合にのみ呼び出されます。
     *
     * @param spaceCode 広告スペース ID。配信プラットフォームにリクエストして取得します。
     * @param callback  コールバックインターフェイス。
     */
    public abstract void getSpaceInfoByCode(String spaceCode, IAdGetSingleSpaceInfoCallBack callback);

    /**
     * ID で広告スペースをクエリします。クエリ結果は、onSuccess(SpaceInfo spaceInfo) コールバックを介して非同期に返されます。
     * ローカルキャッシュが存在しない場合、RPC クエリの結果が 1 つのコールバックで返されます。
     * ローカルキャッシュが存在し、有効期限が切れていない場合、ローカルクエリの結果が 1 つのコールバックで返されます。
     * ローカルキャッシュが存在するが有効期限が切れている場合、ローカルクエリの結果が 1 つのコールバックで返され、RPC の完了後にもう 1 つのコールバックで更新された結果が返されます。
     * onFail() インターフェイスは、RPC が失敗した場合にのみ呼び出されます。
     *
     * @param spaceCode   広告スペース ID。配信プラットフォームにリクエストして取得します。
     * @param extInfo     拡張パラメーター。
     * @param immediately RPC の結果のみを返すかどうかを指定します。
     * @param callback    コールバックインターフェイス。
     */
    public abstract void getSpaceInfoByCode(String spaceCode, Map<String, String> extInfo, boolean immediately, final IAdGetSingleSpaceInfoCallBack callback);

    /**
     * 広告スペース ID のリストを使用して、広告スペースをバッチでクエリします。クエリ結果は、onSuccess(List<SpaceInfo> adSpaceInfo) コールバックを介して非同期に返されます。
     * ローカルキャッシュが存在しない場合、RPC クエリの結果が 1 つのコールバックで返されます。
     * ローカルキャッシュが存在し、有効期限が切れていない場合、ローカルクエリの結果が 1 つのコールバックで返されます。
     * ローカルキャッシュが存在するが有効期限が切れている場合、ローカルクエリの結果が 1 つのコールバックで返され、RPC の完了後にもう 1 つのコールバックで更新された結果が返されます。
     * onFail(List<String> adSpaceCodes) インターフェイスは、RPC が失敗した場合にのみ呼び出されます。
     *
     * @param spaceCodeList 広告スペース ID のリスト。配信プラットフォームにリクエストして取得します。
     * @param extInfo       拡張パラメーター。
     * @param immediately   RPC の結果のみを返すかどうかを指定します。
     * @param callback      コールバックインターフェイス。
     */
    public abstract void batchGetSpaceInfoByCode(List<String> spaceCodeList, Map<String, String> extInfo, boolean immediately, final IAdGetSpaceInfoCallBack callback);

    /**
     * TODO 予約済みの H5 インターフェイス。
     * 広告をクエリして表示します。現在、これは AdH5Plugin によってのみ呼び出されます。
     *
     * @param activity   現在のページ。
     * @param parentView 親ビュー。
     * @param url        URL。
     * @param h5Param    パラメーター。
     */
    public abstract void checkAndShowAdInH5(final Activity activity, ViewGroup parentView, String url, String h5Param);

    /**
     * 指定された spaceCode の広告ビューを削除します。
     *
     * @param activity  広告を削除するページ。
     * @param spaceCode 広告スペース ID。
     */
    public abstract void removeAdvertisement(Activity activity, String spaceCode);

    /**
     * アクションエグゼキュータを取得します。設定されていない場合は null を返します。
     *
     * @return アクションエグゼキュータ。
     */
    public abstract ActionExecutor getActionExecutor();

    /**
     * アクションエグゼキュータを設定します。
     *
     * @param executor アクションエグゼキュータ。
     */
    public abstract void setActionExecutor(ActionExecutor executor);

    /**
     * ユーザー ID を設定します。
     *
     * @param userId ユーザー ID。
     */
    public abstract void setUserId(String userId);

    /**
     * ユーザー ID を取得します。
     *
     * @return ユーザー ID。
     */
    public abstract String getUserId();

    /**
     * 広告スペース取得用のコールバッククラス。
     */
    public interface IAdGetSpaceInfoCallBack {
        /**
         * 広告スペース情報の取得に成功しました。
         *
         * @param adSpaceInfo 広告スペースのリスト。
         */
        void onSuccess(List<SpaceInfo> adSpaceInfo);

        /**
         * 広告スペース情報の取得に失敗しました。
         *
         * @param adSpaceCodes リクエストした広告スペースコードのリスト。
         */
        void onFail(List<String> adSpaceCodes);
    }

    /**
     * 単一の広告スペース取得用のコールバッククラス。
     */
    public interface IAdGetSingleSpaceInfoCallBack {
        /**
         * 広告スペース情報の取得に成功しました。
         *
         * @param spaceInfo 広告スペース情報。
         */
        void onSuccess(SpaceInfo spaceInfo);

        /**
         * 失敗しました。
         */
        void onFail();
    }
}

ActionExecutor

ActionExecutor は、表示前に広告スペースと広告情報をインターセプトします。interceptActiontrue を返すと、広告スペースとそのコンテンツが抑制されます。false を返すと、クライアントはそれらを通常どおり表示します。

/**
 * アクションハンドラー
 *
 */
public interface ActionExecutor {

    /**
     * アクションをインターセプトするかどうかを指定します。
     * @param spaceInfo 広告スペース情報。
     * @param spaceObjectInfo 広告情報。
     * @param url アクション URL。
     * @return アクションをインターセプトする場合は true、インターセプトしない場合は false を返します。
     */
    boolean interceptAction(final SpaceInfo spaceInfo, final SpaceObjectInfo spaceObjectInfo, final String url);

    /**
     * アクションを実行します。
     *
     * @param spaceInfo 広告スペース情報。
     * @param spaceObjectInfo 広告情報。
     * @param url アクション URL。
     * @return 成功の場合は 1 を返します。その他の値はエラーを示します。
     */
    int executeAction(final SpaceInfo spaceInfo, final SpaceObjectInfo spaceObjectInfo, final String url);
}