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渠道包时,就出现了上面的问题。

 

             好了,今天就写道这里,我是百灵。记录一下,希望能够帮助到大家。这个问题我也在网上查了很多资料,但无论时YSDK官网还是其他网站都没有找到结果。
 
 
 

版权声明:本文为mbailing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/mbailing/p/14247861.html