游戏游客登录与账号登录

news/2024/11/29 13:44:37/

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

我们这款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有针对取唯一设备码提供有方法,但是如果现在修改获取唯一码的方法,可能导致苹果上之前的老游客账号大面积丢失账号,考虑到这中丢账号是小概率事件,所以我们暂时不修改这个取唯一设备码的方法,针对游客账号每次登录进游戏强弹一个提示,告诉玩家可能有丢账号的风险,提示玩家尽快绑定账号。


http://www.ppmy.cn/news/431038.html

相关文章

关闭数字健康 android 魅族,魅族Flyme数字健康,手机使用情况尽收眼底,还能限制使用!...

原标题:魅族Flyme数字健康,手机使用情况尽收眼底,还能限制使用! 各位观众朋友们,又到了扒一扒Flyme系统实用性功能的时刻了。 伴随着优美的旋律,欢快的节拍,大家跟我一起来! 当然...…

魅族SDK接入

今天老大让我接魅族的SDK,拿过资料后我大概扫视了一下接入手册,基本上都是一个套路.所以就没有再细看了. 我拿到手的就是 第一个不我想不用我说你们都知道是什么了,它就是魅族的jar了,需要放入U3D工程里面和你所做的JAR插件里面,然后第二个就是一个魅族的框架程序,魅族有个操蛋…

关闭数字健康 android 魅族,数字体验 篇二十八:精雕细刻,只为给魅友更好的选择,魅族16s Pro体验分享...

数字体验 篇二十八:精雕细刻,只为给魅友更好的选择,魅族16s Pro体验分享 2019-09-06 17:31:22 14点赞 10收藏 15评论 当我还一直在称赞魅族16s所拥有的舒适手感表现时,魅族却已经给我们带来了魅族16s Pro。不过,Pro并非…

关闭数字健康 android 魅族,魅族Flyme数字健康,手机使用情况尽收眼底,还能限制使用...

各位观众朋友们,又到了扒一扒Flyme系统实用性功能的时刻了。 伴随着优美的旋律,欢快的节拍,大家跟我一起来! 当然........ 音乐是没有的,但是干货满满的。 接下跟着我一起来看看今天的重点功能, Flyme数字健…

魅族16th系统更新服务器异常,魅族16th迎来新系统更新:修复Bug 加入暗光面部解锁...

当前,魅族旗下的年度旗舰机型就当属魅族16th和魅族16th Plus了,而现在,魅族Flyme 7体验版发布了更新,新版本为魅族16th修复了很多常见Bug,同时对部分功能进行了优化调整。最为可喜的是,新版本调整了面部识别…

魅族android os是什么,基于安卓5.0:新版魅族Flyme OS初体验

上月底开始,魅族开启了Flyme Powered by Android 5.0版本的测试工作,首先适配的是MX4 Pro,经过几个版本的极小范围内测之后,近日终于进入A轮内测阶段。我们有幸拿到了系统包,提前体验了这个测试版系统。 首先简单罗列一…

魅族系统如何关闭系统推送服务器,如何关闭魅族Flyme系统通知栏推送的广告?...

关闭魅族Flyme系统通知栏推送的广告,只需以下几个步骤即可关闭。 步骤一:点击“设置”,在设置中点击“新闻资讯”,随后在该设置界面中找到 “精选内容推送”并点击关闭。 步骤二:在设置中点击“游戏中心”随后进入消息…

魅族一直显示无服务器,魅族手机用久了卡顿,这三个方法轻松解决

哈喽小伙伴们大家好~我是节奏君~ 有看节奏君视频的朋友,肯定也知道我用的是魅蓝Note5, 这台手机我是过年期间入手的,用了三个月,千元机总体上来说不错。 对于我这种不怎么玩游戏的人来说,这手机也足够了。 魅族的小伙伴…