写点什么

Android 友盟三方登录、微信新浪分享成功不走回调,androidkotlin 优势

作者:嘟嘟侠客
  • 2021 年 11 月 27 日
  • 本文字数:2036 字

    阅读完需:约 7 分钟

例如 包名是 com.a.b(微信友盟开放平台),那么你这个 activity 应该放在 com.a.b.wxapi 文件夹下


包名为 com.a.b ,这个 activity 放在 com.a.b.view.wxapi 文件夹下 ? ?导致微信回调失败(新浪同理)


友盟分享个人小坑


微信分享:?-error:错误码:2003 错误信息:分享失败----权限验证失败,请检查你的签名以及该平台 Appkey 权限.


在确认签名无误已经已打包的情况下存在缓存问题,需要卸载微信以及你的 APK 从新安


《Android 学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享



dispatchMessage(122),这个是用户在本手机已登录,之后又在另一台设备登录,本手机缓存微信已登录状态引起的~


解决方法:点击微信,让手机知道微信处于未登录状态即可


友盟分享成功后不需要导入任何包


友盟分享个人小坑


1、自定义分享面板中 QQ 空间分享(withTargetUrl)url 会失败,但是单独用 new ShareAction((Activity) context).setPlatform(SHARE_MEDIA.QZONE).withTargetUrl(url)就可以使用;


2、新浪微博分享(withTargetUrl)url 会失败,.withText(url)也是可以的。


微信 openid 和 UnionID (多公众号如何判断是否是同一人)区别


通过获取用户基本信息接口,开发者可通过 OpenID 来获取用户基本信息,而如果开发者拥有多个公众号,可使用以下办法通过 UnionID 机制来在多公众号之间进行用户帐号互通。


1. 将多个公众号绑定到同一个微信开放平台(open.weixin.qq.com)帐号下,即同一个 Union 下


2. 通过获取用户基本信息接口中的 UnionID 来区分用户的唯一性,不过需要注意的是:公众号只有在被绑定到微信开放平台帐号下后,才会获取 UnionID。只要是同一个微信开放平台帐号下的公众号,用户的 UnionID 是唯一的。换句话说, 同一用户,对同一个微信开放平台帐号下的不同应用,UnionID 是相同的。


注意两个不同的用户信息


在不同的公众账号下 openid 是不一样的,而他们的 unionid 却是一样的。其他的信息不具有唯一性,没有比较意义。但基本信息是一致的。


这样就知道了关注两个公众账号的其实是同一个人。


unionid 意义:


对于拥有多个账号的企业来说,unionid 可以帮助识别不同公众账号下的用户是否是同一个人。这样在不同账号下对该用户提供的服务可以连续起来了。


还可以去除重复关注的用户数,便于统计真实的关注用户总数。


要第三方登陆的话:


SHARE_MEDIA platform = SHARE_MEDIA.WEIXIN;?


UMShareAPI ?mShareAPI = UMShareAPI.get(this);


mShareAPI.doOauthVerify(this, platform, umAuthListener);


//友盟第三方登陆回调


private UMAuthListener umAuthListener = new UMAuthListener() {


@Override


public void onComplete(SHARE_MEDIA platform, int action, Map data) {


data.toString()//返回的用户参数


}


@Override


public void onError(SHARE_MEDIA platform, int action, Throwable t) {


Toast.makeText( getApplicationContext(), "Authorize fail", Toast.LENGTH_SHORT).show();


}


@Override


public void onCancel(SHARE_MEDIA platform, int action) {


Toast.makeText( getApplicationContext(), "Authorize cancel", Toast.LENGTH_SHORT).show();


}


};


微信接入文档:


获取用户个人信息(UnionID 机制)


接口说明


此接口用于获取用户个人信息。开发者可通过 OpenID 来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的 unionid 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的 unionid 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid 是相同的。请注意,在用户修改微信头像后,旧的微信头像 URL 将会失效,因此开发者应该自己在获取用户信息后,将头像图片保存下来,避免微信头像 URL 失效后的异常情况。


请求说明


http 请求方式: GET


https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

分享读者

作者 2013 年 java 转到 Android 开发,在小厂待过,也去过华为,OPPO 等大厂待过,18 年四月份进了阿里一直到现在。


被人面试过,也面试过很多人。深知大多数初中级 Android 工程师,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长,而且极易碰到天花板技术停滞不前!


我们整理了一份阿里 P7 级别的 Android 架构师全套学习资料,特别适合有 3-5 年以上经验的小伙伴深入学习提升。


主要包括腾讯,以及字节跳动,阿里,华为,小米,等一线互联网公司主流架构技术。



如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!


我们致力打造一个平等,高质量的 Android 交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。


35 岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35 岁后的你只会比周围的人更值钱。


本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

用户头像

嘟嘟侠客

关注

还未添加个人签名 2021.03.19 加入

还未添加个人简介

评论

发布
暂无评论
Android友盟三方登录、微信新浪分享成功不走回调,androidkotlin优势