[英]Facebook UNITY SDK login issue
我剛剛安裝了新版本的Unity 4.3和新的facebook sdk,但我無法使用它。
我在facebook上創建了應用程序,根據需要將app id復制到unity facebook設置,並將Package Name和Class名稱復制回facebook。
因為Android Key Hash是空的(即使它不應該),我使用其他人發布的方法來創建一個openssl。 我根據需要創建並復制到Facebook。
在此之后我創建了一個小腳本以便能夠登錄。
// Use this for initialization
void Start () {
enabled = false;
FB.Init(SetInit, OnHideUnity);
}
// Update is called once per frame
void Update () {
}
private void SetInit()
{
FbDebug.Log("SetInit");
enabled = true; // "enabled" is a property inherited from MonoBehaviour
if (FB.IsLoggedIn)
{
FbDebug.Log("Already logged in");
OnLoggedIn();
}
}
private void OnHideUnity(bool isGameShown)
{
FbDebug.Log("OnHideUnity");
if (!isGameShown)
{
// pause the game - we will need to hide
Time.timeScale = 0;
}
else
{
// start the game back up - we're getting focus again
Time.timeScale = 1;
}
}
void OnGUI(){
if (!FB.IsLoggedIn)
{
if (GUI.Button(new Rect(179 , 11, 287, 160), "Login to Facebook"))
{
FB.Login("email", LoginCallback);
}
}
}
void LoginCallback(FBResult result)
{
FbDebug.Log("LoginCallback");
Debug.Log("LoginCallback");
if (FB.IsLoggedIn)
{
OnLoggedIn();
}
}
void OnLoggedIn()
{
FbDebug.Log("Logged in. ID: " + FB.UserId);
}
現在,當我點擊登錄按鈕時,會出現一個請求權限的Facebook窗口,在我按下確定后,它會返回,但我還沒有登錄...有人可以幫忙嗎? 我發現另一個奇怪的事情是,一旦我點擊登錄按鈕就會調用LoginCallback,即使我認為只有在我允許的情況下才應該這樣做。 無論如何,當我給予許可它返回我的應用程序,沒有任何反應。 我可以再次單擊登錄按鈕,同樣的事情發生,登錄回調呼叫,它要求permisions,我給permision並返回,沒有任何反應。 有人可以幫忙嗎?
sdk的4.3.6版應該可以解決這個問題。 它可以在這里找到: https : //developers.facebook.com/我們還在等待它在資產商店獲得批准,所以現在唯一能夠獲得它的地方是來自Facebook的網站。
注意 - 如果您使用的是Mac,它仍然會損壞(2014年5月)。 只需按照“Rafael解決方案”,從public void OnLoginComplete(字符串消息)中正確發現您的哈希。 干杯
因此,在不得不追蹤我的手機鑰匙幾天后感到沮喪,我決定調查它在做什么。
經過一些研究后發現,當你發布到Android設備時,facebook會使用你的發布設置中定義的密鑰庫,而不是你的.android / debug.keystore文件。 所以我進去改變了sdk以使其以正確的方式工作。 基本上我改變了SDK來查看ProjectSettings而不是調試目錄來獲取密鑰哈希。 在FacebookAndroidUtils.cs中,我添加了以下內容。
// Using the user defined keystore values instead of the debug one.
degbugKeyHash = GetKeyHash( PlayerSettings.Android.keyaliasName, PlayerSettings.Android.keystoreName, PlayerSettings.Android.keyaliasPass, PlayerSettings.Android.keystorePass );
我創建了一個小型repo,提供修復以及一些gui更改,以便更容易更新密鑰哈希。
Github Facebook Unity SDK 6.1修復
更新 - 修復了OS X與字符串路徑上的空間轉義相關的錯誤
希望這可以幫助!
從登錄功能中獲取“電子郵件”權限並嘗試使用。 哎呀我以為我也看到了“publish_actions”的許可。
確保清單中的loginactivity是縱向的。
不要自己實現所有內容,請嘗試使用免費和開源的SOOMLA Profile插件來滿足您的所有社交網絡需求: https : //github.com/soomla/unity3d-profile
也可在資產商店下載: https : //www.assetstore.unity3d.com/en/#!/ content / 24601
它涵蓋Facebook,Twitter和Google+,並具有統一的API,用於登錄,發布雕像,上傳圖像和獲取朋友列表。 為了正確披露,我是其中一位創始人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.