Игра не загружается в Instant Games Facebook. Как решить проблему?

#c# #facebook #unity3d

#c# #Facebook #unity3d

Вопрос:

Я публикую игру Unity на Facebook. Я зарегистрировался и вошел в учетную запись разработчика (Facebook для разработчиков — далее ffd). Но у меня постоянная загрузка, и я не знаю, как это исправить. И в фоновом режиме, за загрузкой, происходит загрузка из Unity, и игра запускается (но загрузка с Facebook перекрывается). Я компилирую игру под WEBGL, архивирую папку и прикрепляю ее к веб-хостингу в ffd — все в соответствии с официальной документацией. Консоль заблокировала открытие в новом окне, потому что запрос был сделан в изолированном фрейме, разрешение «разрешить всплывающие окна» которого не установлено. Я понимаю значение ошибки в целом, но я не знаю, как и где ее исправить. Я делаю саму аутентификацию таким образом

 // Import statements introduce all the necessary classes for this example.
using Facebook.Unity;
using PlayFab;
using PlayFab.ClientModels;
using UnityEngine;
using LoginResult = PlayFab.ClientModels.LoginResu<

public class PlayfabFacebookAuthExample : MonoBehaviour
{
    // holds the latest message to be displayed on the screen
    private string _message;

    public void Start()
    {
        SetMessage("Initializing Facebook..."); // logs the given message and displays it on the screen using OnGUI method

        // This call is required before any other calls to the Facebook API. We pass in the callback to be invoked once initialization is finished
        FB.Init(OnFacebookInitialized);

    }

    private void OnFacebookInitialized()
    {
        SetMessage("Logging into Facebook...");

        // Once Facebook SDK is initialized, if we are logged in, we log out to demonstrate the entire authentication cycle.
        if (FB.IsLoggedIn)
            FB.LogOut();

        // We invoke basic login procedure and pass in the callback to process the result
        FB.LogInWithReadPermissions(null, OnFacebookLoggedIn);
    }

    private void OnFacebookLoggedIn(ILoginResult result)
    {
        // If result has no errors, it means we have authenticated in Facebook successfully
        if (result == null || string.IsNullOrEmpty(result.Error))
        {
            SetMessage("Facebook Auth Complete! Access Token: "   AccessToken.CurrentAccessToken.TokenString   "nLogging into PlayFab...");

            /*
             * We proceed with making a call to PlayFab API. We pass in current Facebook AccessToken and let it create
             * and account using CreateAccount flag set to true. We also pass the callback for Success and Failure results
             */
            PlayFabClientAPI.LoginWithFacebook(new LoginWithFacebookRequest { CreateAccount = true, AccessToken = AccessToken.CurrentAccessToken.TokenString },
                OnPlayfabFacebookAuthComplete, OnPlayfabFacebookAuthFailed);
        }
        else
        {
            // If Facebook authentication failed, we stop the cycle with the message
            SetMessage("Facebook Auth Failed: "   result.Error   "n"   result.RawResult, true);
        }
    }

    // When processing both results, we just set the message, explaining what's going on.
    private void OnPlayfabFacebookAuthComplete(LoginResult result)
    {
        SetMessage("PlayFab Facebook Auth Complete. Session ticket: "   result.SessionTicket);
    }

    private void OnPlayfabFacebookAuthFailed(PlayFabError error)
    {
        SetMessage("PlayFab Facebook Auth Failed: "   error.GenerateErrorReport(), true);
    }

    public void SetMessage(string message, bool error = false)
    {
        _message = message;
        if (error)
            Debug.LogError(_message);
        else
            Debug.Log(_message);
    }

    public void OnGUI()
    {
        var style = new GUIStyle { fontSize = 40, normal = new GUIStyleState { textColor = Color.white }, alignment = TextAnchor.MiddleCenter, wordWrap = true };
        var area = new Rect(0, 0, Screen.width, Screen.height);
        GUI.Label(area, _message, style);
    }
}
 

Здесь код заточен под PlayFab. Там тоже везде прописано. Facebook и Facebook Instant Games также подключены туда. Я пробовал другие методы аутентификации и входа в систему в FB, но независимо от того, что я использовал, эта бесконечная загрузка всегда составляет 0%. PS Facebook SDK также интегрирован в Unity через его официальный пакет. Если запустить скомпилированный проект под WEBGL, то все нормально, выскакивает окно о входе в FB (Но ругается, что сайт не c HTTPS (логично, потому что запуск из локали)).введите описание изображения здесь

Комментарии:

1. вы смогли это решить? Я нахожусь в том же положении, что и вы.