✅已解决 | 按照主页1分钟集成报错

按照集成向导,在android项目的 build.gradle 中加入: implementation ‘cn.authing:guard:+’

然后在 MainActivity.kt 中加入
Authing.init(applicationContext, “XXXXXXXXXXXXX”)
在 SecondActivity.kt中加入
AuthFlow.start(this)

启动debug报错:

java.lang.ClassNotFoundException: Didn’t find class “com.google.gson.reflect.TypeToken” on path: DexPathList[[zip file “/system/framework/android.test.mock.jar”, zip file “/system/framework/android.test.runner.jar”, zip file “/data/app/com.ml.projects.example-PNyRli4afLqzryhr7RXlog==/base.apk”],nativeLibraryDirectories=[/data/app/com.ml.projects.example-PNyRli4afLqzryhr7RXlog==/lib/x86, /data/app/com.ml.projects.example-PNyRli4afLqzryhr7RXlog==/base.apk!/lib/x86, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)

Android Studio 版本:2021.1.1 Patch 3
classpath ‘com.android.tools.build:gradle:7.1.0’
compileSdk 30

proguard-rules:
-keep class com.github.aachartmodel.aainfographics.** { ; }
-keep class com.google.gson.
* { *; }

我们依赖的第三方库又依赖了gson,麻烦您也在自己工程中加一下gson依赖
implementation ‘com.google.code.gson:gson:2.8.6’

谢谢!问题已解决,请问是否有端上“用户中心”或者“我的” 栏目的解决方案?我在文档中都没找到

您可以参考下 guard demo 中的 MainActivity,自建一个 activity 继承 UserProfileActivity 即可,暂时还未更新到文档中

看起来很简单啊,那如果在 Fragment 中呢? 好像不能直接使用 Activity 类?

集成完测试发现登录界面好像还有点问题,和文档中截图的不一样,且点击验证码按钮无效

暂不支持 Fragment,您这个应该是网络问题,请确认下模拟器网络是否正常

好的,你们响应的很快!感谢回复!登录问题解决了,希望以后能支持 Fragment!

多次测试,很遗憾的发现还是大概率会出现如上图登录界面失效的情况,我想继续问下端上可以将登录界面固化吗?每次请求返回界面 1是浪费带宽,2是在没有网络的时候显示不友好

这里界面是在本地的(不会浪费带宽),只是需要请求一个叫做 public config 的接口。这个接口会返回控制台的配置信息,比如设置了哪些社会化源,登录方式有哪些等等。所以在没有拿到配置信息之前,我们无法准确的显示界面。一般来说,登录界面会出现在 Splash 界面之后,Splash 界面可以确保获取 config,在移动端 Splash 界面扮演了 loading 的角色。请参考这里的 Splash 实现:

虽然线上的 App 大多有 Splash 界面,但如果没有呢?或者调试阶段还没有开发 Splash 界面,确实会产生困扰,所以针对上周您提的这个问题,我们周一已经全面梳理了,我们会从以下几个方面来优化:

  1. 正在获取 public config 时,如果进入了登录界面,则显示 loading
  2. 增加 public config 缓存。这样可以确保获取上一次的配置信息。
  3. 当用户确实没有网络,或者超时,增加错误提示(而不是依赖 Splash 报错)
  4. 个人中心支持 fragment

预计这周能搞好上线

方便的话添加一下微信:13632530515
这样我们可以提供更快的技术支持

好的,很给力!已加微信!

添加依赖后无法运行

先在这里看看冲突的地方。
qgdWV

这样可以方便定位 manifest 是和 guard 发生了冲突,还是和其他第三方库发生了冲突,以便于我们协助解决。我们这边 check 了一下,我们的 manifest 的 item 都放置在 cn.authing 这个包名下面的,所以应该是命名空间隔离的。

方便的话,加一下微信,我们一起看下。
13632530515