登录流程这一块,之前做功能没有接触到这一块,最近做登录踩了几个坑,下面来梳理一下:

我们这款app,之前是h5版的,在线上运营了大概一年,效果还比较好,但是h5版本的没有服务器,数据是采用云函数存储在云服务器的,当前看数据可以,打算快速的出一个app版本,先上台湾市场,看看效果,于是就接入了服务器,大部分的逻辑还是在前端,大约花了1-2个月左右接入完成,2020年11月份左右推出了app台版的,留存也比较好,次留大约有60%-70%,前后端各一个开发人员,之后又搭了一台h5端的服务器,把云函数数据库数据迁移到mysql,正式接入了服务器,服务器接入之后,准备先把一部分涉及到道具相关的逻辑迁移到后端,12月初左右国内的app版号申请又下来了,然后又出了国内版本,接了vivo,好游快爆,apple3个平台,前面两个平台上了之后数据还可以,apple只是审核通过还没来得及上线,在1月初,老板突然说要国内大上,大约20个渠道,订的1月29好上线,然后一个月内,我们匆匆忙忙接完上线了,坑就此埋下来了。

我们接的sdk不是渠道原生的sdk,不然也没有那么快,两个星期就匆匆忙忙接完了,我们公司出了一个聚合sdk,整合在市面上主流的大部分sdk,对于我们开发来了,就不用针对单个渠道单个处理。

登录方式是:oppo,vivo,华为,小米,应用宝,4399,bilibili,360,阿里游戏,联想,233等这些渠道是只能使用该平台的账号才能登录,官方包、 taptap,好游快爆,金立,魅族,百度,美图等这些渠道包支持微信登录和游客登录两种方式。

游客登录是不经过sdk服务器,登录流程大致如下:

微信登录和第三方平台账号登录需要经过sdk服务器,登录流程大致是:客户端先向sdk,sdk返回heiToken和channelToken,然后客户端拿着heiToken和channelToken,设备id,渠道名请求游戏服务器,游戏服务器拿着这些参数去请求sdk服务器认证,然后sdk服务器返回第三方的openId,服务器根据openId和platform查找是否有对应的用户,然后返回给前端用户信息。

上线之后,根据玩家反馈给客服的情况,大致有以下几个坑:

1.为什么应用宝登录登录和官方包微信登录不是同一个号?

这个问题其实算一种设计方案,看策划要求是否选择分渠道还是不分渠道,前期我们接的匆忙,这些问题也没考虑到,之前默认按分渠道创建账号,所以两个平台的微信登录创建了两个不同的账号,在后续优化中,我们询问了公司的sdk开发的小伙伴,我们自己接入的微信和登录和应用宝自带的微信登录,他们在微信那边申请的appid是两个不同的公司主体,所以两种微信登录方式返回了不同的openId,但是我们的官方包和美图、金立、好游等这些渠道的包是采用的一个包体,只是渠道名不一样,微信登录返回的openId是一样的,由于我们游戏服务器是根据platform+openId来确认唯一用户标识,所以尽管这些包都是返回一样的openId,但是还是创建了不同的游戏账号。

如果要做成不分渠道创建玩家账号,游戏服这边还需要建立一个各个平台openId和游戏id的关联关系表,考虑到改动量比较大,当前这种分渠道创建账号也能接受,所以这个问题就暂时不做优化,希望大家在接平台的时候一定要问清楚需不需要分平台创建账号。

2.当前已有游客账号,再用微信登录是否需要自动绑定游客账号还是重新创建新号?

这个问题正常的流程应该是检查到该设备上有游客账号登录过,微信登录时要么自动绑定到玩家游客账号上要么弹出提示询问玩家是否要绑定到当前的游客账号上,但是我们在接入登录的时候没有考虑到这个问题,微信登录直接又给玩家创建了一个新账号,苹果的微信登录是上线之后接入的,所以玩家下载新包之后,微信登录发现是新号,就不能理解,以为是新号,所以我们在之后的优化中,在微信登录的时候也向游戏服传游客登录时取的设备唯一码,微信登录时,游戏服先向sdk或者微信的openId,然后根据openId+platform查找是否创建了账号,如果没有,再根据设备码+游客平台查找是否有游客账号,如果有游客账号,前端弹出提示询问玩家是否需要合并账号,还是重新创建游客账号。

3.苹果游客登录为什么会丢账号?

客户端在游客登录的时候获取的设备唯一码方法不对,大致的意思是:苹果不让获取设备唯一码,然后用了一个什么方法随机生成了一个唯一码,放在内存中,如果当前手机上没有别的app应用用到这个方法取唯一码,在卸载改游戏清缓存之后,这个唯一码可能丢失。再次下载该游戏进入可能会新生成一个唯一码,就会出现丢账号的请求。根据前端同事的说法,这个取唯一码是前端这边自己调用的方法,公司的聚合sdk有针对取唯一设备码提供有方法,但是如果现在修改获取唯一码的方法,可能导致苹果上之前的老游客账号大面积丢失账号,考虑到这中丢账号是小概率事件,所以我们暂时不修改这个取唯一设备码的方法,针对游客账号每次登录进游戏强弹一个提示,告诉玩家可能有丢账号的风险,提示玩家尽快绑定账号。

