Приступаем к работе GetAuthTicketForWebApi в Steamworks.net (Unity) ⇐ C#
-
Гость
Приступаем к работе GetAuthTicketForWebApi в Steamworks.net (Unity)
Я хочу аутентифицировать игровой клиент Unity с помощью Steamworks.net, чтобы подключить учетную запись к моему серверу Node.js с помощью SteamUser.GetAuthTicketForWebApi. Однако я не могу получить обратный вызов от этой функции. В моем примере кода Debug.Log("обратный вызов") никогда не появляется. Такие команды, как SteamUser.GetSteamID() или SteamFriends.GetPersonaName(), работают правильно. Но не SteamUser.GetAuthTicketForWebApi.
Я пытался сделать это в новом проекте. Все шаги, которые я сделал. Должен ли я сделать что-то еще?:
[*]новый проект [*]добавление аутентификации в диспетчере пакетов [*]настроить идентификатор приложения и ключ в настройках проекта аутентификации [*]добавление Steamworks.net в диспетчер пакетов [*]настройка идентификатора моего приложения в steam_appid.txt [*]добавить игровой объект с помощью SteamManager.cs в сцену [*]добавить игровой объект с помощью этого кода: с помощью Steamworks; использование системы; использование System.Collections; использование System.Collections.Generic; использование Unity.Services.Authentication; использование Unity.Services.Core; использование UnityEngine; публичный класс SteamUtility: MonoBehaviour { Обратный вызов m_AuthTicketForWebApiResponseCallback; строка m_SessionTicket; строка идентификации = "unityauthenticationservice"; частная пустота Старт() { ВойтиСтим(); } void SignInWithSteam() { // Нет необходимости добавлять обработчики событий, если они есть // уже подключено. // Возвращаемое значение Callback.Create должно быть присвоено // переменная-член, чтобы предотвратить ее очистку GC. // Создаем обратный вызов для получения событий, когда билет сеанса // готов к использованию в веб-API. // Подробности см. в документе GetAuthSessionTicket. m_AuthTicketForWebApiResponseCallback = Обратный вызов.Create(OnAuthCallback); SteamUser.GetAuthTicketForWebApi(личность); Debug.Log("Вход"); } void OnAuthCallback (обратный вызов GetTicketForWebApiResponse_t) { Debug.Log("обратный вызов"); m_SessionTicket = BitConverter.ToString(callback.m_rgubTicket).Replace("-", string.Empty); m_AuthTicketForWebApiResponseCallback.Dispose(); m_AuthTicketForWebApiResponseCallback = ноль; Debug.Log("Успешный вход в Steam. Билет сеанса: " + m_SessionTicket); // Вызов Unity Authentication SDK для входа или связи со Steam, как показано в следующих примерах, с использованием той же идентификационной строки и m_SessionTicket. } }
Я хочу аутентифицировать игровой клиент Unity с помощью Steamworks.net, чтобы подключить учетную запись к моему серверу Node.js с помощью SteamUser.GetAuthTicketForWebApi. Однако я не могу получить обратный вызов от этой функции. В моем примере кода Debug.Log("обратный вызов") никогда не появляется. Такие команды, как SteamUser.GetSteamID() или SteamFriends.GetPersonaName(), работают правильно. Но не SteamUser.GetAuthTicketForWebApi.
Я пытался сделать это в новом проекте. Все шаги, которые я сделал. Должен ли я сделать что-то еще?:
[*]новый проект [*]добавление аутентификации в диспетчере пакетов [*]настроить идентификатор приложения и ключ в настройках проекта аутентификации [*]добавление Steamworks.net в диспетчер пакетов [*]настройка идентификатора моего приложения в steam_appid.txt [*]добавить игровой объект с помощью SteamManager.cs в сцену [*]добавить игровой объект с помощью этого кода: с помощью Steamworks; использование системы; использование System.Collections; использование System.Collections.Generic; использование Unity.Services.Authentication; использование Unity.Services.Core; использование UnityEngine; публичный класс SteamUtility: MonoBehaviour { Обратный вызов m_AuthTicketForWebApiResponseCallback; строка m_SessionTicket; строка идентификации = "unityauthenticationservice"; частная пустота Старт() { ВойтиСтим(); } void SignInWithSteam() { // Нет необходимости добавлять обработчики событий, если они есть // уже подключено. // Возвращаемое значение Callback.Create должно быть присвоено // переменная-член, чтобы предотвратить ее очистку GC. // Создаем обратный вызов для получения событий, когда билет сеанса // готов к использованию в веб-API. // Подробности см. в документе GetAuthSessionTicket. m_AuthTicketForWebApiResponseCallback = Обратный вызов.Create(OnAuthCallback); SteamUser.GetAuthTicketForWebApi(личность); Debug.Log("Вход"); } void OnAuthCallback (обратный вызов GetTicketForWebApiResponse_t) { Debug.Log("обратный вызов"); m_SessionTicket = BitConverter.ToString(callback.m_rgubTicket).Replace("-", string.Empty); m_AuthTicketForWebApiResponseCallback.Dispose(); m_AuthTicketForWebApiResponseCallback = ноль; Debug.Log("Успешный вход в Steam. Билет сеанса: " + m_SessionTicket); // Вызов Unity Authentication SDK для входа или связи со Steam, как показано в следующих примерах, с использованием той же идентификационной строки и m_SessionTicket. } }
Мобильная версия