🎯 广告类型
2.0: 对应 2.0.0 新契约。pub.dev 当前仍提供 1.0.3;依赖尚未升级时请切换到 1.x 文档。
Draw 信息流广告
Draw 应在独立页面中按完整竖向视口请求,并使用竖向 PageView 或等价 分页容器展示每条广告。不要将 Draw 缩进控制台卡片或普通列表行。
final handles = await GromoreAds.loadNativeAds(
NativeAdRequest(
format: AdFormat.draw,
placementId: drawPlacementId,
width: 360,
height: 640,
),
);PageView.builder(
scrollDirection: Axis.vertical,
itemCount: handles.length,
itemBuilder: (context, index) => NativeAdView(
handle: handles[index],
layout: NativeAdLayout.verticalVideo,
),
)Draw 和 Feed 共享 NativeAdHandle 生命周期与强类型事件。视频开始、暂停、完成、点击、Dislike、关闭和销毁均通过 GromoreAds.events 上报,并携带可用的 request/view/ad ID。
NativeAdView 会将拖动手势交给外层 Flutter 滚动容器,因此 Draw 可以像短视频流一样上下分页;没有形成拖动的点击仍交由原生广告视图处理。每个 handle 只能挂载到一个页面,不能在多个分页项间复用同一个 handle。
页面切换时移除 PlatformView 或显式调用 dispose(),以释放视频视图、delegate 和厂商广告对象。