Android-SDK接入-YSDK(应用宝1.7.0)
SDK接入-YSDK(应用宝1.7.0)-2021-01-07
大家好,近期在多渠道打包平台,会定期遇到第三方SDK升级,所以很被动的是,我们也要跟随他们的步伐,及时升级。否则将面临第三方开发者站无法过审的问题。之前我整理了 CodeReview 系列的博客,今天开始会抽时间整理第三方SDK接入的系列问题。当然,CodeReview系列的还会进行下去。
应用宝SDK的接入其实还是很繁琐的,各种参数的配置,还需要注意区分沙盒环境的配置和现网环境的配置的不同区别。今天我分享几个典型的问题:
1.沙盒环境和现网环境最容易出现的错误:
MidasPay 的沙盒环境下的 appKey 其实和 qqAppKey的值是相同的,但本质上者俩个东西是独立的,所以在切换到现网环境后,一定要注意,千万别把动qqAppKey。
2.UserLoginRet flag:3100;get login ret failed, on login recrod in db!
其实3100错误在 YSDK 的官网解释是本地票据不可用,引导用户重新登录。同时也给出了检测方案,比如参数核对,包名是否一致、签名是否一致等等。但是大多情况下,大家应该不会出像这些问题。让我们来看下详细的日志:
异常详细信息:
2021-01-06 20:56:03.623 8897-8897/? D/YSDK_DOCTOR: OK-notifyWakeupAsync
2021-01-06 20:56:03.623 8897-8897/? D/YSDK UserModule: mUserListener.OnWakeupNotify
2021-01-06 20:56:03.623 8897-8897/? D/YSDK UserModule: notifyWakeupAsync finished
2021-01-06 20:56:14.992 8897-8971/? D/YSDK b$a.run: TaskDispatcher run
2021-01-06 20:56:14.993 8897-8971/? D/YSDKDuration: Game time Duration :120
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WX OK-getLoginRecord
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: getWXUserLoginRet
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: UserLoginRet flag:3100;get login ret failed, on login recrod in db!
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WXUserLoginRet2UserLoginRet
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WX OK-getLoginRecord
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: getWXUserLoginRet
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: UserLoginRet flag:3100;get login ret failed, on login recrod in db!
2021-01-06 20:56:14.993 8897-8971/? D/YSDK_USER_WX: WXUserLoginRet2UserLoginRet
上面的异常信息发生在微信调起后,然后点击授权后,发现app并没有收到 回调,也就是 YSDK OnLoginNotify 方法没有被回调。
面对第三方SDK接入的问题分析,我有下一几种思路:
1.参数核对。(一定要仔细核对参数是否正确)
2.AndroidManifest.xml配置核对。(尤其需要注意每次的变革文档,要仔细注意其中的新增点和删除点,往往这些是我们升级或者接入SDK时常出现的问题的所在点。)
3.Assets配置和res文件是否缺失。
4.libs依赖是否缺失,当然这个分eclipse接入和gradle接入。
我们再回到上面的异常:
这个异常只会出现在微信登录时,但是QQ登录授权一切正常。所以直观的想,是不是微信ysdk回调用的时候有问题,但是尝试ysdk demo后发现时正常的。所以还是我们接入的问题。顺着我的思路来,参数检查没问题,然后重点关注AndroidManifest.xml的配置。
解决方案:
仔细检查 AndroidManifest.xml,发现 YSDK1.7.0 新增加了
<meta-data android:name="MAIN_ACTIVITY" android:value="${mainActivity}"/>
配置节点,然后问题就出现在这里,${mainActivity} 一定要配置成 app的主activity。此处配置节点错误,直接回导致微信登录授权后,无回调。
备注:
其实如果直接接入YSDK的情况下,应该会很少遇到上面的问题,但是我们的场景比较复杂,我们时聚合SDK,然后通过打包平台来对需要打包的app进行反编译,然后整合第三方SDK(如应用宝)的资源,jar、assests等等。整合的方式是通过桥接层来完成的,所以,这个过程中,首先是会通过demo验证。上述问题的出现就是因为,我们的demo 中的MAIN_ACTIVITY写死了,所以demo 的 QQ和微信都是登录正常的。 但是用正式的 app出ysdk渠道包时,就出现了上面的问题。
Android-SDK接入-YSDK(应用宝1.7.0)的更多相关文章
- Android SDK API (2.2,2.3,3.0)中文版文档
转的一篇.觉得很有用. Android SDK API (2.2,2.3,3.0)中文版文档 地址:http://android.laoguo.org固定连接:http://www.laoguo.or ...
- GoBelieve Android SDK接入备忘
Android SDK版本 目前SDK只支持Android 2.2或以上版本的手机系统. AndroidManifest.xml配置 以下配置可以在IMDemo/AndroidManifest.xml ...
- 百度地图 Android SDK - 新的版本号(v3.2.0)正式上线
百度地图 Android SDK v3.2.0 在版本号 2014 年 11 月 07 日本正式推出工作完成! watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...
- SDK接入(2)之Android Google Play内支付(in-app Billing)接入
SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...
- SDK接入(1)之Android Facebook SDK接入
SDK接入(1)之Android Facebook SDK接入 由于游戏已上线,且处于维护阶段,所以有空写写各种SDK接入过程和遇到的问题,也当作一种工作总结.SDK接入主流分为这么几类,登录.支付. ...
- Unity - 接入Android SDK
在网络上,关于Unity与Android如何进行交互,雨松MOMO大神已经有两篇文章简单介绍了如何操作(1)Unity3D研究院之打开Activity与调用JAVA代码传递参数(2)Unity3D研究 ...
- unity工程接入Android sdk后真机测试解锁屏后退出的解决
unity工程接入如91.移动支付等Android sdk后,真机运行尤其是在4.0+以上坏境,往往会出现解锁屏后退出的情况,解决办法如下: 可以在AndroidManifest.xml中所有的con ...
- Android开发SDK接入机智云,智能家居实现APP远程控制多设备
代码地址如下:http://www.demodashi.com/demo/12847.html 一.前言. 此框架只用了一周星期做了出来,因为对机智云的框架比较熟悉了 !期间SDK初始化出了问题,去咨 ...
- 手机游戏渠道SDK接入工具项目分享(二)万事开头难
一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...
随机推荐
- SELECT 1,2,3...的含义及其在SQL注入中的用法
首先,select 之后可以接一串数字:1,2,3-只是一个例子,这串数字并不一定要按从小到大排列,也不一定从1开始,这串数字的值和顺序是任意的,甚至可以是重复的,如:11,465,7461,35 或 ...
- 使用.Net Core做个爬虫
最近接手一个新项目,爬亚马逊分类.商品数据.记得大学的时候,自己瞎玩,写过一个爬有缘网数据的程序,那个时候没有考虑那么多,写的还是单线程,因为网站没有反爬,就不停的一直请求,记得放到实验室电脑上一天, ...
- elastic-job分布式调度与zookeeper的简单应用
一.对分布式调度的理解 调度->定时任务,分布式调度->在分布式集群环境下定时任务这件事 Elastic-job(当当⽹开源的分布式调度框架) 1 定时任务的场景 定时任务形式:每隔⼀定时 ...
- libev的用法
本例是以linux环境c++的用法,ide用的是vs2019 一.libev的安装 我们采用的是apt-get方法(偷懒^_^),你也可以采用源码方式安装 sudo apt-get install l ...
- SQL注入 (一)
一.手工注入 注入点检测 识别方法:通过在url栏输入'.and 1=1.or 1=1.and sleep(1),如果出现报错,或者页面不一致,则可能存在注入点. 注入类型:整数型.字符型.搜索型.B ...
- Python 学习笔记 之 01 - 基础总结
数据类型 整数 十六进制和八进制使用0开头,0x12f, 010 浮点数 可以用科学记数法,如1.23x10^9 可以写成 12.3e8 ,0.000012可以写成 1.2e-5 空值 用None表示 ...
- SpringBoot基于JustAuth实现第三方授权登录
1. 简介 随着科技时代日渐繁荣,越来越多的应用融入我们的生活.不同的应用系统不同的用户密码,造成了极差的用户体验.要是能使用常见的应用账号实现全应用的认证登录,将会更加促进应用产品的推广,为生活 ...
- 精尽Spring MVC源码分析 - MultipartResolver 组件
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- IOS实现自动定位和手动选择城市功能
IOS自动定位使用的是高德地图SDK 在高德开放平台http://lbs.amap.com/api/ios-sdk/down/ 下载2D地图SDK和搜索SDK 将SDK导入工程内 按照高德的配置说明进 ...
- vue-router 路由传参的几种方式,刷新页面参数丢失
常见场景:点击列表详情,跳转到详情内页,传递id参数获取详情数据. 我们先来看看路由跳转的几种方式: 1.通过params方式传参 通过$route.push的path携带参数方式 // 路由配置 { ...