12/12/2024 11:37:55
问题描述
调用接口判断app是否安装时(IsAppInstalled),返回结果不准确
问题原因
iOS:
已安装渠道app时,出现上述问题可能的原因分别有:
(1)接口入参填写错误
(2)未配置/错误配置应用的白名单scheme标识
(3)app实际标识发生变化,或安装非正版app
注意:iOS未安装渠道app时,调用接口判断是否安装,暂未发现返回结果不准确的场景。
Android:
已安装渠道app时,出现上述问题可能是接口入参填写错误。
未安装渠道app时,出现上述问题可能是模拟器可用的系统版本较低。
解决方案
iOS:
(1)参照 判断app是否安装接口 检查或修正接口入参。
(2)前往(Unity->.projmods)/(UE->DefaultEngine.ini->AdditionalPlistData)->info.plist->LSApplicationQueriesSchemes中,新增/检查各渠道的scheme标识。其中,各渠道的scheme标识可以在对应渠道文档中获取。例如,微信渠道相关,可参考 WeChat 渠道说明 中此处的说明新增/检查。
(3)app实际标识在某个版本中发生变化,或安装非正版app导致app实际标识发生变化,出现的可能性相对较低。除微信和QQ渠道外,可在safari浏览器地址框中,输入调用IsAppInstalled接口时的入参验证,如果可以拉起app则说明当前入参标识有效,详情如下图所示。
Android:
已安装渠道app时,参照 判断app是否安装接口 检查或修正接口入参。
未安装渠道app时,可以新增“当微信登录收到MSDK返回retCode:15 "Need Install APP"时,使用二维码登录”逻辑规避。或新增“当前设备是真机还是模拟器”的判断逻辑规避。
All rights reserved.