Авторизация в Unity на Android и IOS через Вконтакте – Твои руки

Acknowledgments

All of this was built upon the techniques learned from the Swords and Shovels course on Pluralsight blended with the
authentication process from Stephen Grider’s course on Udemy
Advanced React and Redux.Swords and Shovels is actually three separate Learning Paths on Pluralsight:

Authors

Zachary Klinger

Gamemanager

When you load up the Boot scene, the only object in it is the GamaManager transform object with a script attached.
The GamaManager is in charge of loading scenes, instantiating prefabs and updating the state of the application.
It is also where all the other managers get initialized on startup, or enabled later at runtime.

The thing to notice about the GameManager class is that it inherits from the Manager class:

Getting started

Simply clone the repo and open the project folder in Unity. This will give you the client or front-end piece of
this full-stack project. NOTE: You need the REST API, or backend server portion to see this work. See the
repo link above.

Installing

Go into Assets/Scenes/ and load the scene Boot.

License

UNLICENSED

Manager list

The architecture for this Unity project is based on the principle separation of concerns. Each manager’s job is to own
a specific set of methods and properties dealing with specific aspects of the application.

Overview

This project demos a token-based Authentication system built using ExpressJS and MongoDB on the server side, and a
Unity client on the frontend. It is similar to the process of saving cookies into your web browser, but uses Unity’s
PlayerPrefs utility to save the token locally instead of saving it into the browser’s Application cache.

Persistent login

A fancy way to say you don’t have to login every time you open the app, or a web page. The token we receive upon
login gets saved into a file on your local machine using Unity’s PlayerPrefs utility.

Похожее:  Как отключить услугу Гудок МТС? - МТС — Справочник абонента

Uimanager

The UIManager has a prefab with all the different canvases and buttons that make up the starting screen and menus. It
also holds all the scripts involved with handling button clicks and updating which menu should be seen for each state.

Алгоритм авторизации через социальную сеть.

Для начала я бы хотел, чтобы вы поняли, как происходит авторизация через социальную сеть. Алгоритм достаточно прост.

  • Пользователь нажимает кнопочку “Авторизация через социальную сеть”;
  • Подтверждает доступ к данным своей страницы;
  • Программа получает данные и обрабатывает их.

В нашем примере авторизация будет проходить в три этапа. В первую очередь мы будем вызывать браузер. Браузер будет загружать нужную нам страницу на сервере. после прохождения авторизации Unity получит эти данные и с ними можно делать всё что угодно (сохранить локально или же отправить в базу данных на сервер).

И так, преступим.

Встраиваем нативный браузер.

Здесь всё просто, можно пойти трудным путём и создать собственный плагин для Unity или же посмотреть, что есть в AssetStore. Я как самый ленивый человек на планете выбираю достаточно простое решение и иду в AssetStore.

Из всего перечня что был в магазине, я выбрал In App Web Browser. Его стоимость составляет 5$. Но мир не без хороших людей, поэтому его можно свободно найти в сети. Покупать или пиратить решать вам, лично я за то, чтобы купить.

Как заявляет разработчик данное чуда работает и на Android и на IOS. Я же лично проверил работу только на Android.

После того как вы импортируете unitypackage то в Project’е увидите нечто следующее:

В плагине есть несколько демо-сцен а так же документация по данному браузеру.

Похожее:  Налоговая инспекция по Ленинскому району Екатеринбурга — телефоны, режим (время) работы, адрес и реквизиты

Следующим шагом станет выбор сервера. Объясню для чего это нужно. Поскольку Unity Вконтакте это социальная сеть и находиться она непосредственно на удалённых серверах, нам необходимо будет обрабатывать некоторые запросы в php файле, то есть на сервере.

Здесь можно выбрать абсолютно любой бесплатный хостинг, который существует в интернете, я же выбрал вот этот: 000webhost.

После того как проходите авторизацию/регистрацию и получаете доступ к FTP, можно переходить к следующему пункту.

Стоп, нельзя. Забыл сказать, что я бы настоятельно рекомендовал ознакомиться с документацией Вконтакте.

Делаем регистрацию в игре через социальную сеть вконтакте.

Для начала перейдём на сцену “ExampleJavaScriptCommunicationScene”, которая находиться в плагине.

Данная сцена содержит в себе две кнопки открыть браузер и очистить кэш. Скрипт, который обрабатывает открытие браузера и загрузку страницы, скрипт, который обрабатывает event события нативного браузера, в данном случае ответ от страницы и скрипт, который собственно принимает эти самые ответы.

Создадим свой собственный скрипт, я назову его SocialManager. Суть данного скрипта будет заключаться в том, чтобы открыть браузер с нужной нам страницей и нужными нам настройками браузера, которые вы можете посмотреть в документации.

И так, скрипт:

Для чего нужна авторизация в игре через социальную сеть?

На этот вопрос довольно просто ответить. С каждым годом технологии развиваются всё стремительнее, это касается и интернета. Интернет позволяет хранить множество информации и обрабатывать её “партией” на устройстве значительно проще. Кроме этого в 2022 году распространен такой термин, как многоплатформенность.

Многоплатформенность — это способность программы работать под управлением различных операционных систем.

Проще говоря, авторизация через социальную сеть позволит игрокам играть на разных платформах, будь то десктопная игра или мобильная. Кроме этого, это значительно упрощает процесс регистраций, который большинство пользователей считают рутинным.

Похожее:  Как могут читать вашу/чужую переписку в WhatsApp. :: Блог Михаила Калошина - kaloshin.me

Пишем скрипт для обработки данных вконтакте.

Открываем любой редактор, позволяющий работать с текстовыми файлами. И прописываем следующий код:

Создание приложение вконтакте.

На тему как создать приложение в контакте существует невероятно огромное количество статей и методов, но, чтобы вам не отвлекаться от чтения данной статьи, расскажу вам как это делается.

Необходимо перейти по ссылке: API VK

Далее перейти в пункт “Мои приложения”.

Далее “Создать новое приложение”.

Указать название приложения, выбрать платформу “Веб-сайт”, ввести адрес вашего сайта, а лучше странички, на которую будет происходить перенаправление после регистрации, и указать домен сайта.

Подтверждаем создание приложения путём подтверждения через смс.

Вводим пришедший код на телефон.

И наше тестовое приложение создано.

Теперь нужно перейти в “Настройки” и записать на листочек некоторое параметры, которые нам понадобятся в последующем. Записываем или запоминаем ID приложения, а также Защищённый ключ. не забудьте в Unity указать ID приложения.

Для полной работы авторизации осталось сделать несколько шагов.

Conclusion

While this is a very simple demo, it does create the framework on which a much more robust auth system could be built.
Input validation, encrypting the password in Unity before sending it in the request, adding a timestamp check, etc, can
all be added onto this to make it more secure.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *