解决加入Google Play签名计划后Facebook登录错误的问题

背景

已经在Google Play上架的应用,因为中途加入Google Play签名计划导致新版本App无法使用Facebook登录。所以需要重新到Facebook开发者后台添加Google Play签名计划中的证书的SHA-1的key hash。

本地Release包可以正常使用Facebook登录,而通过Google Play安装的包(以下简称GP包)无法使用Facebook登录,一般都是Key hash不对。

通常表现为GP包在使用Facebook登录时,会在logcat中打印Error日志,内容大概是签名的Key hash不匹配。或者出现以下错误:Login Error: There is an error in logging you into this application. Please try again later.

解决办法

  1. 登录Google Play Console,并进入对应的App页面。
  2. 在左边菜单栏依次选择Release management -> App signing
  3. 然后将应用签名证书的SHA-1证书指纹复制下来。(不要把SHA-1:也复制下来,只要xx:xx:xx...这部分)
  4. 执行一下代码echo xx:xx:xx... | xxd -r -p | openssl base64就能拿到对应的SHA-1的key hash,把它复制到Facebook的开发者后台中就可以了。

xxd工具

xxd是一个将文件以16进制进行显示的工具。

  • -r 表示逆向操作,即将16进制文件转换为2进制文件;
  • -p 以postscript的方式连续十六进制转储输出,也就是纯十六进制转储。即将00000000: aaaa bbbb cccc的输出方式改为aaaabbbbcccc

你可能感兴趣的:(解决加入Google Play签名计划后Facebook登录错误的问题)