我正在尝试按照这个例子:
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并且登录不起作用,它表示播放器已取消 ,登录根本不起作用,不告诉我为什么,任何想法?
答案 0 :(得分:1)
所以回答我自己的问题,结果是关键哈希是错误的,我修改了facebook API文件AndroidFacebook.cs,并通过更改此方法记录了它正在使用的任何密钥哈希:
public void OnLoginComplete(string message)
{
...
if (parameters.ContainsKey("key_hash"))
{
keyHash = (string)parameters["key_hash"];
Debug.Log("proper keyhash : " + keyHash);
}
...
}
记录的keyhash与其他方法给我的不同,包括API自己的通知密钥,我在facebook页面添加了正确的密钥,现在一切正常。
答案 1 :(得分:0)
我的解决方案是:
这就是全部而且完美无缺!