Я создаю свое первое мобильное приложение и столкнулся со следующей ситуацией.
У меня есть API Laravel, который отправляет сообщения с данными через FCM в мобильное приложение Expo. Когда мобильное приложение получает сообщение с данными, оно принимает полезную нагрузку, создает конфигурацию уведомлений и использует Notifee для уведомления пользователя.
Однако на ум приходит следующий вопрос: что произойдет, если мне понадобится изменить полезную нагрузку сообщения данных в API? Как я могу обеспечить обратную совместимость, если я не могу быть уверен, что у всех пользователей установлена последняя версия приложения, а уведомления в старых версиях приложения больше не будут корректно строиться?На ум пришли два решения, но я не уверен, что есть лучшее:
Мобильное приложение ожидает определенных свойств полезной нагрузки в сообщение с данными, и если они отсутствуют, возвращается конфигурация по умолчанию (например, резервный заголовок и тело).
Сохраняйте как старые, так и новые свойства до тех пор, пока не будет установлена старая версия приложения. больше не используется. Я полагаю, что могу просмотреть некоторую статистику использования конкретных версий приложений в Apple App Store и Google Play Store.
Как вы справляетесь с этим в ваши проекты и что обычно считается лучшей практикой?
Я создаю свое первое мобильное приложение и столкнулся со следующей ситуацией. У меня есть API Laravel, который отправляет сообщения с данными через FCM в мобильное приложение Expo. Когда мобильное приложение получает сообщение с данными, оно принимает полезную нагрузку, создает конфигурацию уведомлений и использует Notifee для уведомления пользователя. Однако на ум приходит следующий вопрос: [b]что произойдет, если мне понадобится изменить полезную нагрузку сообщения данных в API? Как я могу обеспечить обратную совместимость, если я не могу быть уверен, что у всех пользователей установлена последняя версия приложения, а уведомления в старых версиях приложения больше не будут корректно строиться?[/b]На ум пришли два решения, но я не уверен, что есть лучшее: [list] [*]Мобильное приложение ожидает определенных свойств полезной нагрузки в сообщение с данными, и если они отсутствуют, возвращается конфигурация по умолчанию (например, резервный заголовок и тело). [*]Сохраняйте как старые, так и новые свойства до тех пор, пока не будет установлена старая версия приложения. больше не используется. Я полагаю, что могу просмотреть некоторую статистику использования конкретных версий приложений в Apple App Store и Google Play Store. [/list] [b]Как вы справляетесь с этим в ваши проекты и что обычно считается лучшей практикой?[/b]