[英]Unable to login with Facebook SDK for Unity on Android
問題
第一次調用FB.Login時,我被重定向到了Facebook,但是回到我的應用程序時似乎出現了問題。 我收到消息“ [應用名稱]已停止工作”。 我已經將堆棧跟蹤的屏幕截圖發布到更下方。
如果我在崩潰之后打開游戲,我會看到我已經登錄並且可以做我想做的事情(邀請朋友等)。 但是,如果我注銷然后再登錄,則會出現相同的問題。
附加信息
懷疑
當然,我搜索了堆棧跟蹤,似乎這里和這里都存在類似的問題。 從Unity SDK發行說明中,我注意到,即使是最新版的sdk,也將Facebook用於Android SDK 3.5.0,這與我鏈接到的問題相同。 如果確實如此,我是否可以在Facebook中將基礎facebook換成android sdk,然后在統一sdk中將其自己更新為新版本?
堆棧跟蹤
我找到了解決方案。 我一點都不了解,但是可以。 查看stacktrace,似乎android無法恢復登錄活動。 我嘗試運行示例項目,並且一切正常,只要我以縱向模式運行。 當我將手機傾斜到橫向模式時 ,即使在示例場景中,也發生了相同的崩潰。 查看清單中的LoginActivity,如下所示:
<activity android:name="com.facebook.LoginActivity" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation">
</activity>
請注意,screenOrientation設置為縱向。 似乎這與我的游戲方向設置為sensorLandscape的事實相結合-android找不到LoginActivity並因此崩潰了。 我刪除了android:screenOrientation =“ portrait”,一切正常。
我不確定Unity的情況,但是基本上,當調用活動未激活或銷毀時,會發生此問題。 在android中,登錄后將調用onActivityResult()方法。 該活動被移動設備強行破壞(開發人員選項設置中的不保留活動選項啟用)。 請一次交叉檢查開發者選項設置中的“不保留活動”已啟用或禁用。
主要問題是密鑰哈希會產生統一性。 顯示統一性的鍵與您在Facebook設置中輸入的不同。
這是解決方案!
該密鑰BASE64是您必須在https://apps.facebook.com/nameapp上的 Facebook設置中輸入的REAL密鑰
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.