菜单

MREC广告

💡Tips


1. 加载广告

Flutter SDK 提供两种方式加载 MREC 广告:程序化方式Widget 方式

程序化方式

通过 McSdk 的静态方法创建并加载 MREC 广告,适用于需要精确控制广告生命周期的场景。

dart 复制代码
void initializeMRecAd() {
  // 设置 MREC 广告回调监听
  McSdk.setMRecListener(McAdViewAdListener(
    onAdLoadedCallback: (McAd ad) {
      // MREC 加载成功回调
    },
    onAdLoadFailedCallback: (String adUnitId, McError error) {
      // MREC 加载失败回调
    },
    onAdClickedCallback: (McAd ad) {
      // MREC 点击回调
    },
    onAdExpandedCallback: (McAd ad) {
      // MREC 展开回调
    },
    onAdCollapsedCallback: (McAd ad) {
      // MREC 折叠回调
    },
    onAdDisplayedCallback: (McAd ad) {
      // MREC 展示成功回调
    },
    onAdRevenuePaidCallback: (McAd ad) {
      // MREC 广告收益回调
    },
    onAdLoadFinishedCallback: (String adUnitId) {
      // 本轮加载结束回调
    },
  ));

  loadMRecAd();
}

void loadMRecAd() {
  // 设置场景 ID(可选)
  McSdk.setMRecPlacement("your mediation unit id", "test_scenario_id_mrec");

  // 创建 MREC 广告并指定展示位置
  McSdk.createMRec("your mediation unit id", AdViewPosition.bottomCenter);
}

💡 Tips

  • 调用 createMRec 后,SDK 会自动开始加载广告。
  • 如果开启了自动刷新,SDK 会在刷新间隔到期后自动加载下一轮广告。
  • 仅当自动刷新被暂停时,才需要手动调用 McSdk.loadMRec(adUnitId) 重新加载。

AdViewPosition 支持以下位置枚举:

枚举值 说明
AdViewPosition.topCenter 顶部居中
AdViewPosition.topRight 顶部靠右
AdViewPosition.centered 屏幕居中
AdViewPosition.centerLeft 垂直居中靠左
AdViewPosition.centerRight 垂直居中靠右
AdViewPosition.bottomLeft 底部靠左
AdViewPosition.bottomCenter 底部居中
AdViewPosition.bottomRight 底部靠右

Widget 方式

使用 McAdView 组件直接嵌入 Flutter Widget 树中,适用于需要灵活布局的场景。

dart 复制代码
final McAdViewController adViewController = McAdViewController();

Widget buildMRecAd() {
  return McAdView(
    adUnitId: "your mediation unit id",
    adFormat: AdFormat.mrec,
    controller: adViewController,
    listener: McAdViewAdListener(
      onAdLoadedCallback: (McAd ad) {
        // MREC 加载成功回调
      },
      onAdLoadFailedCallback: (String adUnitId, McError error) {
        // MREC 加载失败回调
      },
      onAdClickedCallback: (McAd ad) {
        // MREC 点击回调
      },
      onAdExpandedCallback: (McAd ad) {
        // MREC 展开回调
      },
      onAdCollapsedCallback: (McAd ad) {
        // MREC 折叠回调
      },
      onAdDisplayedCallback: (McAd ad) {
        // MREC 展示成功回调
      },
      onAdRevenuePaidCallback: (McAd ad) {
        // MREC 广告收益回调
      },
      onAdLoadFinishedCallback: (String adUnitId) {
        // 本轮加载结束回调
      },
    ),
    extraParameters: {"key": "value"},
    localExtraParameters: {"key": value}
  );
}

💡 Tips

  • 如需手动刷新广告,可通过 McAdViewController 调用 loadAd() 方法。
  • MREC 与 Banner 共用 McAdView 组件,通过 adFormat 参数区分广告格式。

2. 展示 / 隐藏广告

仅程序化方式需要手动控制展示与隐藏。Widget 方式由 Flutter Widget 生命周期自动管理。

dart 复制代码
// 展示 MREC 广告
McSdk.showMRec("your mediation unit id");

// 隐藏 MREC 广告
McSdk.hideMRec("your mediation unit id");

3. 释放资源

当不再需要 MREC 广告时,请及时释放资源以避免内存泄漏。

dart 复制代码
// 释放 MREC 广告资源
McSdk.destroyMRec("your mediation unit id");

💡 Tips

  • 调用 destroyMRec 后,该广告位的所有回调将停止触发。
  • 如需再次展示,需重新调用 createMRec 创建广告。

4. 设置自定义参数

通过自定义参数可以向广告平台传递额外配置信息。

dart 复制代码
// 设置额外参数,只用于 Max
McSdk.setMRecExtraParameter(
  "your mediation unit id",
  "mrec_test_extra_key",
  "mrec_test_extra_value",
);

// 设置额外参数
McSdk.setMRecLocalExtraParameter(
  "your mediation unit id",
  "mrec_test_local_extra_key",
  value,
);

上一个
横幅广告
下一个
回调信息说明
最近修改: 2026-06-25Powered by