#c_sharp #net #xamarin #mobile_development
Подскажите как можно решить данный кейс для iOS 9+, Android 4.4+ и WP 8.1+.
Программа раз в день должна проверять счёт пользователя и если он меньше 30 руб.
то уведомлять.
Как реализовать уведомления на трех платформах я разобрался.
А вот заставить программу работать постоянно (как сервис в Windows) не ясно и получиться
ли это реализовать кроссплатформенно?
P.S. Пишу свое первое приложение для мобилок.
Ответы
Ответ 1
То, что Вы хотите, называется Push Notification-ом.
То, что Вы указали в примере - это локальное уведомление, по сути, c таймером на
исполнение. Указали тайтл, текст, время, и вуаля, заданный текст показался в нужное время.
В Вашем случае, такой вариант не подойдет просто потому, что счёт пользователя, как
я понял - некое хранилище средств, лежащее извне, и для его проверки, понадобится исполнение
кода приложения, а значит, приложение должно быть запущено. В случае с Пушем все проще,
так как тут даже не нужна работа приложения, Вам нужен сервер который скажет, что нужно
отправить уведомление.
Если я ошибаюсь, и его счёт сугубо виртуальная валюта, которая пополняется со временем
- рассчитать время заполнения или растраты - не трудно, достаточно знать его потребление
на момент изменения. Что касается первого варианта, если счета пользователя - некое
подобие кошельков на Вашем сервере, то Вам понадобится только промежуточный сервис
отправки подобных уведомлений, к примеру: FCM (Android), APNS (iOS), WNS (Windows).
Ваш сервер через подобный сервис будет сам уведомлять пользователя о малом количестве
средств.
Можете прочесть более подробно тут: Основы успешной реализации push-уведомлений для
мобильных приложений
Ответ 2
https://xamdev.ru/background-task-xamarin/
Пишите отдельный код для каждой платформы, затем используете технологию отсюда https://metanit.com/sharp/xamarin/12.3.php
чтобы объединить все вместе