在我的Android应用程序中,我使用facebook登录 . 这是我第一次使用它 .
登录功能在发布apk文件中正常工作 . 另外,我使用keytool,openssl生成了密钥哈希: -
keytool -exportcert -alias "MyAppAlias" -keystore "Path to keystore" |
openssl sha1 -binary | openssl base64
我在Facebook开发者帐户的App设置中添加了生成的密钥哈希 . 现在,当我生成签名apk时,Facebook登录工作正常,但在Play商店发布相同的apk后,Facebook登录无法正常工作,它只是重定向到活动的地方(我的应用程序的登录活动)没有任何崩溃或没有回应的消息 .
谢谢 .
2 回答
最后,我解决了这个问题 .
Reason Behind this issue 在发布应用程序到Play商店时,我从Google Play进行了APP SIGNING,因此在那里创建了新的SHA-1密钥 .
要查看此密钥,请转到Google Play控制台,选择您的应用,然后选择 Release Management -> App Signing
在此页面上,我在“应用程序签名证书”部分下获得了新的SHA-1密钥
因此,关键是Google Play Signing会创建一个新证书,如上图所示 .
在Facebook开发者帐户中,我们需要添加由密钥库生成的密钥哈希值 . 但在这种情况下,我们还需要添加Key hash对应这个APP SIGNING证书 . 现在的问题是,如何获得此证书/ SHA-1指纹的密钥哈希?
How to create Key Hash from SHA-1 key of Google Play APP SIGNING?
要从SHA-1密钥生成密钥哈希,请执行一个小型Java程序,
输出: -
复制此密钥哈希并将其粘贴到您的应用程序的Facebook开发人员帐户设置 . 这就是我的问题得到解决的方法 .
感谢所有开发者的评论 . :)
我提高了@vChamps的答案 . 只需将SHA1字符串传递给下面的函数