修复记录:http://confluence.mobvista.com/pages/viewpage.action?pageId=38568855
API 参考:http://confluence.mobvista.com/pages/viewpage.action?pageId=30346508
大模板逻辑下已知的 Android 奖励回调问题
问题原因:
Android 二选一目前在最后关闭广告时给 H5 的关闭事件中没有传递奖励回调(Android 是在 playComplete 阶段给的 convert),按照约定 H5 目前是在 onCloseBtnClicked 事件中将 SDK 传递的 data 透传给 SDK(其中包括奖励相关信息),所以按照当前逻辑,安卓 SDK 在回调开发者 dismissed 时拿到的 convert 为空(即用户不能获得奖励),不符合预期
修复方案:
目前的方案是针对安卓特定版本区间,保存 SDK 在 playComplete 阶段提供的 convert 和 reward 信息,在最终关闭时将 convert 相关信息传递给 SDK,此修复方案已经和 SDK 侧确认
大模板逻辑下已知的 iOS SDK 奖励回调的问题
问题原因:
当最后关闭广告应该给用户奖励的时候,SDK 会给 convert=1;当不该给奖励的时候,iOS SDK 给 H5 的 convert 是 2,这个阶段没有问题
但 H5 之后透传给 SDK 的时候,由于 SDK 是直接将 convert 值转换为布尔类型,所以 SDK 会将 convert=2 不给奖励的情况也认为是 true,最终回调开发者给了用户奖励
修复方案:
H5 需要在 iOS >=590 且 < 630的版本中,把 2 转为 0,传给 SDK,这样就可以确保奖励逻辑的正确性,iOS >=630 的版本会修复这个问题,H5 这种情况下透传即可