查看: 5629|回复: 6

新版阿里SDK接入FAQ

[复制链接]

61

主题

0

魅力

3万

经验

网游运维

发表于 2016-11-30 18:30:13 |显示全部楼层
本帖最后由 106563120 于 2017-5-9 14:45 编辑

接入常见问题FAQ:

1、初始化失败
排查方法1)九游与豌豆荚SDK共用一套参数,检查初始化设置的gameId是否有错,要求传游戏在开放平台-SDK接入参数那里获取的gameId,对应好每一款游戏
2)检查SDK需要的jar包是否有导入、jni下的so库是否有拷贝到libs下、assets下的ucgamesdk是否有拷贝到工程assets下
3)检查当前网络是否正常,如联调环境,请切换移动网络尝试看看是否正常
4)豌豆荚游戏,请先在开放平台,SDK接入参数获取那里填写游戏在豌豆荚的合作信息进行关系绑定,绑定后等10分钟左右再进行调试,否则无法初始化

2、初始化或登录无回调
排查方法:
1、游戏是否在调用初始化或登录的activity设置registeSDKEventReceiver
2、初始化、登录的回调是否需要在UI线程执行操作,如果是的话,有没有放UI线程调用registeSDKEventReceiver
3、游戏代码是否有混淆,如有混淆请加上
-keepattributes InnerClasses,Signature,SourceFile,Exceptions,LineNumberTable,*Annotation*
-keep class * extends cn.uc.gamesdk.even.SDKEventReceiver {*;}  
4、游戏设置的监控回调处理存在问题无法正常执行
5、游戏退出重启后无法收到回调,可能是游戏在退出时存在资源未清理退出导致

3、九游支付界面报错误码
对照以下错误码表格排查,常见的错误码:code:09 sign错误
检查
1)签名的要求:MD5(签名内容+apiKey);
2)apikey为游戏在开放平台-SDK接入参数那里获取的apikey,不要使用豌豆荚的参数,对应好每一款游戏
3)签名内容要求将所有传递的参数参数名称key按照字典顺序排列(a-z),值为空串需参与签名,值为null的参数不需要参与签名, sign和signType也不参数签名
4)签名内容不应包含“&”符号,拼接签名内容时需把“&”符号剔除
5)accountId需传递当前进入账号进入游戏后服务端验证会话verifySession返回的accountId,此为用户唯一标识,不可传sid或其它
6)签名示例(如apikey:123456):accountId=123452132amount=100.00callbackInfo=xxxxxcpOrderId=XXXXXXgrade=12notifyUrl=http://192.168.1.1/notifypage.do123456

  
错误码
  
原因
说明
前端提示语
01
请求参数为空
解析数据时请求信息为空或不完整,要求必填的字段不能为空
抱歉,游戏信息获取错误,请返回游戏重试(错误码编号)。客服xxx
02
请求数据无法解密
解密失败
抱歉,游戏信息获取错误,请返回游戏重试(错误码编号)。客服xxx
03
游戏不存在或未配置充值信息
原因可能是游戏未签约,或签约审核未通过,请等待签约通过后过一小时再测试
抱歉,服务暂不可用,请返回游戏重试(错误码编号)。客服xxx
04
商品不存在或已下线
商品已下线,请确认是否游戏已下架停运
抱歉,当前游戏已关闭充值功能(错误码编号)。客服xxx
05
游戏未开通任何支付方式
游戏未开通任何支付方式,请联系技术接口人处理
抱歉,游戏没有可用的充值方式。请返回游戏重试(错误码编号)。客服xxx
06
用户登录信息已失效
无登录状态,请检查是否调用logout注销登录
账户信息发生变化,为了您的充值安全,请重新登录游戏(错误码编号)。客服xxx
07
cp支付信息为空
 
