Android Facebook SDK登录问题
我正在使用FacebookUnity插件4.3.4,并且对FB.Login有问题 使用logcat,我已经解决了不匹配的应用程序id和密钥散列问题。现在,当我尝试登录时,它会提示一个空白屏幕,好像它要进行身份验证,但随后会直接返回到我的应用程序 在我按下指定为登录按钮的按钮之前,不会调用FB.Login的委托,它将产生相同的结果 我确实在设备上安装了facebook应用程序,并尝试将其删除。当它被删除,我通过浏览器登录时,facebook说该应用程序已经通过身份验证,所以我假设它的一部分必须工作才能实现 调试登录结果时,我没有收到任何错误,{is_logged_in:false,user_id:,access_token:} 现在我没有主意了 这是我在应用程序主场景中附加的MonoBehavior,主场景中的登录按钮调用FacebookLoginAndroid Facebook SDK登录问题,android,facebook,unity3d,Android,Facebook,Unity3d,我正在使用FacebookUnity插件4.3.4,并且对FB.Login有问题 使用logcat,我已经解决了不匹配的应用程序id和密钥散列问题。现在,当我尝试登录时,它会提示一个空白屏幕,好像它要进行身份验证,但随后会直接返回到我的应用程序 在我按下指定为登录按钮的按钮之前,不会调用FB.Login的委托,它将产生相同的结果 我确实在设备上安装了facebook应用程序,并尝试将其删除。当它被删除,我通过浏览器登录时,facebook说该应用程序已经通过身份验证,所以我假设它的一部分必须工作
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 ()
{
}
}