Unity每次都会触发“用户取消登录”

时间:2016-01-07 08:43:13

标签: c# facebook unity3d

我计划将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");
        }
    }
}

1 个答案:

答案 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画布应用,则无法登录。