抱歉,游戏请求参数不正确,请稍后再试(错误码编号)。客服xxx
08
cp支付信息签名为空
sign字段为空
抱歉,游戏请求参数不正确,请稍后再试(错误码编号)。客服xxx
09
cp支付信息签名验证不通过
sign错误
抱歉,游戏请求参数不正确,请稍后再试(错误码编号)。客服xxx
10
cp支付信息统一账号验证不通过
[size=13.3333px]要求传当前账号进入游戏后服务端验证会话verifySession返回的accountId,此为用户唯一标识,不可传sid或其它
抱歉,游戏请求参数不正确,请稍后再试(错误码编号)。客服xxx
11
使用错误的serverId
传递的serverid错误,[size=13.3333px]要求可不传,但传的话必须传0,传其它会导致无法支付
抱歉,游戏请求参数不正确,请稍后再试(错误码编号)。客服xxx
12
回调地址未配置
客户端传递和服务端信息均无通知地址
抱歉,游戏请求参数不正确,请稍后再试(错误码编号)。客服xxx
98
请求参数不合法
解析授权参数时失败
抱歉,游戏信息获取错误,请返回游戏重试(错误码编号)。客服xxx
99
系统异常
创建会话失败、获取商品支付方式信息失败
抱歉,游戏信息获取错误,请返回游戏重试(错误码编号)。客服xxx


4、支付界面无法调起
九游支付:
1、检查支付需要依赖的alipay.jar是否有导入
2、代码是否有混淆,混淆的话是否有对SDK的所有类库keep
3、支付接口是否有执行,建议在调用前后增加log日志,查看日志是否有调用,如有调用是否存在异常日志,如有,请提供logcat日志

豌豆荚支付:
1、检查支付文件pay.png是否有正确放在assets/UCPaySDK/pay.png下(pay.png文件在开放平台-SDK接入参数获取那里下载,下载后为一张图片,下载前先将豌豆荚合作信息填好保存)
2、检查pay.png文件上显示的gameId与初始化时传递的gameId是否一致
运行日志查看关键字"UC.pay"信息核查,对照接入以下错误码说明原因排查,常见错误原因
错误码:INVALID_CP_PAYINFO,则有sign有误,检查
1)签名的要求:MD5(签名内容+apiKey)是否正确
2)apikey为游戏在开放平台-SDK接入参数那里获取的apikey,不要使用豌豆荚的参数,对应好每一款游戏
3)签名内容要求将所有传递的参数参数名称key按照字典顺序排列(a-z),值为空串需参与签名,值为null的参数不需要参与签名, sign和signType也不参数签名
4)签名内容不应包含“&”符号,拼接签名内容时需把“&”符号剔除
5)accountId需传递当前进入账号进入游戏后服务端验证会话verifySession返回的accountId,此为用户唯一标识,不可传sid或其它
6)签名示例(如apikey:123456):accountId=123452132amount=100.00callbackInfo=xxxxxcpOrderId=XXXXXXgrade=12notifyUrl=http://192.168.1.1/notifypage.do123456

错误码
错误描述
INVALID_SIGN
pay.png不正确
INVALID_ORDER_ID
订单号长度过长
ORDER_EXISTS
订单已经存在,订单号重复
INVALID_AMOUNT
订单金额不符合格式
INVALID_ATTACH_INFO
cp支付自定义信息过长
INVALID_NOTIFY_URL
通知地址不合法
INVALID_PAY_TYPE
未开通支付方式,需要联系运营
INVALID_CHANNEL_ID
渠道标识错误,联系运营
INVALID_OPEN_INFO
未开通支付方式,需要联系运营
USER_NOT_LOGIN
用户未登录
INVALID_CP_PAYINFO
CP支付签名信息不正确,或者统一账号不正确
INVALID_PARAM
CP支付信息参数不合法(核对各参数长度)
SYSTEM_ERROR
系统错误,其他异常联系开发


