请问小游戏平台createRewardedVideoAd后能不能立刻show?

程序里是下面这样处理的,也就是说createRewardedVideoAd后立即show了。请问这样是不是有问题?请多多指教,万分感谢!

            let videoAd = null
            if (tt.createRewardedVideoAd) {
                videoAd = tt.createRewardedVideoAd({
                    adUnitId: 'xxxxxxxxxxxxx'
                })
            }

            if (videoAd) {
                videoAd.show().catch(() => {
                    // 失败重试
                    videoAd.load()
                        .then(() => videoAd.show())
                        .catch(err => {
                            console.log('激励视频 广告显示失败')
                        })
                })
            }

这就是我之前在另外一个帖子里跟你说的预加载呀。。。
一般来说从进游戏开始就可以createRewardedVideoAd了,然后需要播放的时候玩家点了按钮就直接show了,肯定不能点了按钮之后你才开始create的。而且一般来说一个产品里面,只需要一个激励视频的adUnitId就可以了,不需要每个广告位就建一个新的adUnitId

你写的没有问题

我多建些激励视频广告位,主要是怕只建一个广告位的话,万一这个广告位拉不到广告,就整个游戏都拉取不到广告了吧?多建一个广告位,是想万一一个不行,其他的还行。

另外呢,我show那里有个失败重试,感觉万一第一次show的时候还没准备好,那里还有个load.then

主要是不太清楚这些API的内部结构,是不是videoAd这个指针建立好了后,show的时候即使广告内容还没准备好,无非是广告稍微慢点而已。。。

有没有填充跟你有多少个广告位其实没关系的,我只能说,预加载是行业常规做法,可能在小游戏影响不大,一般APP做广告变现肯定都会做预加载的。

ps,有一个小的用户体验问题,预加载可以提前知道是否有填充,进而决定要不要给玩家显示看广告按钮。否则,你不管有没有填充都显示看广告按钮,那用户点了万一没有广告可看那多尴尬。。

我觉得整个程序就只有一个广告位,并且在游戏进入开始就create,可能是有问题,问题如下:
1,我接原生广告的时候,遇到过这样的情况,我有几个复活按钮(分别从以前的金牌、银牌、铜牌记录复活),但确实遇见过金牌按钮广告位的复活拉取不到广告,但银牌按钮广告位可以拉取到广告

2,在每个按钮里都create,等于每次都能尝试拉取一下(拉取失败时我提示用户稍后重试)。如果只在游戏最开始拉取一次,基本是不是就是看运气的一锤子买卖了

当然不是这样的。。预加载当然是要配合重新create的逻辑。一进游戏就create,等需要显示按钮的时候check是否有填充,如果有填充就正常显示按钮;如果没有填充就再一次create,同时给玩家一些其他的选择,比如消耗金币来获得跟看广告类似的奖励之类的。

如果有填充且玩家点了show,等播完close以后再create一个新的。这样整个流程是完备的。

嗯嗯,我做原生的时候确实是load和show分开的。在场景的onLoad里load广告,用户点击复活时我show,而且以防万一,也提供了钻石复活按钮。

小游戏的广告机制有点搞不清,弄得脑子比较乱,比如:视频广告只需要create,而不需要load,直接show就可以。并且官方不推荐load(也就是预加载),说这样你如果load后没show,会降低广告价值。除了官方这么说,用户也有这么反映的。
https://forum.microapp.bytedance.com/mini-game/posts/5f2381640d6aa80238263028

我上面的程序在微信和QQ平台是没问题的,基本我每次点按钮都能成功拉取到广告。头条填充率极低,所以吓的我没什么自信了。

还有,我反正激励视频复活按钮一直给用户显示着,这样一是界面布局比较统一,另外用户第一次点按钮没拉取到,是不是有可能按我提示“稍后重试”,再点击一次就有拉取到了呢?这样能多一次机会和可能啊。。。

另外,看网上很多例子,基本没有在close里再次create的。唉,脑子挺乱,正好准备上架第二个游戏,想把这个问题搞透些。。。

我想,实在不行,我create后,第一次show之前,来个一两秒的setTimeOut等待,估计这时间,create的广告也能准备好了吧,然后再show,您觉得这样可行吗?

兄弟,你的微信小游戏用到多代码位了吗,怎么实现多代码展示广告?