Решение Cloud Function Firebase для добавления покупок приложений

Я создаю приложение Flutter, которое использует Firebase в качестве бэкэнда, все работает с облачными функциями. Я пытаюсь реализовать покупки в приложении. Я хочу, чтобы приложение работало так:

Пользователь покупает подписку -> Пользователь в Firestore становится Премиум-пользователем

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

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

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

Как мне это смоделировать? Вроде бы очень просто, но я не совсем понимаю, как реализовать такую ​​простую систему подписки с помощью Firebase Cloud Functions. Я думаю, что все сводится к возможности реализовать какой-то автоматический вызов облачной функции, когда что-то происходит с пользовательской подпиской, но как я могу это сделать? Я открыт для любой технологии, реализующей такую ​​модель выставления счетов, которая работает с облачными функциями Flutter и Firebase.

Алекс, пожалуйста, дайте мне знать, была ли информация ниже полезной или вы ищете что-то еще.

Vaidehi Jamankar 23.11.2022 05:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
63
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы реализовать вызов облачной функции на стороне сервера и обновить пользователя в Firestore с помощью облачных функций, вы можете обрабатывать события в Cloud Firestore без необходимости обновлять код клиента и вносить изменения в Cloud Firestore через интерфейс DocumentSnapshot . Подробную документацию вы можете найти здесь.

Также в соответствии с вашими требованиями вы можете проверить кодовую лабораторию.

Другие вопросы по теме