Quickstarters

Как создать бэкенд для Xamarin?

30min

Введение

В этом учебном пособии вы узнаете, как создать бэкенд для ваших Xamarin мобильных приложений, используя мощные функции Back4App.

Мы будем полагаться на REST API, GraphQL, и другие варианты веб-API вместо использования специализированного SDK. Этот подход позволяет вашему мобильному клиенту оставаться легким и гибким, позволяя вам подключаться к вашим данным через простые HTTP-запросы.

Мы рассмотрим создание моделей базы данных, применение безопасности, обработку аутентификации и выполнение операций с файлами.

Следуя этим шагам, вы увидите, как быстро и безопасно создать бэкенд для xamarin.

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

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

Вы также поймете, как применять Списки управления доступом (ACL), писать Облачный код (если необходимо) и включать сложные рабочие процессы, такие как Живые запросы или Облачные задания в ваше окончательное решение.

Предварительные условия

Чтобы получить максимальную пользу от этого учебника, убедитесь, что у вас есть:

С этими предварительными условиями вы будете готовы следовать инструкциям и подключить ваш проект Xamarin к Back4App.

Шаг 1 – Создание нового проекта на Back4App и подключение

  1. Создайте проект Back4App в вашей панели управления Back4App. Это основа для вашего бэкенда.
  2. Назовите ваш проект (например, “Xamarin-Backend-Tutorial”).
  3. Найдите ваши ключи приложения в разделе “Безопасность и ключи” вашего приложения. Вы увидите REST, GraphQL или другие ключи, которые вы можете использовать при отправке запросов с вашего мобильного клиента.
  4. Настройте ваш проект Xamarin для выполнения HTTP-запросов. Вместо Parse SDK вы будете использовать либо HttpClient, либо любую сетевую библиотеку по вашему выбору, чтобы вызывать REST или GraphQL конечные точки вашего приложения Back4App.

Например, вы можете хранить ваш Идентификатор приложения и Ключ REST API в безопасном месте или в файле констант:

C#


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

Шаг 2 – Настройка базы данных

1. Создание модели данных

Используйте панель управления Back4App, чтобы определить ваши классы или позвольте им создаваться динамически при первом запросе. Например, если вы хотите класс Todo, вы можете создать его в разделе База данных или на лету через REST API вызовы:

Bash


2. Создание модели данных с использованием AI-агента

Back4App предоставляет AI-агента, который может генерировать полные структуры классов:

  1. Откройте AI-агента, в вашем проекте Back4App.
  2. Опишите вашу модель (например, “Пожалуйста, создайте новый класс с именем ‘Todo’ с полями title и isCompleted.”).
  3. Подтвердите, чтобы автоматически сгенерировать схему.
Document image


3. Чтение и запись данных (REST)

В вашем Xamarin проекте вы можете написать public class (например, RestClient) который обрабатывает все запросы к Back4App:

C#


4. Чтение и запись данных (GraphQL)

Для запросов GraphQL вы можете отправлять запросы к конечной точке GraphQL Back4App:

Bash


Аналогично, из Xamarin вы можете отправить JSON-объект с вашей строкой GraphQL на https://parseapi.back4app.com/graphql.

5. Работа с живыми запросами (по желанию)

Хотя вы используете веб-API вызовы, а не Parse SDK, вы все равно можете включить живые запросы, если хотите получать обновления данных в реальном времени. Вы будете использовать специализированные соединения (WebSockets) для подписки на изменения классов. Включите живые запросы в настройках сервера вашего приложения Server Settings в Back4App, затем используйте совместимую клиентскую библиотеку в Xamarin, если она доступна. В качестве альтернативы вы можете создать собственное решение на основе WebSocket или полагаться на опросы, если поддержка в реальном времени не является обязательной для вашего приложения.

Шаг 3 – Применение безопасности с помощью ACL и CLP

1. Обзор ACL и CLP

Безопасность Back4App включает в себя Разрешения на уровне класса (CLP) и Списки контроля доступа (ACL). CLP определяют, какие пользователи или роли могут читать/записывать в целый класс. ACL добавляют безопасность на уровне объектов. Скомбинируйте их, чтобы убедиться, что только авторизованные пользователи могут манипулировать вашими данными.

2. Настройка разрешений на уровне класса

  1. Откройте раздел База данных, на Back4App.
  2. Выберите ваш класс (например, Todo).
  3. Перейдите к разрешениям на уровне класса, чтобы установить правила чтения/записи. Вы можете разрешить только аутентифицированным пользователям читать или записывать. Это гарантирует, что ваш мобильный клиент должен войти в систему перед чтением данных.

