2014-04-29 86 views
1

我曾嘗試更改Facebook/Unity SDK附帶的InteractiveConsole腳本,以簡單地使其通過Facebook帳戶登錄,作爲開始。在構建網絡之前,它可以正常工作(在Unity內部),我可以獲得訪問令牌窗口,然後我可以在控制檯中看到自己的Facebook ID。但是當我爲網絡構建它並單擊相同的登錄按鈕時,沒有任何反應。我不知道爲什麼。 這裏是我的代碼:Facebook/Unity SDK,Web版本登錄無法正常工作

using UnityEngine; 
using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Linq; 

public sealed class InteractiveConsole : MonoBehaviour 
{ 
    #region FB.Init() example 

    private void CallFBInit() 
    { 
    FB.Init(OnInitComplete, OnHideUnity); 
    } 

    private void OnInitComplete() 
    { 
     Debug.Log("FB.Init completed: Is user logged in? " + FB.IsLoggedIn); 
     CallFBLogin(); 
    } 

    private void OnHideUnity(bool isGameShown) 
    { 
     Debug.Log("Is game showing? " + isGameShown); 
    } 

    #endregion 

    #region FB.Login() example 

    private void CallFBLogin() 
    { 
     FB.Login("email,publish_actions", LoginCallback); 
    } 

    void LoginCallback(FBResult result) 
    { 
     if (!FB.IsLoggedIn) 
     { 
      Debug.Log ("User cancelled login."); 
     } 
     else 
     { 
      Debug.Log ("User ID: " + FB.UserId); 
      if(FB.IsLoggedIn) 
       Application.LoadLevel("main"); 
     } 
    } 

    #endregion 

    void OnGUI() 
    { 
     if (Button("Login")) 
     { 
      CallFBInit(); 
     } 
    } 
    private bool Button(string label) 
    { 
     return GUILayout.Button(
      label 
      ); 
    } 
} 

我敢肯定,我失去了一些東西。有人能告訴我什麼是錯的嗎?

還有更多我想了解的是,Access Token Unity窗口是否有替代最終遊戲中常見的Login/Asking for Permissions窗口(如基本上在Facebook上使用的每個應用程序中所見)?如果不是,我如何獲得正確的登錄窗口?

回答

0

我有同樣的問題,但我確實找到了一種方法來使它工作。如果您直接鏈接到Unity二進制URL而不是鏈接到安全的Canvas頁面,您應該可以登錄。但是我不知道如何改變unity3D應用程序的頁面外觀。

+0

這就是我已經做的。其實,現在我已經在Facebook上嘗試過它,它正在工作。我不知道在Unity內部嘗試在我的PC上進行構建並使用Facebook畫布進行嘗試之間存在很大差異。 「登錄」按鈕在本地網站構建中仍然沒有任何功能,但現在我已將它放在Facebook上,它工作正常。雖然我沒有看到遊戲的周圍,但我只是看到了我在Unity中設置的場景。 – Bilial