#android #ios #firebase #flutter
#Android #iOS #firebase #флаттер
Вопрос:
Я создал действительно простое приложение для чата (не нужно просматривать код) (из курса Анджелы Ю, flutter) оно интегрировано с Google firebase, который использует пакеты firebase_core, firebase_auth и cloud_firestore для аутентификации и загрузки данных чата в cloud Firestore.
Я установил приложение через debug.APK ( 1. имело бы значение, был ли это release.APK?) в моем телефоне и телефоне моего друга на обоих устройствах Android (давайте выберем нейтральный подход, т. е. телефон может быть либо IOS, либо Android).
Я хочу, чтобы я изменил свой код (или мы говорим «обновить мое приложение») Я бы хотел, чтобы мое приложение на обоих телефонах обновлялось (либо автоматически, если возможно, либо отправляло предупреждение, когда пользователь открывает приложение для его обновления), все это должно быть сделано бесплатно. 2. Как я могу добиться этого самым простым способом?. Я знаю, что для этого есть стандартный способ, если приложение было в Google Play Store или App Store, но я не хочу загружать его в магазины.
Я предполагаю, что для этого мы интегрируем наше приложение с сервером, чтобы при каждом запуске приложения оно проверяло наличие обновления на сервере и запрашивало пользователя об обновлении и обновлялось. Если это достижимо, может ли кто-нибудь, пожалуйста, подсказать мне эти два метода, упомянутых ниже:
3 (A). через бесплатный онлайн-сервер (можем ли мы использовать github или firebase?)
3 (B). и могу ли я сделать свой собственный ноутбук в качестве сервера и закодировать приложение так, чтобы ему не требовалось, чтобы сервер всегда был онлайн.(например, если мой сервер подключен к Сети, он проверяет наличие обновлений, иначе он продолжается)
3 (C). через платные серверы (просто для информации)
(4) Также, пожалуйста, скажите мне, почему мы выбрали облачный firestore вместо базы данных реального времени для приложения для чата?
(Я не хочу создавать веб-приложение)
Я понятия не имею, как все это было бы достижимо, как будто ничего похожего на то, какой сервер будет использоваться, или это вообще возможно. Поэтому, пожалуйста, помогите мне с подробным объяснением по всем (1,2,3 (A), 3 (B), 3 (c)). Любая помощь была бы действительно оценена!
Ответ №1:
Поскольку вы уже используете Cloud Firestore, рассмотрите возможность создания в нем документа с полем, содержащим номер версии последней версии приложения.
Затем в коде вашего приложения вы читаете этот документ при запуске и сверяете его с собственной версией приложения. Если версия из базы данных новее, сообщите пользователю об обновлении.
Вы могли бы даже включить инструкции о том, где / как получить последнюю версию в базе данных. Это может оказаться очень кстати, если вам внезапно придется менять механизм выпуска между версиями.
Комментарии:
1. Большое спасибо за такой быстрый ответ, После проверки наличия обновлений (через firestore), если доступно обновление, пользователю выдается предупреждение с кнопкой обновления приложения, не могли бы вы, пожалуйста, подсказать мне «как я могу обновить приложение после того, как пользователь нажмет на обновление» . Я предполагаю, что я загружаю свою последнюю версию .apk или .ipa на Google Диск (могу ли я загрузить ее на firebase?), Поэтому, когда пользователь нажимает на кнопку обновления, приложение автоматически: 1. загружает последнюю версию .apk amp; 2. Открывает файл .apk самостоятельно, и таким образом Android по умолчанию отправляет предупреждение о том, что «Вы хотите установить обновление для этого существующего приложения»
2. У меня нет особых знаний в этой области, но загрузка APK была бы моим первым подходом. В Firebase вы могли бы использовать для этого хостинг или хранилище.
3. Пожалуйста, скажите мне, есть ли лучший способ добиться обновления? Если нет, пожалуйста, скажите мне, как я могу реализовать мой упомянутый метод (или, пожалуйста, предоставьте мне ресурсы файлового менеджера flutter). Большое вам спасибо!
4. Большое вам спасибо за это, действительно ценю!
5. Где бы вы порекомендовали мне загрузить последнюю версию apk-файла для выполнения обновления — в папке загрузки Android, или в каталоге поддержки приложения, или где-то еще?