Шаг 4 – Написание функций облачного кода

1. Зачем нужен облачный код

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

2. Пример функции и триггеров

Ниже приведен упрощенный пример облачной функции в файле main.js :

JS


3. Развертывание

Для развертывания вы можете использовать Back4App CLI или раздел облачного кода на вашей панели управления. После развертывания вы можете вызывать ваши функции из Xamarin через REST:

Bash


4. Модули NPM

Если вам нужны дополнительные библиотеки, установите их через npm в папке вашего проекта Cloud Code. После этого require их в вашем main.js. Этот подход полезен для вызова сторонних API с серверной стороны.

Шаг 5 – Настройка аутентификации

1. Включите аутентификацию пользователей

В Back4App класс _User управляет учетными данными пользователей. В разделе App Settings, вы можете включить аутентификацию пользователей, проверку электронной почты и настройки сброса пароля.

2. Регистрация / Вход пользователя (REST)

Из вашего проекта Xamarin вы можете написать методы C# для обработки регистрации и входа:

C#


Затем вы можете хранить токены сессии на стороне клиента для будущих запросов.

3. Социальный вход

Чтобы интегрировать социальные входы (например, Google, Facebook), обратитесь к документации по социальному входу Back4App. У каждого провайдера есть свой собственный OAuth-поток, который вы можете обрабатывать из вашего мобильного клиента. Затем передайте возвращенные токены в Back4App.

Шаг 6 – Обработка хранения файлов

1. Настройка хранения файлов

Файлы можно загружать, отправляя POST-запрос с данными файла в теле. Например, чтобы сохранить изображение из вашего приложения Xamarin, прочитайте изображение в массив байтов, а затем отправьте:

Bash


2. Пример загрузки с C#

C#


3. Соображения по безопасности

Чтобы обеспечить безопасность загрузки файлов, перейдите в Настройки сервера Back4App и настройте Разрешения на файлы. Например, вы можете разрешить загрузку только аутентифицированным пользователям.

Шаг 7 – Подтверждение электронной почты и сброс пароля

1. Обзор

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

2. Конфигурация панели управления Back4App

  1. Включите проверку электронной почты в разделе Настройки электронной почты.
  2. Отредактируйте шаблон сброса пароля и установите адрес “Отправителя”.
  3. Вы также можете настроить содержание электронной почты в соответствии с вашим брендом.

3. Реализация

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

Шаг 8 – Планирование задач с помощью облачных заданий

1. Что делают облачные задания

Облачные задания позволяют вам планировать рутинные задачи, такие как очистка старых данных или отправка ежедневных сводок по электронной почте, все это с платформы Back4App.

2. Пример

JS


Разверните облачный код, затем запланируйте задание в разделе Настройки приложения > Настройки сервера > Фоновая работа.

Шаг 9 – Интеграция вебхуков

  1. Определите вебхук на Back4App, перейдя в Дополнительно > Вебхуки и нажав “Добавить вебхук.”
  2. Укажите конечную точку, такую как https://your-service.com/webhook-endpoint.
  3. Выберите триггеры, такие как “Новый объект в классе Todo.”
Document image


Webhook'и могут уведомлять сторонние сервисы, так что ваше приложение Xamarin может оставаться легковесным, в то время как внешние системы обрабатывают дополнительную логику или уведомления.

Шаг 10 – Изучение панели администратора Back4App

Приложение Back4App Admin App является удобным способом выполнения операций CRUD без написания запросов. Включите его в App Dashboard > More > Admin App. Создайте администратора, выберите поддомен и войдите в систему.

Document image


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

Заключение

Вы только что увидели, как создать бэкенд для Xamarin, используя Back4App API. Вы создали безопасные классы, добавили CLP'и и ACL'и, обработали аутентификацию и изучили загрузку файлов, планирование задач и интеграцию с внешними сервисами. Этот подход обеспечивает, чтобы ваши мобильные приложения оставались быстрыми и гибкими, используя мощь хостируемой базы данных и облачной среды.

Следующие шаги

  • Расширьте ваше приложение Xamarin для обработки более сложной логики, кэширования или расширенных ролей и разрешений.
  • Погрузитесь в расширенные функции, такие как push-уведомления, или интегрируйте данные в реальном времени с помощью Live Queries, если вам нужны совместные обновления.
  • Посетите официальную документацию Back4App для более глубоких руководств по безопасности, производительности и отладке.
  • Создавайте решения для реального мира путем смешивания сторонних API (платежные шлюзы, аналитика, социальные сети) с вашим бэкендом Back4App. Эта комбинация может улучшить функциональность вашего мобильного клиента и поддерживать ваш код в порядке.