所以最近我尝试使用Facebook登录登录我的Android应用程序。我按照所有说明(生成密钥,将其放在Facebook上等等),但即使在我完成所有步骤后,我仍然无法登录。
我遇到两个问题:
答案 0 :(得分:5)
经过大量研究后我找到了解决方案:
一个。我使用下一个代码生成密钥:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.example.somepackage",
PackageManager.GET_SIGNATURES);for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
我去了logcat,复制了生成的密钥并将其插入到Facebook应用程序中 在此之后,我可以在调试我的应用程序时登录。
湾在Play商店上传应用程序后,我惊讶地发现我无法使用Facebook登录!要解决这个问题,我找到了下一个解 转到Firebase - >项目设置复制您拥有的每个SHA指纹,将其粘贴到Convert Hexadecimal to base64,从base64行获取结果并将其添加到Facebook(除了来自" 2.a。"的键) 。
答案 1 :(得分:0)
当我为Facebook集成firbase Auth.UI时,发生了同样的事情。
由于某些原因,密钥生成的输出与实际生成的密钥不匹配。
这是针对Linux用户和开发环境的
光盘进入app-debug.apk以cd /buil/outputs/apk/debug
输入keytool -list -printcert -jarfile .app-debug.apk
您将被提示
Certificate fingerprints:
MD5: xx:xx:xx.......
SHA1: xx:xx:xx.......
SHA@56: xx:xx:xx.......
复制SHA1值并将其更改为base64(您可以使用任何工具),您将获得正确的键哈希值,该哈希值将添加到Facebook应用程序设置的键哈希值中。