Closed Cedar1012 closed 1 year ago
在flutter中插入原生view本身就比较耗性能,推荐不要在大列表中插入大量广告
在flutter中插入原生view本身就比较耗性能,推荐不要在大列表中插入大量广告
也没有很多。列表一页20条。一页中有两条信息流广告 页很卡, 而且IOS 是按下触发广告 如何才能改成onTap 这种形式
@Cedar1012 抖动的话 可以尝试设置expressViewHeight为广告实际高度接近的数值(示例demo设置的是0),因为这里在广告加载完成后会根据SDK实际广告实际尺寸来重新渲染flutter widget的宽高,解决flutter中设置的宽高与SDK实际渲染出广告宽高不一致导致留白问题
//显示广告
case FlutterUnionadMethod.onShow:
Map map = call.arguments;
if (mounted) {
setState(() {
_isShowAd = true;
_width = (map["width"]).toDouble();
_height = (map["height"]).toDouble();
});
}
widget.callBack?.onShow!();
break;
@Cedar1012 抖动的话 可以尝试设置expressViewHeight为广告实际高度接近的数值(示例demo设置的是0),因为这里在广告加载完成后会根据SDK实际广告实际尺寸来重新渲染flutter widget的宽高,解决flutter中设置的宽高与SDK实际渲染出广告宽高不一致导致留白问题
//显示广告 case FlutterUnionadMethod.onShow: Map map = call.arguments; if (mounted) { setState(() { _isShowAd = true; _width = (map["width"]).toDouble(); _height = (map["height"]).toDouble(); }); } widget.callBack?.onShow!(); break;
非常感谢 我去尝试一下
ListView.builder( itemCount: 40, itemBuilder: (c, i) => item(), )
void item() => FlutterUnionad.nativeAdView( //android 信息流广告id 必填 androidCodeId: "945417699", //ios banner广告id 必填 iosCodeId: "945417699", //是否支持 DeepLink 选填 supportDeepLink: true, // 期望view 宽度 dp 必填 expressViewWidth: 375.5, //期望view高度 dp 必填 expressViewHeight: 0, //一次请求广告数量 大于1小于3 必填 expressNum: 2, mIsExpress: true, //控制下载APP前是否弹出二次确认弹窗 downloadType: FlutterUnionadDownLoadType.DOWNLOAD_TYPE_POPUP, //是否启用点击 仅ios生效 默认启用 isUserInteractionEnabled: true, //用于标注此次的广告请求用途为预加载(当做缓存)还是实时加载, adLoadType: FlutterUnionadLoadType.LOAD, callBack: FlutterUnionadNativeCallBack( onShow: () { print("信息流广告显示"); }, onFail: (error) { print("信息流广告失败 $error"); }, onDislike: (message) { print("信息流广告不感兴趣 $message"); }, onClick: () { print("信息流广告点击"); }, ), ), //个性化模板信息
类似这样。滑动列表是。广告一直抖动