5、全新游戏,游戏在九游或豌豆荚上线过,SDK如何接入,包名如何定义
1)全新游戏(即无在九游或豌豆荚上线过),仅需接入阿里SDK6.0九游以上新版本即可,出一个包,上传九游开放平台,由九游分发到豌豆荚渠道
2)九游上线过,豌豆荚无上线过,仅需接入阿里SDK6.0以上新版本即可,
出一个包,上传九游开放平台,由九游分发到豌豆荚渠道
3)九游无上线过,豌豆
荚上线过,需要同时接入阿里SDK九游版、豌豆荚版本出两个包,两个包都上传九游开放平台,由九游分发到豌豆荚渠道,无需在豌豆荚提包
4)九游上线过,豌豆荚也上线过,需要同时接入阿里SDK九游版、豌豆荚版本
出两个包,两个包都上传九游开放平台,由九游分发到豌豆荚渠道,无需在豌豆荚提包

6、游戏包名(packageName)如何定义
1)全新游戏,包名需以.aligames为后缀
2)九游上线过,豌豆荚无上线过,包名需与原来在九游上线一致,以.uc为后缀
3)九游无上线过,豌豆荚上线过
接入九游版SDK的游戏包,包名需以.aligames为缀
接入豌豆荚版SDK的游戏包,包名及签名 需与原来在豌豆荚上线一致
4)九游上线过,豌豆荚也上线过
接入九游版SDK的游戏包,包名需与原来在九游上线一致,以.uc为后缀
接入豌豆荚版SDK的游戏包,包名及签名需与原来在豌豆荚上线一致


7、新版本SDK与旧版本有什么区分
新版本整合九游+豌豆荚,游戏接入时仅需使用一套接口协议即可完成原来两个SDK的接入

8、游戏原来在豌豆荚上线过,需要同时接入阿里SDK九游版、豌豆荚版本,需要注意些什么,参数是否需要不同配置
需要注意点:
1)接口协议不变,但接入豌豆荚版本需要导入的aar与九游版本不同
2)豌豆荚需要在manifest配置豌豆荚所需的权限声明及豌豆荚提供的AppKeyID,详见接入文档
3)需要在开放平台-游戏管理-找到游戏-SDK接入,获取豌豆荚支付时所需使用的pay.png,放在工程/assets/UCPaySDK/pay.png
4)九游包需要添加九游角标,豌豆
荚不需要
5)九游包需要导入alipay.jar包,豌豆荚不需要
6)豌豆荚提供了exit接口支持传递参数名为exitWithUI,该参数表示是否需要显示退出框,默认不传时为true,此参数为false仅当游戏异常退出或不适合弹出退出对话框时调用


接入过程中需要使用到的gameId,apikey均使用开放平台提供的同一套参数

9、游戏
原来在豌豆荚上线过,接入新版本SDK后原账号数据是否还在
维持不变,游戏原在豌豆荚生成的账号标识,新版本SDK登录验证返回的账号标识accountId为原豌豆荚标识,并且creator:WDJ(豌豆荚)
10、登录验证返回的creator如何区分不同平台
JY:九游
PP:PP助手
WDJ:豌豆荚
ALI:阿里游戏
如全新游戏上线,则统一返回ALI,如游戏在九游上线过,用户登录九游包则返回JY,如游戏在豌豆荚上线过,用户登录豌豆荚包则返回WDJ,如游戏在PP上线过,用户登录PP包则返回PP


11、调用支付pay接口时,需要传递的参数分别是什么作用
callbackInfocp自定义信息,在支付结果通知时回传,CP可以自己定义格式,长度不超过250
amount:金额,如果传递为0表示用户可以自定义充值金额,无小数时请传整数,单位为元。例:10.00
notifyUrl:支付回调地址,优先取客户端传递,无传递则使用开放平台配置,长度不超过100
cpOrderIdcp充值订单号,需要保证用户每次充值订单号的唯一性,长度不超过30
accountId:客户端登录成功后传递sid给服务端校验返回的账号标识
signType:签名类型,MD5或者RSA,目前只支持MD5
sign签名结果,MD5(签名内容+apiKey);签名由服务端生成后传回客户端