游戏游客登录与账号登录相关推荐

  1. 解决PanDownload登录提示账号登录失败,获取bdstoken失败问题

    之前在这篇文章下的回答https://blog.csdn.net/weixin_43317534/article/details/106558533,受到很多人欢迎,近期(8月5号)原回答的方法已经失 ...

  2. 手机验证码登录,账号登录结合

    本项目基于腾讯外包框架(wei框架) 地址:https://github.com/twinh/wei/tree/master/docs/zh-CN#wei HTML页面: [基于bootstrap前端 ...

  3. 微信小程序授权登录和账号登录

    背景 最近老板让我们做一个微信小程序,他要求我们实现既可以授权登录获取用户信息,又可以选择申请账号注册,登录的一个功能. 提示:以下是本篇文章正文内容,下面案例可供类似要求参考 一.点击登录弹出选择登 ...

  4. 美多商城项目之用户登录:账号登录、QQ登录

    一.账号登录 1.1 用户名登录 1. 用户名登录逻辑分析 2. 用户名登录接口设计 1.请求方式 选项 方案 请求方法 POST 请求地址 /login/ 2.请求参数:表单 参数名 类型 是否必传 ...

  5. 登陆失败bdstoken_解决PanDownload登录提示账号登录失败,获取bdstoken失败问题

    最近使用pandown,使用百度账号直接登录不上了,提示bdstoken获取失败,不管是新浪第三方登录,还是QQ第三方登录,都是这个提示,因此我找了好多办法,终于发现了一个大佬的解决办法,附上连接及步 ...

  6. vue密码登录和账号登录页面的设计

    1.login.vue文件 (1)在login.vue文件中引入两个组件,分别引用 import LoginAccount from "./cpns/login-account.vue&qu ...

  7. 账户登录失败获取bdstoken失败_解决PanDownload登录提示账号登录失败,获取bdstoken失败问题...

    最近使用pandown,使用百度账号直接登录不上了,提示bdstoken获取失败,不管是新浪第三方登录,还是QQ第三方登录,都是这个提示,因此我找了好多办法,终于发现了一个大佬的解决办法,附上连接及步 ...

  8. ansible免密登录和账号登录方式

    ansible是可以通过ssh私钥去导入到远端客户机电脑,然后第二次访问以后就可以免密码输入. 但是这样也会带来一些问题,在实际的环境中.会有安全隐患,如果这台ansible主机被攻陷,会导致整个生产 ...

  9. 微软账号登陆不上_登录微软账号的Windows电脑如何远程?

    一般情况下,我们都使用的是Windows电脑的本地账户.但是随着Windows 10的推广,现在微软也开始主推微软账号登录Windows电脑了. 现在遇到一个问题,就是远程Windows电脑时,提示连 ...

最新文章

  1. 【Qt】QCloseEvent的使用小结
  2. Mybatis注解学习记录
  3. anaconda3配置环境变量_Python:Anaconda安装及LabelMe配置(1)
  4. python sqlite数据库一对多_Python:使用sqlite3进行多处理
  5. 先出报表还是先计提所得税_一道大综合题搞定“与子公司的内部交易合并报表抵销分录”的逻辑...
  6. 福建品品香茶业有限公司业务迁移上云
  7. 《Java程序员,上班那点事儿》 - 书摘精要
  8. Ueditor和CKeditor wysihtml5 编辑器的使用与配置
  9. oracle exists替换,oracle 优化or 替换为in、exists、union all的几种写法,测试没有问题!...
  10. 500多套微精品信小程序源码部分带后台,不同行业的源码集合,适合快速开发和自己学习
  11. 计算机组成与设计RISC-V版笔记
  12. A very hard mathematic problem HDU - 4282
  13. 杜克大学中国女博士7年奋斗历程
  14. 云原生之使用Docker部署Python应用
  15. C语言动态内存开辟详解(malloc,calloc,realloc,free,柔型数组)
  16. 【MySQL】navicat for mysql 安装及使用
  17. mysql黑盒测试_黑盒测试记录二
  18. Bitmap精炼详解第(三)节:Bitmap的压缩
  19. VASP安装教程-虚拟机-2022
  20. “21天好习惯“ 第十六期 — 16之黑马面面移动端布局(二)

热门文章

  1. 2012年下半年软件评测师上午试题
  2. SpringBoot单元测试Mock静态方法
  3. u盘安linux、win等系统
  4. php将一组数从小到大排序,php数组排序从小到大函数
  5. 高二会考计算机操作题试题及答案,2017高二数学会考试题及答案_高二会考答案(数学)(5)...
  6. rk3288 android7.1 横竖屏切换(动画过度)
  7. 简单衣物店购买计算系统问题
  8. Android入门篇(四):自动拨打电话、手动拨打电话
  9. 【雷达与对抗】【2016】76-81GHz平面天线在汽车雷达中的开发与应用
  10. javaWeb课程体系介绍