Интеграция Google Cloud IoT в мобильное IoT-приложение

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Интеграция Google Cloud IoT в мобильное IoT-приложение
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    760
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    646
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1056
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    878
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    450

Интеграция Google Cloud IoT в мобильное IoT-приложение

Google Cloud IoT Core был официально выведен из эксплуатации 16 августа 2023 года. Если вы пришли сюда с вопросом «как интегрировать GCP IoT Core» — важно знать это прямо сейчас. Проекты, которые на него полагались, должны были мигрировать на альтернативы.

Что вместо Google Cloud IoT Core

Google рекомендует несколько путей миграции:

1. MQTT-мост через Cloud Pub/Sub напрямую. Устройства публикуют в Cloud Pub/Sub через собственный MQTT-брокер (например, HiveMQ, EMQX или Mosquitto), а не через управляемый GCP IoT Core. Мобильное приложение подписывается на Pub/Sub топики через gRPC API.

2. Партнёрские платформы. Google официально отсылает к Clearblade IoT Core и Cognite, которые предлагают совместимый API. Миграция с Cloud IoT Core на Clearblade — минимальные изменения в клиентском коде.

3. Переход на другой облачный IoT-провайдер — AWS IoT Core или Azure IoT Hub, если привязки к GCP нет.

Мы чаще всего рекомендуем связку Cloud Pub/Sub + собственный MQTT-брокер для клиентов, которые хотят остаться в GCP-экосистеме.

Архитектура мобильного приложения на базе GCP

Для мобильного клиента прямое подключение к Cloud Pub/Sub через gRPC требует Google Cloud credentials. Встраивать Service Account key в приложение — нельзя. Используем Firebase Authentication + Cloud Firestore/Realtime Database как transport-слой для IoT-состояний.

Схема работает так: IoT-устройства публикуют телеметрию → MQTT-брокер → Cloud Pub/Sub → Cloud Function → Firestore. Мобильное приложение читает состояния из Firestore через реалтайм-подписки и пишет команды туда же. Отдельная Cloud Function слушает изменения в Firestore и публикует команды обратно в MQTT-брокер к устройству.

На Flutter это реализуется через cloud_firestore пакет:

FirebaseFirestore.instance
  .collection('devices')
  .doc(deviceId)
  .snapshots()
  .listen((snapshot) {
    final state = DeviceState.fromJson(snapshot.data()!);
    // обновляем UI
  });

На React Native — @react-native-firebase/firestore с аналогичным API.

Cloud Run + MQTT для IoT

Более правильная архитектура для production: EMQX или HiveMQ на Cloud Run / GKE → Cloud Pub/Sub → Cloud Functions → Firestore. EMQX поддерживает Rule Engine (аналог AWS IoT Rules): можно прямо из брокера публиковать в Pub/Sub по условиям без отдельных Lambda/Functions.

Мобильный клиент подключается к EMQX через MQTT over WebSocket с JWT-аутентификацией (выдаётся Firebase Auth). EMQX проверяет токен через HTTP Authentication hook — запрос к вашему бэкенду при каждом подключении.

Firebase Cloud Messaging для IoT-событий

Push-уведомления по IoT-событиям — нативная сильная сторона GCP-стека. Cloud Function триггерится по Pub/Sub сообщению, отправляет FCM notification через Admin SDK:

await admin.messaging().send({
  token: userFcmToken,
  notification: { title: 'Датчик движения', body: 'Движение обнаружено в прихожей' },
  data: { deviceId: '...', eventType: 'motion' }
});

На Flutter firebase_messaging обрабатывает уведомления в background через onBackgroundMessage handler. Важно: на Android обработчик должен быть top-level функцией, не методом класса — иначе крэш при получении уведомления в killed state.

Сроки

Базовая архитектура (MQTT-брокер + Pub/Sub + Firestore + мобильный клиент) — 3–4 недели. Push-уведомления, Cloud Functions для автоматизации — ещё 1–2 недели. Стоимость рассчитывается индивидуально, GCP-инфраструктура тарифицируется по объёму сообщений и compute.