环境:unity2017.4.38f1
facebook版本:facebook-unity-sdk-7.9.4
踩坑:开始用了最新的facebook-unity-sdk-7.19.2,需要使用cocoapods自动安装需要的那些framework,但是unity2017不支持google jar resovle,必须是unity2018.3以上版本才支持,后面接入旧版本,就立马可以用了
下面放入了facebook-unity-sdk四个版本提供下载
editor配置:
![](https://img.haomeiwen.com/i3819325/5bba9802c8563469.png)
填入facebook后台申请的appid即可
登录代码:
public void FaceBookInit()
{
//初始化facebook
if (Facebook.Unity.FB.IsInitialized)
{
return;
}
Facebook.Unity.FB.Init(() =>
{
string logMessage = string.Format(
"OnInitCompleteCalled IsLoggedIn='{0}' IsInitialized='{1}'",
Facebook.Unity.FB.IsLoggedIn,
Facebook.Unity.FB.IsInitialized);
Debug.Log("OnInitComplete logMessage = " + logMessage);
if (Facebook.Unity.FB.IsInitialized)
{
// Signal an app activation App Event
Facebook.Unity.FB.ActivateApp();
// Continue with Facebook SDK
}
else
{
Debug.Log("Failed to Initialize the Facebook SDK");
}
}, null);
}
public void FacebookLogin()
{
var perms = new List<string>() { "public_profile", "email" };
Facebook.Unity.FB.LogInWithReadPermissions(perms, OnFacebookLoginCallBack);
}
private void OnFacebookLoginCallBack(Facebook.Unity.ILoginResult result)
{
if (Facebook.Unity.FB.IsLoggedIn)
{
// AccessToken class will have session details
// 在这里添加我们登录成功的逻辑
// 比如获取token
Facebook.Unity.AccessToken aToken = Facebook.Unity.AccessToken.CurrentAccessToken;
// ......
Debug.Log("facebook aToken = " + aToken.TokenString);
Debug.Log("facebook UserId = " + aToken.UserId);
}
else
{
Debug.Log("User cancelled login");
}
}
踩坑:
facebook初始话代码只能调用一次(非常重要)
网友评论