Хобрук: Ваш путь к мастерству в программировании

Зачем использовать Firebase Functions SDK для Unity, если UnityWebRequest существует?

Сначала я думал, что преимущество в том, что можно вызвать HttpsCallables, но теперь я знаю, что вы можете вызывать их с каким-то специальным форматом и параметрами из Postman (а также можно с помощью UnityWebRequest, а если нет, можно было бы просто изменить их с < em>onCall в onRequest).

Затем я подумал, что он может включать некоторую специальную информацию об авторизации от клиента к серверу. Но context.auth (из https.onCall(data, context)) оказывается undefined. Кроме того, я все еще могу вызывать функции из Postman.

Важное примечание. Я не регистрирую пользователей, поэтому мне не нужна аутентификация Firebase. Но я предположил, что Firebase добавила что-то, чтобы убедиться, что вызов функции исходит от авторизованного клиента (например, приложения).

Я все еще использую SDK для функций, но мне интересно, каковы преимущества использования этого SDK для Unity, когда существует UnityWebRequest? Зачем мне пакет, если я могу выполнить тот же вызов, используя UnityWebRequest? Я упускаю что-то слишком очевидное?


Дополнительная информация о том, как я использую функции Firebase:

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

Ответы:


1

Состояние аутентификации должно автоматически передаваться от клиента Firebase Functions к вызываемым вами облачным функциям. Если это не так, я бы сообщил об этом как об ошибке.

Но помимо этого: SDK действительно не делает ничего такого, чего вы не могли бы сделать сами. Его использование — это вопрос выбора между большим удобством и более точным управлением.

Если вы используете SDK, предоставленный Firebase, вам не придется ничего создавать самостоятельно. Но, с другой стороны, если вы создаете собственную клиентскую реализацию проводных протоколов, у вас есть полный контроль над тем, что вы делаете, а что нет.

26.02.2020
  • хорошо, спасибо за это подтверждение. Чтобы уточнить: нужен ли мне Auth SDK для передачи состояния Auth? Или сам Functions SDK справляется с этим? И пока мы это делаем, не могли бы вы указать мне, куда сообщить об ошибке? 26.02.2020
  • Да, вам придется передать токен идентификатора, который вы получите от клиента аутентификации. Я думаю, что ответ на вопрос, зачем мне использовать Firebase SDK для этого? теперь явно в так, что вам не придется выяснять, что из лагеря. :) 26.02.2020
  • Чтобы сообщить о проблеме, вы можете использовать форму здесь: firebase.google.com/support/troubleshooter/ отчет . Если вы хотите передать какой-либо идентификатор пользователя, вы можете использовать аутентификацию Firebase для создания анонимного пользователя ( firebase.google.com/docs/auth/unity/anonymous-auth). Вам, вероятно, понадобится политика конфиденциальности на этом этапе, так как вы храните какие-то данные, но в противном случае это может быть невидимым способом выполнить то, что вы хотите, с помощью вызываемых функций (и вы захотите убедитесь, что вы не вызываете auth.SignInAnonymouslyAsync() при каждом запуске, сначала проверьте auth.CurrentUser). 27.02.2020
  • Новые материалы

    Понимание дженериков в TypeScript: подробное руководство
    Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..