直接使用demo 内信息流广告 放在ListView.builder内滑动列表非常卡顿
Cedar1012 opened this issue · comments
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("信息流广告点击");
},
),
), //个性化模板信息
类似这样。滑动列表是。广告一直抖动
在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;
非常感谢 我去尝试一下