gstory0404 / flutter_unionad

字节跳动 穿山甲广告SDK Bytedance-UnionAD flutter版本插件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用Flutter 3,在release模式下运行example,信息流广告有时候显示为空白

danieldai opened this issue · comments

我自己的项目升级到flutter3后,在flutter2时能够显示信息流广告的不显示了, 但是onShow回调被调用了。

我使用本项目进行测试,首先在nativeexpressad_page.dart把信息流广告的回调都加上了。在release模式运行时,从日志中看三个回调都被调用了:

I/flutter (22730): 信息流广告显示 945417699
I/flutter (22730): 信息流广告显示 945417487
I/flutter (22730): 信息流广告显示 945407034

但是第三个广告有时显示为空白,显示空间被占用了,但是没有任何内容。

            //个性化模板信息流广告
            FlutterUnionad.nativeAdView(
              androidCodeId: "945417699",
              //android 信息流广告id 必填
              iosCodeId: "945417699",
              //ios banner广告id 必填
              supportDeepLink: true,
              //是否支持 DeepLink 选填
              expressViewWidth: 375.5,
              // 期望view 宽度 dp 必填
              expressViewHeight: 0,
              //期望view高度 dp 必填
              expressNum: 2,
              mIsExpress: true,
              //控制下载APP前是否弹出二次确认弹窗
              downloadType: FlutterUnionadDownLoadType.DOWNLOAD_TYPE_POPUP,
              //一次请求广告数量 大于1小于3 必填
              callBack: FlutterUnionadNativeCallBack(
                onShow: () {
                  print("信息流广告显示 945417699");
                },
                onFail: (error) {
                  print("信息流广告失败 $error");
                },
                onDislike: (message) {
                  print("信息流广告不感兴趣 $message");
                },
                onClick: () {
                  print("信息流广告点击");
                },
              ),
            ), //个性化模板信息流广告
            FlutterUnionad.nativeAdView(
              androidCodeId: "945417487",
              iosCodeId: "945417487",
              supportDeepLink: true,
              expressViewWidth: 375.5,
              expressViewHeight: 0,
              expressNum: 3,
              callBack: FlutterUnionadNativeCallBack(
                onShow: () {
                  print("信息流广告显示 945417487");
                },
                onFail: (error) {
                  print("信息流广告失败 $error");
                },
                onDislike: (message) {
                  print("信息流广告不感兴趣 $message");
                },
                onClick: () {
                  print("信息流广告点击");
                },
              ),
            ), //个性化模板信息流广告
            FlutterUnionad.nativeAdView(
              androidCodeId: "945407034",
              iosCodeId: "945407034",
              supportDeepLink: true,
              expressViewWidth: 270,
              expressViewHeight:0,
              expressNum: 3,
              callBack: FlutterUnionadNativeCallBack(
                onShow: () {
                  print("信息流广告显示 945407034");
                },
                onFail: (error) {
                  print("信息流广告失败 $error");
                },
                onDislike: (message) {
                  print("信息流广告不感兴趣 $message");
                },
                onClick: () {
                  print("信息流广告点击");
                },
              ),
            ), //个性化模板信息流广告

是否开启http权限

权限应该都开启了,试了几次,前两个广告每次都显示,第三个广告有时显示,有时异常

能否正常触发点击事件

参考这个 https://github.com/gstory0404/file_preview 文档加入http配置 试下

能否正常触发点击事件

我测试了下,可以正常点击,点击会跳转到广告对应的app。另外点击前是空白,点击后广告内容显示出来了。

还有一个现象,有时候第三个广告会只渲染一部分,也就是广告只显示出下方的部分内容。感觉和flutter3 AndroidView渲染有关系,没有及时渲染出来。

这边测试 暂时均为出现这个问题

感谢 @gstory0404 。 我用最新版本的flutter_unionad和flutter 3.3.1也暂时没有复现出来,我再试试。感觉视频形式的广告不会出问题,但是图片形式的容易出问题。如果复现出来我把图贴上。

我fork了一个分支 https://github.com/danieldai/flutter_unionad,测试了多次,复现出了issue所描述的现象。

2个图和1个录屏是3次不同的测试:

1

2

3.mp4

最新的demo看下还会出现吗

最新的demo也会出现;比较难搞的是,不是必现了。我测试了十几次,出现了1次渲染不全,可以3,4次空白的。

录屏:第3个广告没有渲染出来。

6.mp4

截图:第3个广告没有渲染出来
4

截图:第3个广告渲染了一部分
5

能否查看设置的广告大小