应用宝YSDK手游接入中常见问题参考解决办法

应用宝YSDK接入常见问题参考解决办法

目录

1.常见提包/审核部分问题
2.参数相关问题
3.登录常见问题
4.米大师支付相关问题
5.其他问题


1.常见提包/审核部分问题
驳回原因:切换账号功能没有实现
(1)该功能为审核必审功能,即游戏必须实现功能;
(2)YSDK切换账号功能即注销接口,需要游戏调用注销接口后游戏界面到选择QQ或者微信登录方式界面。

驳回原因:应用宝小球截屏功能未实现或者截屏分享点击没有反应
(1)游戏在正式上线前,若已申请开启了悬浮窗(小球)功能,则必须要实现截屏分享功能,若不开通该功能,可以选择不实现截屏分享;
(2)悬浮窗功能需要找游戏对接的应用宝运营申请开通,若在调试中无法实现截屏分享的,建议先找YSDK技术支持查看悬浮窗功能是否已经开通;
(3)若已开通,截屏分享为黑屏的,不排除图片过大导致,建议图片大小保证在200K以内,80K以内最佳。

驳回原因:未检测到YSDK版本/该游戏未接入YSDK
(1)这两个提示都是游戏在打包时丢失文件导致;
(2)部分游戏在打包时,将ysdkinfo.ini该文件移除或者丢失导致,需要将demo中apk解压,assets下则可找到该文件。

驳回原因:安装后游戏icon与基本资料icon不一致
游戏安装后icon,要与应用宝后台提交资料时的icon,以及微信开放平台上传的icon一致,微信的游戏可以在微信后台自行修改

驳回原因:支付界面游戏名称与open后台游戏名不一致
(1)原因:游戏在接入米大师时,支付名称是游戏自己填写的,不排除后续有更改过游戏名称,但是支付名称不会自动同步新游戏名称的;(2)需要找YSDK技术支持手动修改支付界面名称

驳回原因:微信登录游戏名称与应用宝open后台游戏名不一致
(1)游戏在应用宝后台提工单修改游戏名后,微信游戏名也需要修改;
(2)新接入YSDK的游戏,游戏可以自行在微信后台修改名称,2017年4月之前在应用宝后台注册的游戏,微信名需要修改的,需要先进行微信应用迁移(老游戏无法人工修改微信名称),联系YSDK了解迁移流程。

提包报错:apk包内有V2签名/提包后乱码,提示有V2签名
目前YSDK暂不支持V2签名打包,只支持V1签名,需要将包内V2相关内容删除提交。

提包报错:该游戏未接入最新版本YSDK
(1)部分游戏其实已经接入的是最新版本YSDK,但是提包时却显示不是最新版本,原因是打包问题;
(2)参考问题4路径,可找到文件ysdkconf.ini,该文件中可显示YSDK版本是多少的,打包时,需要将ysdkconf.ini和ysdkinfo.ini都打进去才可以。

解析包错误:用aapt2工具解析包失败,错误码11050401
在这里插入图片描述
原因:目前都是用appt解析,暂时还不支持aapt2

后台接入提示:应用宝open后台点击米大师,提示获取应用信息失败
原因:接入米大师前,必须先绑定微信参数

点击open后台-支付结算,提示“绑定商户号失败,请填写正确的appid”
原因:申请微信参数时,不需要申请微信支付功能,因为米大师已经集成了微信支付,此提示是因为申请了微信支付功能导致。
解决办法:
先将微信开放平台原来的该应用删除,再重新申请新的没有微信支付功能的微信参数,找YSDK技术支持进行更改。

targetSdkVersion升级以及敏感权限获取问题
描述:
如下图提示,在应用宝open后台提交apk包,或者更新包时若targetSdkVersion没有升级到26及以上,就会直接报错(系统提示,人工无法干预)

参考方案:
(1)应用宝已经从7月2日开始强制要求targetSdkVersion必须升级到26,否则无法提包审核;
(2)当targetSdkVersion升级到26或者以上时,若游戏没有主动申请设备的敏感权限,手Q和微信则无法登录,日志:
手Q登录报错: ret : 1 flag=1002 msg=check user access token failed!/null
微信登录报错:ret : 1 flag : 2004 msg : wake up login failed, token is not good!/null
实现办法:
在打开游戏的时候根据游戏项目自己具体的api版本,去检测一下权限做弹窗授权,确定进入游戏拒绝退出(部分权限拒绝可以忽略,拒绝后可以进游戏,例:短信、定位),YSDK本身是支持14后的所有API版本的,可以参考其他游戏。
政策内容:http://www.sohu.com/a/299239657_99955893
问题:
由于网警要求去除敏感权限,请问咱们接入的【网游SDK】需要哪些权限呢?
①获取精准位置
②读取外部储存卡
③读取系统日志
④读取电话状态
⑤读取短信内容
⑥发送短信
⑦写入外部储存
弹窗时机(建议):一开始弹窗

