android - Facebook 登录 sdk 在发布应用程序 android 中不起作用

标签 android facebook facebook-graph-api hash key

我正在使用 Facebook 登录 sdk 登录我的应用程序。虽然它在模拟器中工作,并且还可以在移动设备上使用 Facebook 应用程序和不使用应用程序构建 apk

但是当我将应用程序发布到 Play 商店时,它无法正常工作。我禁用或卸载 Facebook 应用程序,然后它可以正常工作,否则它不起作用。

我还用签名的 jks 文件更改了我的 Key Hashes(我有 .jks 文件而不是 .keystore).但它不起作用。

不知道它有什么问题。

我从 Play 商店下载发布应用。

最佳答案

最后,我解决了这个问题。

此问题背后的原因 在将应用发布到 Play 商店时,我从 Google Play 进行了应用签名,因此在那里创建了新的 SHA-1 key 。 要查看此 key ,请转至 Google Play 控制台,选择您的应用,然后选择 Release Management -> App Signing 在此页面上,我在“应用程序签名证书”部分下获得了新的 SHA-1 key

Facebook 开发者帐户,我们需要添加由我们的 keystore 生成的 key 哈希。但是在这种情况下,我们还需要添加这个APP SIGNING证书对应的Key hash。现在的问题是,如何获取此证书/SHA-1 指纹的 key 哈希?

如何从 Google Play APP SIGNING 的 SHA-1 key 创建 key 哈希?

要从 SHA-1 key 生成 key 哈希,请执行一个小命令,

echo SHA1_here | xxd -r -p | openssl base64

您还可以使用在线转换器: https://hash.online-convert.com/sha1-generator

我已经使用 keytool、openssl 生成了 key 哈希:-

keytool -exportcert -alias "Aliasname" -keystore "Path to keystore(jks)" |openssl sha1 -binary | openssl base64

复制此 key 哈希并将其粘贴到您应用的 Facebook 开发者帐户设置中。我的问题就这样解决了。

感谢所有开发者的评论。 :)

关于android - Facebook 登录 sdk 在发布应用程序 android 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43467173/

相关文章:

java - 非常长的字符串作为 Web 服务的响应

android - 可以在 android 中预先创建对话框吗?

android - 如何在android中检测人体

android - 以编程方式更改android中的时区

ios - 我们如何在 Facebook 墙上发布 ASCII 艺术作品?

ios - Facebook 不接受应用程序进行“聆听”操作

facebook - 获取 Facebook 公开帖子的所有评论

php - Dropbox 上的共享功能如何允许您向 Facebook 好友发送私有(private)消息?

java - Android 应用程序无法在设备上运行

ios - Facebook SDK,是否可以通过用户名获取所有用户?