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

                 好了,今天就写道这里,我是百灵。记录一下,希望能够帮助到大家。这个问题我也在网上查了很多资料,但无论时YSDK官网还是其他网站都没有找到结果。
     
     
     
  • 相关阅读:
    JS判断浏览器类型及版本
    php函数ob_start()、ob_end_clean()、ob_get_contents()
    HTML-embed标签详解
    QQ一键登录功能的实现过程
    windows 7系统搭建本地SVN服务器的过程
    php 环境工具官网地址
    yii2 auth access-token
    使用Yii2时遇到的实际问题
    PHPExcel正确读取excel表格时间单元格(转载)
    持续集成 Jenkins
  • 原文地址:https://www.cnblogs.com/mbailing/p/14247861.html
Copyright © 2020-2023  润新知