Unity FaceBook登录的一些坑

最近项目中接入facebook sdk ,基本没有什么出问题的地方,但是也有几个坑记录一下

facebook打点问题

facebook的打点接口

public static void LogAppEvent(string logEvent, float? valueToSum = null, Dictionary<string, object> parameters = null);

在打点时候如果不需要上传参数,那么parameters这个参数一定要传null,不能传一个空的dictionary,因为这个接口有个问题,如果parameters的长度小于2打点就会上传不成功,但是null是可以打点成功的,因此在调用的时候做一个处理,如果参数是空的直接传入null,如果参数小于两个就补充至两个,可以补充一些无意义的键值对,只要数量不低于2就行

facebook重复登录问题

facebook的登录接口可以看文档里面,正常传参调用是没有问题的,但是策划提出了一个在游戏中切换Facebook账号的需求,这个地方特别坑,按照正常的流程不管是绑定还是切换facebook账号,对于前端来说都是调用的facebook登录然后玩家输入账号,我们获取到assetToken,然后把userid和tokenstring发给服务器进行校验,但是如果我们成功登录过一次facebook,那么本地就会保留这个账号的token,再次调用facebook登录的时候就会自动使用这个token登录,没有办法选择,只有打开手机上的facebook app在里面手动登出,这里才会恢复正常让你输入账号,我试过在调用登录之前先调用LogOut()接口登出,但是没有用,不知道facebooksdk里面这个接口登出的是啥,反正清除不掉本地记录的token,结果就是没有办法切换账号,只要登录过一次facebook,那么要么就等这次的token过期,要么就手动在facebook app中登出,否则的话就没法切换账号,我试了一下现在已经上线的游戏的切换Facebook账号,也是这样,目前没有解决方案
今天发现了facebooksdk中logout的作用,sdk中的logout只是清除了在unity中记录的assetToken,重复登陆是因为在网页和facebookapp中保留了token,这个无法清除,我在项目中遇到的bug是在游戏中切换了facebook账号之后每次从sdk的返回中拿到的userid都是同一个,于是想到了logout函数,在登陆之前先调用logout清除unity的缓存就可以解决这个问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值