DanielScholte / GuildWars2Companion

GW2 Companion is an unofficial open-source Guild Wars 2 app. GW2 Companion helps you keep track of your account progression and characters, and provides information to help you on your journey in Tyria.
GNU General Public License v3.0
64 stars 14 forks source link

[FEATURE] Event notifications #32

Closed DanielScholte closed 4 years ago

DanielScholte commented 4 years ago

Issue Add more options to keep the user up-to-date regarding meta events and world bosses.

Describe the solution you'd like User configurable notifications for meta events and world bosses.

apcro commented 4 years ago

This could be implemented using a combination of in-app (if the App is running), push notifications, SMS and email depending. Push notifications, SMS & email alerts are relatively easy using a backend subscription server (registered users would set preferences for each type of alert/event, but would be required to register through the App).

In-app could be done using generic toast messages based on the internal timer?

DanielScholte commented 4 years ago

I'm currently working on the event notifications in a seperate branch (feature/event_notifications). I'm using the flutter_local_notifications library to generate push notifications using a background service. With that library everything is done on your phone, and there won't be any communication with a third party API.

apcro commented 4 years ago

I immediately went the registration route as local notifications assumes the App is running in the background but remote push (such as firebase cloud messaging or subscription emails/SMS through something like Twilio) doesn't. Admittedly more work.

DanielScholte commented 4 years ago

The background service should always be running, even when the app hasn't been launched after reboot or when the app is closed. It's separate from the app. See flutter_local_notifications for more information.
I've worked with Firebase before in Flutter apps to generate push notifications, and I think something like the local notifications is a better option as it also allows for more customisability for the user.

Raeitus commented 4 years ago

Please DO NOT use Firebase if you can. Also, the app would not be able to get on F-Droid if you do (unless you make an F-Droid specific build without it)


I like the local notification idea. Also, you should add an option in settings for "Run in Background" so that people can toggle it on or off. Some people might prefer it off to save battery life.