应用宝SDK接入总结
来源:互联网 发布:php 读取股票数据文件 编辑:程序博客网 时间:2024/05/21 22:32
应用宝SDK接入总结
应用宝sdk是众所周知的难接入,经过这次接入发现其接入难点主要在以下三个方面,其一,文档杂乱,部分地方语焉不。其二,微信与手Q部分参数缠连不清,部分出处不明。其三,腾讯技术客服支持不及时、工作应付。下面分别就登录接入、支付接入、易错总结三个方面稍作总结,以便他人参考。
1 登录接入
1.1登录客户端接入
登录接入流程图如下所示:
一般来说,按照登陆文档来一步一步进行操作,登陆相较于支付还是比较容易的。在接入登陆操作期间遇到的主要问题在于onNewIntent接口的调用,按照文档要求在launchActivity的onCreat()和onNewIntent()中必须调用WGPlatform.handleCallback(),否则会造成微信登录无回调。而tivicloudSDK并未实现onNewIntent接口,结果微信登陆收不到回调。解决此问题的补偿方案是需要在WXEntryActivity.java添加如下代码:
@Overridepublic void onResp(BaseResp resp) { Intent intent = new Intent(this, LoginChoice.class); intent.setFlags(268435456); intent.addFlags(536870912); intent.putExtra("wx_callback", "onResp"); intent.putExtra("wx_errCode", resp.errCode); intent.putExtra("wx_errStr", resp.errStr); intent.putExtra("wx_transaction", resp.transaction); intent.putExtra("wx_openId", resp.openId); intent.putExtra("platformId", platformIds); if ((resp instanceof SendAuth.Resp)) { SendAuth.Resp res = (SendAuth.Resp)resp; Logger.d("code: " + res.code); intent.putExtra("wx_token", res.code); } if (!"msdkwebpage".equals(resp.transaction)) { startActivity(intent); } finish(); }
1.2登录服务端的接入
登录服务的编码按照文档一步一步接入即可。重要的是要细心,与前端商量确定好具体的参数。
2 支付接入
2.1支付客户端接入
支付接入流程如下图所示:
登陆接入和支付接入是两个不同的部分,使用不同的文档以及SDK,可能是由于支付文档和登陆文档衔接的不是太顺畅,在支付过程中遇到较多的问题,下面一一列出。
参数问题
在支付过程中所需参数较多,并且手Q登陆和微信登陆状态下所需的参数部分不同,和需要特别注意。其中pay_token参数的获取文档中并未明确给出。
- pay_token
文档中并未明确给出获取方法,pay_token的获取方式是在手Q的登陆回调中获得的。具体位置在回调中case TokenType.eToken_QQ_Pay接口下,tr.value值即是pay_token.
case TokenType.eToken_QQ_Pay: token = ret.getAccessToken(); pay_Token = tr.value; //pay_token break;
- rq.sessionId、rq.sessionType、rq.pay_token
手Q状态下与微信状态下需要传递不同的参数:
//手Q登录态与微信登录态分别传递不同的参数if (手Q登录状态下){ // 特别注意如果使用的是手Q登录态,这里填的是支付时专用的pay_token rq.openKey = pay_Token; rq.sessionId = "openid"; rq.sessionType = "kp_actoken"; }else if(微信登陆状态下){ rq.openKey = wxAccessToken; rq.sessionId ="hy_gameid"; rq.sessionType = "wc_actoken"; }
支付界面调起
一般情况下,支付界面调不出来很大可能是参数问题,请仔细核对参数。
2.2支付服务端接入
服务端接入关键点在于签名sig的计算。一下几点需要注意:
- 在进行sig的计算是appID ,appkey 都用手Q 的ID和key
- 微信和手Q支付中pay_token,在sig的计算中,微信 pay_token不参与sig的计算中.
- 就算sig 签名使用snsigcheck中的makesig来进行计算(ts时间戳要特别注意)
- 在请求是session_id, session_type 不同
3 易错总结
除了以上写出几个关键问题之外,我们还遇到一些其他比较刁钻难解的问题,现一一列出,以便查阅。
3.1 非官方正版应用 100044
问题描述
如下图所示:
解决方案
出现该错误的原因是,应用所用包名以及出包所用签名为非腾讯后台申请到的包名及签名,请使用在腾讯后台创建应用时所使用的包名以及签名。
3.2 按照指定签名出包后程序崩溃
问题描述
在使用eclipse默认签名情况下程序可正常运行,但是一旦按照指定签名出包后程序一运行就崩溃。
解决方案
具体原因不明,猜测可能是代码混淆原因吧,解决方法是注销project.properties文件下的一句话:
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
—— 2015年9月14日18:41:46
——写于公司
- 应用宝SDK接入总结
- 支付宝最新sdk接入总结
- 游戏sdk接入教程:接入应用宝渠道SDK之一登录篇
- cocos2dx android SDK接入总结
- 跨平台sdk接入总结
- Unity接入sdk问题总结
- 应用宝省流量更新sdk接入指南
- 接入支付宝SDK
- 移动支付sdk技术总结-3(支付宝接入)
- QQ SDK移动应用接入问题
- 广点通sdk接入 _应用墙广告
- Android微信SDK接入总结
- Unity3d与Android交互-SDK接入总结
- cocos2dx接入支付宝sdk
- 支付宝sdk接入笔记
- android平台接入服务器总结(二)腾讯qq应用宝接入
- sdk接入
- SDK接入
- 早接触之代码工具
- 我的第一个项目——说说那些年我们一起写过的代码
- 2016年美的校招面试
- Javascript常用前台表单验证
- 二叉树的重建,遍历,求深度算法
- 应用宝SDK接入总结
- libevent demo详细分析(对比epoll)
- 浅谈 Spring Quartz调度器
- 使用WebView弹出不支持localStoragede对话框的问题
- Android硬件抽象层(HAL)概要介绍和学习计划
- 利用SurfaceView实现转盘抽奖
- VS2008“无法找到“xxx.exe”的调试信息,或者调试信息不匹配。未使用调试信息生成二进制文件。”
- 畅通工程续
- 启动风暴解决方法汇总