Unity 4.3.3f1
SDK 版本 5.0.4
构建版本 140220.cc3a9c089a2eb9e
您好,过去 4 个月我一直在使用 Facebook SDK for Unity 开发游戏,自上周五以来一直遇到问题。每次我尝试从应用登录应用时,LoginCallback(FBResult result){} 方法中的 Result.Text 都会返回以下字符串:
{"is_logged_in":false,"user_id":"","access_token":"","access_token_expires_at":"01/01/0001 00:00:00"}
因此,由于某种原因,它没有获取 user_id,也没有生成在应用程序上使用的正确 token 。
我确保我的包名称、类名称和 key 哈希值在 Unity SDK 上的 facebook 设置和 Facebook 上的应用程序设置之间匹配,它们确实如此。
我注意到一件事可能有意义,也可能没有意义,但我不知道,类名称现在是
com.facebook.unity.FBUnityDeepLinkingActivity
在 Unity 的 FacebookSettings 上,我将其更改为 Facebook 的应用程序设置上的相同值。
我按下了“重新生成 Android list ”按钮,这是我的 list ,以防它有助于识别问题:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" android:installLocation="preferExternal" android:theme="@android:style/Theme.NoTitleBar" android:versionCode="1" android:versionName="1.0">
<supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
<application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="true">
<activity android:name="com.facebook.unity.FBUnityPlayerActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
</activity>
<activity android:name="com.unity3d.player.UnityPlayerNativeActivity" android:launchMode="singleTask" android:label="@string/app_name" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
</activity>
<activity android:name="com.facebook.LoginActivity" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation">
</activity>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="\ 1422526867979289" />
<activity android:name="com.facebook.unity.FBUnityLoginActivity" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
</activity>
<activity android:name="com.facebook.unity.FBUnityDeepLinkingActivity" android:exported="true">
</activity>
</application>
</manifest>
任何帮助将不胜感激,谢谢。
PS:另外,还有一个简单的问题。哪个 list 有效?位于:
Assets/Android/AndroidManifest.xml
或以下内容:
Assets/Plugins/Android/AndroidManifest.xml
尽管如此,这两个 list 与我在此处发布的 list 完全相同。谢谢。
最佳答案
正如一位开发人员同事所建议的那样,问题实际上是当我添加 keystore 以便能够将我的 apk 上传到 Playstore 时,Facebook 登录停止工作。添加 keystore 后,我需要使用 keytool 对其进行处理,并将新创建的 Keyhash 上传到我的 Facebook 应用程序帐户。
为了将来的引用,每当发生类似的事情时,sdk 可以抛出异常或其他东西而不是空数组,这会很好,尝试解决问题会更简单。
关于Facebook 登录返回空访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22641244/