Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Facebook SDK登录问题_Android_Facebook_Unity3d - Fatal编程技术网

Android Facebook SDK登录问题

Android Facebook SDK登录问题,android,facebook,unity3d,Android,Facebook,Unity3d,我正在使用FacebookUnity插件4.3.4,并且对FB.Login有问题 使用logcat,我已经解决了不匹配的应用程序id和密钥散列问题。现在,当我尝试登录时,它会提示一个空白屏幕,好像它要进行身份验证,但随后会直接返回到我的应用程序 在我按下指定为登录按钮的按钮之前,不会调用FB.Login的委托,它将产生相同的结果 我确实在设备上安装了facebook应用程序,并尝试将其删除。当它被删除,我通过浏览器登录时,facebook说该应用程序已经通过身份验证,所以我假设它的一部分必须工作

我正在使用FacebookUnity插件4.3.4,并且对FB.Login有问题

使用logcat,我已经解决了不匹配的应用程序id和密钥散列问题。现在,当我尝试登录时,它会提示一个空白屏幕,好像它要进行身份验证,但随后会直接返回到我的应用程序

在我按下指定为登录按钮的按钮之前,不会调用FB.Login的委托,它将产生相同的结果

我确实在设备上安装了facebook应用程序,并尝试将其删除。当它被删除,我通过浏览器登录时,facebook说该应用程序已经通过身份验证,所以我假设它的一部分必须工作才能实现

调试登录结果时,我没有收到任何错误,{is_logged_in:false,user_id:,access_token:}

现在我没有主意了

这是我在应用程序主场景中附加的MonoBehavior,主场景中的登录按钮调用FacebookLogin

using UnityEngine;
using System.Collections;
using JsonFx.Json;
using System.Collections.Generic;

public class FBObject : MonoBehaviour
{
public LGUI3DLabel connectFacebookLbl;

// Use this for initialization
void Awake ()
{
    FB.Init(OnFacebookInitComplete, OnUnityHidden);
}

void OnFacebookInitComplete()
{
    connectFacebookLbl.text = "AppID = " + FB.AppId;

    if(FB.IsLoggedIn)
    {
        OnLoggedIn();
    }
}

void OnUnityHidden(bool isGameShown)
{
    if(!isGameShown)
    {
        Time.timeScale = 0;
    }
    else
    {
        Time.timeScale = 1;
    }
}

void OnLoggedIn()
{
    Debug.Log("Current User ID = " + FB.UserId);
    connectFacebookLbl.text = "Id = " + FB.UserId;
}

public void FacebookLogin()
{
    if(!FB.IsLoggedIn)
    {
        FB.Login("email,publish_actions", LoginCallback);
    }
    else
    {
        connectFacebookLbl.text = "Is Logged In";
        FB.API("/me?fields=id,first_name,friends.limit(100).fields(first_name,id)", Facebook.HttpMethod.GET, GetUserInformation);
    }
}

void GetUserInformation(FBResult queryResult)
{
    if(queryResult.Error != null)
    {
        Debug.LogError(queryResult.Error);
        connectFacebookLbl.text = "There was an error\n"+queryResult.Error;
        return;
    }

    var reader = new JsonReader();
    var output = reader.Read<Dictionary<string, object>>(queryResult.Text);

    string userName = (string)output["first_name"];
    connectFacebookLbl.text = userName;
}

void LoginCallback(FBResult loginResult)
{
    connectFacebookLbl.text = "Trying to log in!";

    connectFacebookLbl.text = "Result = " + loginResult.Text;

    if(FB.IsLoggedIn)
    {
        connectFacebookLbl.text = "Wow we actually logged in!!!";
        OnLoggedIn();
    }
}

// Update is called once per frame
void Update ()
{

}
}