[英]Facebook API on Unity Android app, login says it was “cancelled by the Player”?
我正在尝试遵循以下示例:
https://developers.facebook.com/docs/unity/getting-started/android/
我正在使用Unity 4.3.1f1
使用ADT:adt-bundle-windows-x86_64-20131030
并使用Facebook API版本4.3.6统一。
我正确地遵循了示例,我在developers.facebook.com上创建了应用程序,并使用了与项目相同的显示名称和名称空间。 我还使用了Facebook设置内部统一给我的值(包名称,类名和键哈希值),api给我的键哈希值正确放置在facebook页面上,并使用以下命令:
"keytool -exportcert -alias androiddebugkey -keystore "C:\\Users\\Rafael\\.android\\debug.keystore" | openssl sha1 -binary | openssl base64"
还会给我相同的密钥哈希,所以我相信一切都很好。
构建APK时,我会正确选择debug.keystore并输入正确的密码。
当运行InteractiveConsole演示时,按Init可以正常工作,但是按Login后,它要求许可,我按OK,登录不起作用,它说它已被Player取消 ,登录根本不起作用,并且不执行此操作。告诉我为什么,有什么想法吗?
因此,回答我自己的问题后,发现密钥哈希是错误的,我修改了Facebook API文件AndroidFacebook.cs,并通过更改此方法使它记录了所使用的密钥哈希:
public void OnLoginComplete(string message)
{
...
if (parameters.ContainsKey("key_hash"))
{
keyHash = (string)parameters["key_hash"];
Debug.Log("proper keyhash : " + keyHash);
}
...
}
而且记录的密钥哈希与其他所有方法给我的(包括API自己的知悉密钥)不同,我在facebook页面上添加了正确的密钥,现在一切正常。
我的解决方案是:
仅此而已,效果非常好!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.