Anonymous
Anonymous

Reputation: 83

Unity, Facebook SDK, in Android build the app crashes

I am integrating Unity Facebook SDK to a project, right now I am making a log-in system. I have written a script, attached it to an object on a scene, created a button, added the FbLogin method as a listener of OnClick UnityEvent of my button and built an app for Android. Also I have pasted all the needed keys and tokens.

using System.Collections.Generic;
using UnityEngine;
using Facebook.Unity;

class FacebookLoginSystem
{
    private void Awake()
    {
        FB.Init(SetInit, OnHideUnity);
    }
    void SetInit()
    {
        if (FB.IsLoggedIn)
        {
            Debug.Log("Logged in Successfuly!");
        }
        else
        {
            Debug.Log("FB is not loggid in");
        }
    }
    void OnHideUnity(bool isGameShown)
    {
        if (isGameShown)
        {
            Time.timeScale = 1;
        }
        else
        {
            Time.timeScale = 0;
        }
    }


    public void FbLogin()
    {
        List<string> permessions = new List<string>();
        permessions.Add("public_profile");
        FB.LogInWithReadPermissions(permessions, AuthCallResult);
    }

    private void AuthCallResult(ILoginResult result)
    {
        if (result.Error != null)
        {
            Debug.Log(result.Error);
        }
        else
        {
            if (FB.IsLoggedIn)
            {
                Debug.Log("FB logged in");
                Debug.Log(result.RawResult);
                FB.API("/me?fields=first_name", HttpMethod.GET, callbackData);
            }
            else
            {
                Debug.Log("Login Failed!");
            }
        }
    }
}

But when I press the button in my build, I get this. ("Something went wrong, we are working on it...") Tell me, please, why does it happen? This happens when I press the button

UPD: I have replaced the methods FbLogin and AuthCallback with these versions. Also I added a serialized field TextForLogging to see my logs in Build, and it tells me that "User cancelled login".

    public void FbLogin()
    {
        var perms = new List<string>() { "public_profile", "email" };
        FB.LogInWithReadPermissions(perms, AuthCallback);
    }

    private void AuthCallback(ILoginResult result)
    {
        if (FB.IsLoggedIn)
        {
            // AccessToken class will have session details
            var aToken = Facebook.Unity.AccessToken.CurrentAccessToken;
            // Print current access token's User ID
            Debug.Log(aToken.UserId);
            TextForLogging.text += $"\n{aToken.UserId}";
            // Print current access token's granted permissions
            foreach (string perm in aToken.Permissions)
            {
                Debug.Log(perm);
                TextForLogging.text += $"\n{perm}";
            }
            FB.API("/me?fields=first_name", HttpMethod.GET, callbackData);
        }
        else
        {
            Debug.Log("User cancelled login");
            TextForLogging.text += "\nUser cancelled login";
        }
    }

Upvotes: 1

Views: 236

Answers (0)

Related Questions