腾讯MSDK手Q微信授权登录
其实MSDK WIKI讲的很详细,这里就只挑重点了
名词解释
名称 | 名词概述 |
---|---|
平台 | 微信,手Q统称平台 |
openId | 用户授权后平台返回的唯一标识 |
accessToken | 用户授权票据, 获取此票据以后可以认为用户已经授权, 分享/支付等功能需要此票据. 手Q的accessToken有效时间为90天. 微信的accessToken有效时间为2小时. |
payToken | 支付票据, 此票据用于手Q支付, 手Q授权会返回此票据。微信授权不会返回此票据. 有效时间为6天。 |
offerId | 支付时使用,安卓的offerid为手Qappid |
refreshToken | 微信平台特有票据, 有效期为30天, 用于微信accessToken过期之后刷新accessToken. |
MSDKkey
|
MSDK前后台交互使用id,该key从MSDK 2.8.1版本开始使用,详情请点击查看 Android 2.8.1变更内容 |
异帐号 | 游戏中授权的账号和手Q/微信中授权的账号不相同, 此种场景称之为异账号. |
结构化消息 | 分享消息的一种, 此种消息分享后的展示形式为: 左边缩略图, 右上是消息标题, 右下是消息概要。 |
大图消息 | 分享消息的一种, 此种消息只包含一张图片, 显示也只有一张图片. 也叫做大图分享, 纯图分享。 |
同玩好友 | 手Q或微信好友中玩过同一个游戏的称为同玩好友 |
游戏中心 | 手Q客户端或微信客户端中的游戏中心统称游戏中心。 |
游戏大厅 | 特指 QQ游戏大厅 |
平台唤起 | 通过平台或渠道(手Q/微信/游戏大厅/应用宝等)启动游戏 |
关系链 | 用户在平台上的好友关系 |
会话 | 手Q或微信的聊天信息 |
安装渠道 | 游戏上线前打包会根据不同渠道(例如应用宝,豌豆荚,91等)生成不同渠道号的apk包, 在安装包中的渠道号称之为安装渠道. |
注册渠道 | 用户首次登陆时, 游戏的安装渠道, 会在MSDK后台记录, 算作用户注册渠道. |
Pf | 支付需要使用到的字段, 用于数据分析使用, pf的组成为: 唤起平台_账号体系-注册渠道-操作系统-安装渠道-账号体系-appid-openid.例如:desktop_m_qq-73213123-android-73213123-qq-100703379-A65A1614A2F930A0CD4C2FB2C4C5DBE1 |
pfKey | 支付使用 |
推荐登录流程
注意:
在需要使用本地票据登录时,不再需要调用WGLoginWithLocalInfo,改为调用WGLogin(EPlatform.ePlatform_None) ,然后等待onLoginNotify的结果。
正常授权都会通过OnLoginNotify回调回来,会得到一个token数组,微信和手Q的Token不同,
token会过期,手Q需要定时调用WGGetLoginRecord进行token的检查,比如25分钟调用一次,如果过期了则需要提示玩家重新授权。
微信的话建议配置自动刷新,将msdkconfig.ini中WXTOKEN_REFRESH按如下设置WXTOKEN_REFRESH=true
或者不设置(即默认是开启的)
刷新间隔默认30分钟,CHECK_TOKEN_TIME=30
这里需要注意一点,从游戏中心启动,或者从分享的结构化消息跳转到APP,需要处理异账号功能,
主要处理OnWakeupNotify回调,这里有两种情况,一种是游戏已经在运行中的,此时可以立即对OnWakeupNotify进行处理,另一种就是游戏在未启动的情况下被唤醒,此时可能游戏本身进入时需要进行资源加载之类的逻辑,所以需要对OnWakeupNotify的数据进行缓存,等到合适的时候再执行异账号的逻辑处理。
如果是游戏之前登陆的账号与平台账号一致,则此时flag会是eFlag_Succ或eFlag_AccountRefresh,此时调用WGGetLoginRecord获取本地的票据信息即可。拿到openid和token就可以登陆到GameServer了,也可以调用WGLogin(EPlatform.ePlatform_None),然后等OnLoginNotify的回调,执行正常的授权登录流程。当然如果你游戏本身已经是运行状态了,就不用重新登录了。
如果falg是eFlag_NeedSelectAccount,则需要自己弹个提示框,并让玩家选择是否切换账号,WGSwitchUser(true)是切换用户,WGSwitchUser(false)则不切换。
切换用户的话,即调用WGSwitchUser(true),然后把玩家踢到,然后调用WGLogin拉起授权,此时拉起端会使用平台的账号进行拉起授权,而不是你游戏的账号,这就是WGSwitchUser的作用。
还有什么游戏中心启动,分享唤醒传参之类的,都得通过OnWakeupNotify来处理。这里具体就不展开了,有时间再写文章絮叨,这些都接过一遍了,一般的问题都遇到过,也都解决了,不懂的兄弟放胆问哈
腾讯MSDK手Q微信授权登录相关推荐
- ios微信登录不上服务器,iOS微信授权登录
首先需要确保你的App应用在微信开发平台上注册创建并获得对应的接口,对应登录.支付等功能还涉及付费,具体申请流程就不再这里说了.到开放平台->管理中心->移动应用->查看应用,确认你 ...
- 京东深圳手Q微信事业部测试工程师面试总结
京东深圳主要就是手Q微信事业部,众所周知,京东商城购物三大渠道,PC,移动端APP,再就是手Q和微信入口,京东深圳就是负责最后一块的. 京东深圳位于宝安龙光世纪大厦,宝华地铁站出来就是了. 下面凭记忆 ...
- Android:微信授权登录与微信分享全解析
前言 在移动互联网浪潮中,联网APP已经把单机拍死在沙滩上,很多公司都希望自家应用能够有一套帐号系统,可是许多用户却并不一定买账:我凭啥注册你家应用的帐号?微博,微信,QQ几乎成了每个人手机中的必装应 ...
- [小黄书小程序]微信授权登录
在上一篇文章中,我们在后台实现了会员管理以及会员注册登录的逻辑.其中登录方式包括: 通过手机号码和验证码登录 通过微信授权登录 在小黄书小程序上,我们支持第二种登录方式.第一种方式,今后看情况再酌情进 ...
- uni-app授权第三方登录(微信授权登录)
APP微信授权登录需要到微信开放平台申请,在HBuilderX配置APP SDK中微信登录的appId,另外需要跟小程序.公众号授权账号互通的话也需要在微信开放平台申请,这是需要付费的呦(300元) ...
- Android接入微信SDK之一:发起微信授权登录
1.重要的事情首先说! 包名.应用签名.app id 三者都必须和在腾讯上申请的一致!!!否则将不能成功. 包名:就是在腾讯上申请的包名 应用签名:使用微信官网提供的<签名生成工具>(这个 ...
- 慕课网_《微信授权登录》学习总结
时间:2017年08月12日星期六 说明:本文部分内容均来自慕课网.@慕课网:http://www.imooc.com 教学源码:无 学习源码:https://github.com/zccodere/ ...
- html5+ mui框架 微信授权登录后跳回app无任何回调事件
2019独角兽企业重金招聘Python工程师标准>>> 微信授权登录可以调起微信,但是在微信上点击确认登陆后跳回app,但是之后无任何回掉事件. 问题原因: 1 因为我在集成Face ...
- thinkphp 微信授权登录 以及微信实现分享
<?php namespace app\wechat\controller; use think\Controller; use think\Request; /** * 微信授权登录类 * U ...
最新文章
- 理解和配置 Linux 下的 OOM Killer
- kali burpsuite 安装与使用
- 串口通信模块3:串口通信编程基础(读写、关闭)
- UpdatePanel中用后台调用Javascript
- boost::mpl模块实现lambda相关的测试程序
- Adhesive框架系列文章--Mongodb数据服务使用实践
- |Tyvj|NOIP2004|堆|贪心|P1066 合并果子
- 诺基亚2亿欧元建越南新工场
- 技术改变生活 浅谈阿里云混合云的探索与实践
- ArrayList去除集合中字符串的重复值
- Zepto 使用中的一些注意点
- IDEA和VS code设置默认换行符为LF
- oracle kup04040,ORA-20011: Approximate NDV failed: ORA-29913: 执行 ODCIEXTTABLEOPE
- acm--Lowest Bit
- Node.js十年,你大爷还是你大爷
- Restricted cubic splines
- 今宵多珍重(珍藏绝版精选)铃声 今宵多珍重(珍藏绝版精选)手机...
- 【计算机网络】第三部分 数据链路层(17) 广域网SONET/SDH
- 云计算机手机apple,云电脑IOS版怎么在苹果IOS手机上使用教程
- 游戏设计的艺术:一本透镜的书——第二十五章 好的游戏是通过游戏测试做出来的