Мы работаем над настольным приложением, связанным с финансами. Пользователь может зафиксировать свои деньги на условном депонировании на определенный период времени, и пользователь должен быть в сети примерно за 24 часа или в течение 24 часов до истечения срока условного депонирования, иначе его деньги могут оказаться под угрозой.

Нам нужен способ предупредить пользователей о том, что срок его действия скоро истечет, и им нужно подключиться к сети. Единственная проблема заключается в том, что мы должны сделать это таким образом, чтобы оповещения не зависели от доброжелательности нашего программного обеспечения. Пользователь должен получить предупреждение, даже если нас взломали/злоумышленно.

Мы хотели связать номер телефона пользователя и отправить ему SMS-сообщение о подключении к Интернету, но если бы нас взломали, мы бы не отправили это SMS-сообщение. И служба обмена SMS-сообщениями, такая как Twilio, не подходит, потому что хакер просто отключит или отменит эту службу.

Электронное письмо — это хорошо, но я не думаю, что оно достаточно срочное/заметное. У некоторых людей не настроена электронная почта для уведомлений на телефоне или компьютере, или вообще не настроена электронная почта на телефоне. И та же проблема, что и с SMS, если бы нас взломали, мы бы не отправили электронное письмо.

Один из возможных маршрутов — через календари. Если пользователь каким-то образом связал свой календарь на мобильном телефоне так, что при создании условного депонирования он создает событие в своем календаре (например, создает файл .ics для загрузки), он будет уведомлен о необходимости вернуться в приложение независимо от взломали нас или нет. Уведомление придет от пользователя, а не от нас.

Это хорошая практика? Я думаю, что у него такие же проблемы, как и у электронной почты: некоторые пользователи не будут настраивать календари или связывать их между устройствами или не захотят предоставлять нам к ним доступ.

Есть ли какой-то другой способ, который был бы лучше, о котором я не подумал?

1
James D 29 Авг 2018 в 17:08
Моя первая мысль заключается в том, что если вас взломали до того момента, который вы описываете (например, заметили, что вы используете Twilio и отключили его службы), то им нечего будет вернуть к ...
 – 
TripeHound
29 Авг 2018 в 12:39
Протокол не дает нам контроля над средствами пользователей, поэтому, если пользователь вернется до истечения срока действия условного депонирования, он сможет восстановить контроль над своими средствами и вывести их, независимо от того, было ли наше программное обеспечение взломано или скомпрометировано. Если они допустят истечение срока условного депонирования, то они также будут открыты для атаки.
 – 
James D
29 Авг 2018 в 16:19

1 ответ

настольное приложение, связанное с финансами

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

Windows — https: //developer.microsoft.com/en-us/windows/campaigns/windows-dev-essentials-action-center-notifications-and-toast

Mac — https://developer.apple.com/notifications/

1
Andrew 28 Авг 2018 в 22:42
Спасибо за ваш ответ. Да, уведомления рабочего стола/ОС будут полезны, если пользователь сидит за своим компьютером, а приложение не открыто. Мы будем использовать их для этой цели - я хотел указать это в своем вопросе. Но как насчет уведомления пользователя, когда он не на своем рабочем столе?
 – 
James D
28 Авг 2018 в 22:54