2. 参数相关问题
YSDK都需要哪些参数,分别怎么获得?
基础能力参数:
手Q参数:在应用宝开放平台进行开发者注册,签署协议后系统会自行分配,无需游戏主动申请
微信参数:游戏需要在微信开放平台自行申请
米大师支付参数:在应用宝开放平台接入米大师后,进行注册即可获取,无需游戏主动申请,查看路径:open后台-支付结算-应用ID/支付appkey
米大师参数包含:
offerid(和手QID、应用ID一致)、沙箱支付appkey、现网支付appkey,校验sig根据沙箱或者现网环境使用对应支付appkey,不能用手Q和微信的appkey。
运营能力的参数:
信鸽参数,跟手Q参数一样,签署协议后系统自动分配

微信参数申请时需要注意什么?
微信参数申请时,必须注意很重要的一点:不能申请微信支付功能,但是微信登录功能是要的,因为YSDK的支付平台是米大师,已经集成了微信支付功能了,重复申请该功能,会导致无法微信支付,会报错如下提示:
(1)微信支付时报错100-100-1
(2)绑定微信参数时,或者点击open后台-支付结算,提示“绑定商户号失败,请填写正确的appid”

如何修改微信参数/游戏包签名
(1)游戏没有对外发布前(即未上线应用宝平台前),需要找YSDK技术支持修改微信参数;
(2)游戏没有对外发布前(即未上线应用宝平台前),需要找YSDK技术支持修改游戏签名,若未上线的游戏,建议重新创建应用为最佳。(3)特殊情况必须修改线上游戏微信参数或游戏签名的,需要YSDK技术支持沟通说明

3.登录相关问题
微信登录报错10005
应用宝YSDK手游接入中常见问题参考解决办法_第1张图片
(1)在微信开放平台做开发者资质认证,微信开放平台登录后,右上角有个账号中心,点进去能看到;
(2)微信参数里的微信登录功能没有申请。

微信登录报错- Server response error code:404, error:{“ret”:-1,“msg”:“invalid appkey”}(非微信参数问题)
解决办法:目前定位原因是闪屏问题影响的,游戏把启动界面改为游戏不要闪屏界面,再把游戏忠告这些加上去就可以;代码部分就是把闪屏的逻辑放到游戏最开始执行就好了(微信登录不了的原因不排除是跑到闪屏的activity里跑不出来了)。
总结:
针对微信登录报错invalid appkey这个问题,后续遇到,可以从两个个方向尝试检查:
A:微信参数错误导致,即误操作将已经绑定好的微信参数中微信screct重置导致,需要找YSDK技术支持修改再尝试;
B:闪屏原因导致,参考上述解决办法

微信登录报错ret:1,flag:3100如何处理?
参考原因:
(1)微信secret重置导致,需要提供新微信参数找YSDK更换尝试;
(2)缓存原因,需要清理微信缓存,重新安装尝试;
(3)代码里获取玩家信息时,不要主动去获取,需要等回调里拿,主动获取也会报错3100或者过期提示,可参考YSDKDEMO;
(4)asses里面的一些文件没有加载到,解压jar包,把里面的assets里面的文件拷贝到工程的assets里面
(5)游戏升级API等级到26以上,没有做权限适配导致,权限申请需要游戏主动去申请实现,不是sdk实现
(6)so文件没有按要求处理,可参考:
为保持游戏内场景在各个终端版本具备良好兼容性和一致体验,本次接入X5内核(TBS),需要对so库做调整(仅接YSDK的应用宝渠道包需要)
原因:https://x5.tencent.com/tbs/technical.html#/detail/sdk/1/34cf1488-7dc2-41ca-a77f-0014112bcab7
处理方式:
打包时只保留armeabi文件夹以及对应运行库so文件,删掉其它的所有jni支持库的文件夹如(arm64 X86 X86_64 mips等),如只有armeab_v7a(unity接入,unity不识别armeabi)则把YSDKJniLib 中armeabi目录下对应so库copy到armeab_v7a文件夹内

YSDK登录拉起手Q以后弹框100044或者110406
(1)100044
A:游戏包还在沙箱环境即测试环境时,测试登录需要使用协作者账号权限,添加方式:登录应用宝后台,右上角“权限”,选择对应游戏添加协作者账号权限;
B:协作者账号和开发者账号必须为QQ好友关系;
C:测试环境微信登录时,不需要设置协作者账号权限;
D:Res/assets/ysdkconf.ini中有游戏参数换成自己游戏的;
E:游戏包名、签名必须和平台一致,包含应用宝后台、微信后台以及提审包的包名签名。
包体签名检查:可下载
https://res.wx.qq.com/open/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android2.apk, 并将此apk安装到手机上, 在输入框中输入游戏的包名,点击按钮读取游戏包的签名。检查上述工具获取到的签名是否和微信后台及应用宝后台配置的签名一致。
(2)110406
按100044检查办法检查无误后,依然报错,若游戏之前有进行内测或者上线的,目前是下线状态的,该问题为游戏包状态异常问题,需要联系YSDK技术支持手动处理。

