Esempio n. 1
0
    internal static void LoginToFacebook()
    {
        Logger.Verbose("FacebookManager.LoginToFacebook");

        // Login to FB without creating account
        // Must be already signed in with PF and FB must be ok
        if (!FB.IsInitialized)
        {
            Logger.Error("Facebook is not intialized!");
        }
        else if (FacebookStatus != FacebookStatuses.InitializedOk)
        {
            Logger.Error("FacebookStatus {0} is not Initialize Ok", FacebookStatus.ToString());
        }
        else if (PlayFabManager.PlayFabStatus != PlayFabStatuses.LogInOk)
        {
            Logger.Error("PlayFabStatus: {0} is not Login OK", PlayFabManager.PlayFabStatus.ToString());
        }
        else
        {
            FacebookStatus = FacebookStatuses.LoggingIn;
            var perms = new List <string>()
            {
                "public_profile", "email", "user_friends"
            };
            FB.LogInWithReadPermissions(perms,
                                        (ILoginResult result) =>
            {
                if (FB.IsLoggedIn)
                {
                    FacebookStatus = FacebookStatuses.LogInOk;
                    // AccessToken class will have session details
                    var aToken = Facebook.Unity.AccessToken.CurrentAccessToken;
                    // Print current access token's User ID
                    Logger.Verbose("Facebook sign in complete: user id : {0}", aToken.UserId);
                    // Connect Facebook account to PlayFab
                    PlayFabManager.ConnectOrRetrieveFacebookProfile();
                }
                else
                {
                    if (result.Cancelled)
                    {
                        // Go back to Initialized status
                        FacebookStatus = FacebookStatuses.InitializedOk;
                        Logger.Verbose("FB cancelled login");
                    }
                    else
                    {
                        FacebookStatus = FacebookStatuses.LogInError;
                        Logger.Error("FB Login Error: {0}", result.Error);
                    }
                }
            });
        }
    }