SDK для Unity / Аутентификация в приложении через установщик
  На главную

SDK для Unity

Аутентификация в приложении через установщик

Если вы используете для доставки вашего приложения пользователям Лаунчер Иксоллы или Steam, вы можете аутентифицировать пользователя автоматически, используя учетные данные из установщика.

Инструкции

Узнайте о дополнительных настройках из наших инструкций.

Как настроить аутентификацию в приложении через Лаунчер

Для доставки вашего приложения пользователям и его обновления вы можете использовать Лаунчер Иксоллы. Лаунчер содержит встроенный инструмент аутентификации. Чтобы избежать необходимости повторного ввода имени пользователя и пароля, настройте аутентификацию в вашем приложении через Лаунчер.

Внимание

Для использования Лаунчера должен быть настроен продукт Login. Использование другой системы авторизации не поддерживается.

SDK для работы с магазином использует IGS & BB API, Лаунчер использует собственный API, поэтому SDK не поддерживает работу с магазином Лаунчера.

Чтобы настроить сквозную аутентификации пользователя:

  1. Реализуйте в вашем приложении логику аутентификации через Лаунчер.
  2. Создайте сборку приложения и загрузите ее в Лаунчер.

Примечание
Подробная информация о настройках Лаунчера и загрузке сборки приложения приведена в руководстве по интеграции.

Реализация логики аутентификации через Лаунчер

Сценарий авторизации в приложении через Лаунчер:

  1. Пользователь авторизуется в Лаунчере.
  2. Пользователь устанавливает и запускает приложение.
  3. Лаунчер запускает приложение с передачей параметров пользователя через командную строку. Токен для авторизации передается в параметре xsolla-login-token.
  4. Приложение обрабатывает параметры командной строки и получает токен.
  5. Приложение валидирует полученный токен.
  6. Приложение автоматически авторизует пользователя, не отображая страницу авторизации.

Для реализации описанной логики используйте метод SDK AuthViaXsollaLauncher.

Пример скрипта аутентификации через Лаунчер:

Copy
Full screen
Small screen

using UnityEngine;
using Xsolla.Auth;
using Xsolla.Core;

namespace Xsolla.Samples.Authorization
{
    public class AuthorizationViaXsollaLauncher : MonoBehaviour
    {
        private void Start()
        {
            // Start authorization via Xsolla Launcher
         // Pass callback functions for success and error cases
         XsollaAuth.AuthViaXsollaLauncher(OnSuccess, OnError);
        }

        private void OnSuccess()
        {
            Debug.Log("Authorization successful");
            // Add actions taken in case of success
     }

        private void OnError(Error error)
        {
            Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
            // Add actions taken in case of error
     }
    }
}

Создание сборки приложения

  1. Откройте ваш проект Unity.
  2. Убедитесь, что в настройках SDK указан ID варианта авторизации, который указан в Личном кабинете в настройках Лаунчера (раздел Лаунчер > Общие настройки > Настройки аутентификации).

  1. Запустите сцену авторизации пользователя, в которой выполняется обработка токена.
  2. В главном меню выберите пункт File > Build settings и нажмите Add Open Scenes. Убедитесь, что сцена авторизации добавлена первой в списке.
  3. Нажмите Build.
  4. Во всплывающем окне укажите путь к директории, в которую будет помещена готовая сборка.

Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Скрыть

Как подключить нативную аутентификацию через Steam

Нативная авторизация позволяет игрокам войти в ваше приложение через установленное приложение Steam.

Чтобы настроить нативную авторизацию:

  1. Подключите автоматическую аутентификацию через Steam в Личном кабинете.
  2. Настройте ваш проект Unity.
  3. Реализуйте логику аутентификации через Steam.
  4. Проверьте аутентификацию через Steam.

Настройка проекта Unity

Примечание
SDK использует для взаимодействия со Steam библиотеку Steamworks.NET, которая поставляется в составе SDK и находится в каталоге Assets/Xsolla/ThirdParty/Steamworks.NET.

  1. Откройте файл steam_appid.txt, который находится в корневой папке Unity-проекта.
  2. Укажите в файле ID вашего приложения в Steam и сохраните изменения. По умолчанию в файле указано значение 480 — это ID тестового проекта Steam.
  3. Перезапустите редактор Unity, чтобы изменения вступили в силу.

Реализация логики аутентификации через Steam

Для запуска аутентификации используйте метод SDK SilentAuth, передав в него следующие параметры:

  • providerName — платформа публикации приложения. Передайте значение steam.
  • appId — ID вашего приложения в Steam. Значение должно совпадать со значением, указанным в файле steam_appid.txt.
  • sessionTicket — мандат сессии Steam. Чтобы его получить, используйте метод SteamUtils.GetSteamSessionTicket().
  • onSuccess — функция, которая вызывается в случае успешной аутентификации пользователя.
  • onError — функция, которая вызывается в случае ошибки.

Пример скрипта аутентификации через Steam:

Copy
Full screen
Small screen

using UnityEngine;
using Xsolla.Auth;
using Xsolla.Core;

namespace Xsolla.Samples.Steam
{
    public class SteamNativeAuthorization : MonoBehaviour
    {
        private void Start()
        {
            // Get the steam session ticket from `SteamUtils` class
         var steamSessionTicket = SteamUtils.GetSteamSessionTicket();

            // Start silent authentication
         // Pass `steam` as `providerName` parameter
         // Pass your `Steam App ID` as `appId` parameter. We use `480` as an example
         // Pass `steamSessionTicket` variable as the `sessionTicket` parameter
         // Pass callback functions for success and error cases
         XsollaAuth.SilentAuth("steam", "480", steamSessionTicket, OnSuccess, OnError);
        }

        private void OnSuccess()
        {
            Debug.Log("Authorization successful");
            // Add actions taken in case of success
     }

        private void OnError(Error error)
        {
            Debug.LogError($"Authorization failed. Error: {error.errorMessage}");
            // Add actions taken in case of error
     }
    }
}

Проверка авторизации через Steam

  1. Запустите приложение Steam и авторизуйтесь в нем, иначе будет вызвана функция обратного вызова c ошибкой Requested steam session ticket is null. Please check your Steam settings.
  2. Создайте сборку вашего проекта Unity для stand-alone платформы и запустите ее или запустите приложение в редакторе Unity. Если настройка выполнена правильно, вы автоматически авторизуетесь в приложении.

Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Скрыть
Последнее обновление: 10 октября 2023

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!