12、调用支付pay接口时,需要传递sign,sign如何拼接
sign拼接规则为:
1)将支付请求信息中所有传递参数的key按照字典顺序排列(a-z)值为null的参数不需要参与签名,signsignType也不参数签名
2) 所有参数按照上面的排序连接起来组成待签名数据,格式:p1=v1p2=v2p3=v3... 然后剔除&符号
待签名原始串示例(签名内容+apiKey(假如apikey:123456
accountId=123452132amount=100.00callbackInfo=custOrderId=PX299392#ip=139.91.192.29#...cpOrderId=XXXXXXnotifyUrl=http://192.168.1.1/notifypage.do123456


13、调用支付pay接口时,需要传递sign,sign由客户端还是服务端生成
sign必须由服务端生成,并且apiKey要求必须放在服务端,不允许写在客户端,否则可能会泄漏



0

主题

0

魅力

66

经验

Lv1新手上路

Rank: 1

发表于 2017-1-9 15:23:05 |显示全部楼层
Android版本豌豆荚的悬浮框的退出账号功能,现在是退出游戏了吗?还是我接入的有问题。
回复 推荐

举报

61

主题

0

魅力

3万

经验

网游运维

发表于 2017-1-24 10:29:25 |显示全部楼层
1660017943 发表于 2017-1-9 15:23
Android版本豌豆荚的悬浮框的退出账号功能,现在是退出游戏了吗?还是我接入的有问题。 ...

友友,“退出登录”那里会回调logoutSuccess回调,请在监听回调好里做好处理
回复 推荐

举报

0

主题

0

魅力

154

经验

Lv1新手上路

Rank: 1

发表于 2017-2-14 10:43:09 |显示全部楼层
java.lang.RuntimeException: Unable to instantiate service com.wandoujia.mariosdk.plugin.apk.message_push.MessagePushService: java.lang.ClassNotFoundException: Didn't find class "com.wandoujia.mariosdk.plugin.apk.message_push.MessagePushService" on path:



有遇到这个问题么 怎么解决
回复 推荐

举报

61

主题

0

魅力

3万

经验

网游运维

发表于 2017-2-14 15:01:10 |显示全部楼层
1062874645 发表于 2017-2-14 10:43
java.lang.RuntimeException: Unable to instantiate service com.wandoujia.mariosdk.plugin.apk.message_ ...

豌豆荚非正常退出时,重新启动出现的问题,SDK已做了调整优化,请更新下:https://game.open.uc.cn/document/doc/detail/15
回复 推荐

举报

0

主题

0

魅力

154

经验

Lv1新手上路

Rank: 1

发表于 2017-7-20 13:09:55 |显示全部楼层
用androidStudio 接入豌豆荚SDK,在导入ucsdk-6.x.aar、plugins_wdj.aar,按照开发文档 在AndroidManifest.xml中天加activity androidStudio报错,如下

Attribute activity#com.wandoujia.mariosdk.plugin.apk.activity.MarioAccountActivity@configChanges value=(orientation|keyboardHidden|screenSize) from AndroidManifest.xml:132:13-74
        is also present at [:plugins_wdj-6.0.6:] AndroidManifest.xml:11:13-63 value=(orientation|keyboardHidden).
        Suggestion: add 'tools:replace="android:configChanges"' to <activity> element at AndroidManifest.xml:130:9-134:75 to override.

回复 推荐

举报

61

主题

0

魅力

3万

经验

网游运维

发表于 2017-7-27 19:08:20 |显示全部楼层
334943569 发表于 2017-7-20 13:09
用androidStudio 接入豌豆荚SDK,在导入ucsdk-6.x.aar、plugins_wdj.aar,按照开发文档 在AndroidManifest.x ...

亲,你好,你如果引用aar文件,那这个activity可不用配置了,aar里已配置
回复 推荐

举报

返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

站点地图| 帮助中心| 微信客服| 九游手机游戏论坛 ( 粤ICP备13078412号-3 粤网文[2014]0209-059号 广州爱九游信息技术有限公司 )

GMT+8, 2017-12-17 04:41 , Processed in 0.063759 second(s), Total 17, Slave 16 queries , Memcache On.

回顶部