我计划将Facebook登录用于我游戏的WEBGL版本。
每次我尝试登录时都会收到“用户取消登录”,
我的应用是公开的,设置 - >高级 - >客户端OAuth设置 - 全部启用
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Facebook.Unity;
public class FaceLogin : MonoBehaviour
{
void Awake()
{
if (!FB.IsInitialized)
{
// Initialize the Facebook SDK
FB.Init(InitCallback, OnHideUnity);
}
else
{
// Already initialized, signal an app activation App Event
FB.ActivateApp();
}
}
private void InitCallback()
{
if (FB.IsInitialized)
{
// Signal an app activation App Event
FB.ActivateApp();
// Continue with Facebook SDK
// ...
if (!FB.IsLoggedIn)
{
var perms = new List<string> {"public_profile", "email", "user_friends"};
FB.LogInWithReadPermissions(perms, AuthCallback);
}
}
else
{
Debug.Log("Failed to Initialize the Facebook SDK");
}
}
private void OnHideUnity(bool isGameShown)
{
Time.timeScale = !isGameShown ? 0 : 1;
}
private void AuthCallback(ILoginResult result)
{
if (FB.IsLoggedIn)
{
// AccessToken class will have session details
var aToken = AccessToken.CurrentAccessToken;
// Print current access token's User ID
Debug.Log(aToken.UserId);
// Print current access token's granted permissions
foreach (string perm in aToken.Permissions)
{
Debug.Log(perm);
}
}
else
{
Debug.Log("User cancelled login");
}
}
}
答案 0 :(得分:1)
据我所知,Facebook允许应用程序仅对“android&#39;”&#39; ios&#39;使用Unity facebook sdk。和&#39; facebook canvas app&#39;。我使用facebook sdk用于android和canvas。在android中,你应该使用一些哈希值来调试和发布模式以确保安全性。
在画布(它支持统一网络播放器,webgl等),facebook允许登录仅作为Facebook画布应用程序(即使在开发,调试模式)。因此,如果您的应用不是Facebook画布应用,则无法登录。