ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android上的Facebook Unity SDK – 安装FB App时登录失败

2019-09-27 15:25:54  阅读:362  来源: 互联网

标签:android facebook facebook-unity-sdk


我似乎遇到了与此问题中讨论的问题相同的问题:
Facebook SDK for Unity on Android – Trouble about callback from FB.Login

在Android上安装常规Facebook应用程序时,使用Unity SDK调用FB.Login()会提示用户接受应用程序的权限,当应用程序获得批准时,将触发回调:
FBResult.Text

{ “is_logged_in”:假的, “USER_ID”: “”, “的access_token”: “”}

FBResult.Error

空值

当安装Facebook应用程序时,使用Web流程并且工作正常,但我已经尝试使用Unity SDK的v4.2.4和v4.2.2.

有关解决此问题的任何其他建议吗?

编辑:还应该注意,我已经尝试过2种不同的设备(Galaxy Note 10.1和Nexus 7)

提前致谢!

2014年的一个注释.在某些情况下,问题非常简单,你忘记了developers.facebook上的设置. Brian在这里用图像解释它:http://answers.unity3d.com/questions/543540/facebook-sdk-v424-android-login-not-working.html如果您完全忘记了设置,那么在没有fb应用程序的设备上它会工作(!).至于实际问题,幸运的是,即使您在Mac上使用Unity也有一个解决方案,它很简单:http://answers.unity3d.com/questions/609810/using-facebook-api-with-android-says-login-is-canc.html

解决方法:

Ach觉得很傻,最终设法解决了这个问题,通过部署到中间件谷歌Android项目,我能够使用logcat获得更有用的错误消息:

remote_app_id does not match stored id

从那里我发现了与标准Android SDK相关的这个主题:
Android Facebook SDK 3.0 gives “remote_app_id does not match stored id” while logging in

最后通过将Key Hash替换为此代码段获得的Key Hash来解决问题

try {
PackageInfo info = getPackageManager().getPackageInfo(
      "com.facebook.samples.loginhowto", 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 (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}

当然,用您自己的包名替换com.facebook.samples.loginhowto

资源:
https://stackoverflow.com/a/14421260/2823496

似乎通过命令行或Unity获得正确的keyhash取决于安装了正确版本的openssl(并存储在PATH中),但不知道是什么版本. (尝试了相关答案中的那个)所以要对付其他任何与之斗争的人.

注意 – 如果您使用Mac进行Unity开发,则几乎不可能这样做.在这种情况下,这是幸运的简单解决方案http://answers.unity3d.com/questions/609810/using-facebook-api-with-android-says-login-is-canc.html

标签:android,facebook,facebook-unity-sdk
来源: https://codeday.me/bug/20190927/1823915.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有