YSDK登录失败,提示client request’s app is not existed?
(1)该提示是游戏没有环境权限,需要在open后台接入YSDK界面,将沙箱环境和现网环境后的“调试通过”打勾即可;
(2)手q和微信的 登录验证的接口,首先是一定要get传参,不能用post。

游客模式登录,实名认证提交后提示“对不起,系统繁忙”
应用宝YSDK手游接入中常见问题参考解决办法_第2张图片
已知问题,需要米大师后续版本修复,暂时需要进行关闭米大师游客模式实名认证,找YSDK技术支持处理

游戏登录时提示包名不一致
在这里插入图片描述
(1)ysdkconf 这个配置表的数据项有问题, 导致掉不起来
(2)用错游戏参数,将其他游戏参数配置在了该游戏里导致

4.支付相关问题
网游和单机分可以接哪种支付模式?
网游:只能接游戏币模式
单机:可以接道具直购或者游戏币模式,只能接其中一种模式

若单机直购游戏,需要切换http或者https,如何操作?
找YSDK技术支持进行修改

道具直购模式下,open后台的支付回调地址是否必须配置?配置规则是什么?
(1)单机道具直购模式回调地址必须配置的,因为要通过该地址进行发货;
(2)配置规则如下:
.使用腾讯云服务器(基础网络的内网IP,以10开头),需要使用http的9001端口;
.使用非腾讯云的服务器,需使用https的443端口,可以用外部服务器IP或者域名,需安装米大师办法的证书(点击回调地址旁边的“下载”),沙箱和现网的证书安装各自的,不通用;
.单机直购模式,若没有服务器的游戏,可以使用米大师发货地址,具体地址可以找YSDK技术支持获取(QQ:3125348973/236271184)。
.切换http/https以及证书安装说明,需要找YSDK技术支持进行操作。
.回调发货协议说明参:https://wiki.midas.qq.com/post/index/1/45/83/0(更多米大师服务器端文档可参考:https://wiki.midas.qq.com/post/index/1/45/73/0)。

米大师支付相关信息如何修改?
(1)米大师相关参数查看界面-open后台-支付结算-应用ID/应用名称/游戏币名称/游戏币兑换比例,这里有个隐藏信息是,游戏中支付界面的游戏名称,在游戏第一次在该界面填写时就固定了,修改需找YSDK操作;
(2)应用宝open后台的游戏币兑换比例,只和游戏币模式有关,和直购模式无关。若要修改,需在游戏未上线应用宝前找YSDK技术支持修改(沙箱环境调试期间的游戏自己修改)

米大师支付中常见错误码(未在官网体现)
支付报错:1058-498197-40000
错误码解释:颁发的证书不合法或SSL连接异常。
处理建议:开发者按照错误码解释检查应用程序和配置是否有误。

直购模式支付报错1003-498496-40000
错误码解释:JSON解析错误,开发者发货网关返回信息不符合JSON格式,通常是开发者发货CGI逻辑出错,返回一段错误信息。
处理建议:开发者按照错误码解释检查应用程序和配置是否有误,并通过tcpdump获取9001端口的数据包以检查返回内容是否合法。正常返回示例:{“ret”:0,“msg”:“OK”}。

直购模式支付报错1003-498686-498686
(1)没有配置回调地址或者配置回调地址没有发布沙箱或现网,导致没有生效
(2)托管类型不对,米大师发货桩为腾讯自研,非腾讯云为外部服务器

直购模式支付报错1003-499999-499999
加粗样式单机直购支付模式,使用外部服务器,CA证书没有安装正确

{“ret”: 1001,”err_code”: “1001-0-0”,”msg”:”请求参数错误(zoneid/pf)”}
解决:

(1)检查后台配置和传参里的zoneid是否正确
(2)检查回调地址配置
(3)zoneid后边传了角色id,实际是不支持角色

米大师沙箱环境支付时,是真实扣钱嘛?
沙箱环境下,QQ卡和Q币是虚拟充值(充值入口:open后台-支付结算-联调界面-沙箱充值Q币),微信和QQ钱包是真实充值

游戏内支付时,提示腾讯支付尚未初始化什么原因?
1.更新YSDK版本是否为最新版本;
2.更新midas.zip版本(解压YSDKdemo中的midas.zip,检查是否为最新版本);
3.检查midas.zip是否被杀毒软件删除;
4.内存溢出(APMidasPayProxyActivity intent传递数据超标,getIntent().getSerializableExtra()携带数据过多,调支付导入的图片有点大,SDK底层开辞的空间应该不够オ导致崩溃的,换小的图片试试

在这里插入图片描述

五、其他问题
YSDK中,用户授权后平台返回的唯一标识是openid,没有UnionID这个参数,若游戏要做转换,需要参考以下链接进行实现,YSDK不提供相关接口
QQ:openid和UnionID转换:https://wiki.connect.qq.com/unionid介绍
微信:openid和UnionID转换:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317853&token=&lang=zh_CN

你可能感兴趣的:(应用宝YSDK手游接入中常见问题参考解决办法)