How to control notification settings on Android?

I just received a nice feedback note from an app user on Android. Here goes : 

I’ve been enjoying your app, thank you. However, I’d like to call your attention to your notifications. The icon you’re using (a triangle with an exclamation point inside) is typically associated with emergency notifications, not advertising your product. Please consider revising it. Please also consider adding user-controlled settings to control notifications, i.e. settings for notification sounds, LED blink, and disable notifications. 

This user almost to the letter describes what is offered natively on IOS only problem is… She is on Android!. My app that uses GameThrive has a neat settings panel in IOS Settings / Notification Center / AppName which does all that this user wishes to have on Android… Bummer. 

So how to respond to the issue? Questions I see are : 

  1. Is it possible to change the Notification Icon - triangle with an exclamation point inside it?

  2. Given Android OS does not offer a native way to give control over notifications to the user what can we do to respond to the request?

A settings panel inside my app comes to mind. I could tag users based on their settings and perhaps create segments accordingly and then send notifications following the settings matching user wishes. That also sounds like lots of work! 

So what is the best practice on this front? How can we keep users happy? My finding is that users annoyed with notifications end up removing the app. If they feel they have some control over what they receive and how they receive it then they keep the app. Anyone else see similar reactions?

Any assistance from GameThrive on implementing a settings panel and a best practices kind of dialogue will be most appreciated. 

Thanks & regards,

Kerem

Hey Kerem,

Regarding icons see here: http://docs.coronalabs.com/daily/guide/events/appNotification/index.html#android-icons

My server sends my notifications so in my case I will have an option in the app to turn of notifications that just tells the server to stop sending notifications to that user. 

Hi Jon, 

Thanks much for the link. I had totally missed seeing that section. I will include some icons in my next update so the first problem goes away!

So you are doing something similar to what I described above. In GT context we would tag users based on their choices and then exclude them in notifications. This is straight forward for black & white, Notifications On/Off situations. Where it gets a little more complicated is if you want to offer the choice of sound, LED blink etc is to be offered. I think for now I will keep it simple and offer a way to opt out of notifications from within the app and handle it on GT Excluded Tags prompt. 

Thanks much for your input. Any other ideas / best practices?

  • How does GT folk recommend dealing with this issue?
  • How do they use their own system to provide this flexibility?
  • Last but not least, any chance for the GT plugin to offer some built-in Notification Controls which we can trigger in our code? This could be a good idea to provide some consistent UI and process. 

Wishing you all a great Sunday. Regards,

Kerem

Tags are definitely a good way to do this. Starting with Android 4.1 users can also use their device’s notification settings to disable notifications.

If I understand correctly, by built-in notification controls you mean having a pre-built UI that you can display? We might do something like this at some point. It’s a little tricky because it would need to be maintained across all of our supported platforms and sdks.

You’re the first person to mention customizing LED blink. How were you thinking of using it?

Yes but apparently many users don’t know how to get to the settings / apps / appname etc to get to that control. Besides, its still an either / or situation

Problem is to remember to respect them when sending notifications… This gives me an idea. How about if you were to introduce some fixed Tag names, which if set would change the way the GT backend sends notifications to the user in question. Something like this 

Exclude - If this tag is set that user is never to receive any notifications

SoundOff - If set this tag means any notification sent to this user will always be quiet etc. 

You can create one set tag name for any controllable aspect of notifications. Then when we set these tags on the app UI we don’t have to worry about remembering to send appropriately set notifications to the appropriate segments. Make sense?

Yup. This is what I had in mind. How about starting with Corona SDK?  :wink:  In the meanwhile I will create something simple for my Android app and see how I can integrate with the tags but if you could consider putting a standard UI that would be uber cool. This would couple nicely with the above idea of standard tag names which your backend obeys. 

I think the request from my user was to be able to disable led blinks or not. Don’t know how much control we have over this on the Android OS.

Great dialogue. Thanks much for being so engaged. All the best.

The custom settings idea is interesting. For disabling a notifications one way to do it would be to use our API to update the user and remove the push token/identifier. 

It would look like this:

METHOD: POST

URL: https://gamethrive.com/api/v1/players/{player-id}

BODY: {“identifier”:null}

Then make sure not to init GameThrive on that device or otherwise the identifier will get set back to what it was. You can also restore the original behavior by calling the method again but supplying the original push token/identifier.

Admittedly, it’s not quite as nice as having a pre-made method to call to toggle notifications on/off and we don’t have anything for the custom sound case.

We’ll definitely consider both this & the pre-built UI idea.  Thanks for the great feedback!

Hi George, thanks for the consideration.

All the best. 

Kerem

Hey Kerem,

Regarding icons see here: http://docs.coronalabs.com/daily/guide/events/appNotification/index.html#android-icons

My server sends my notifications so in my case I will have an option in the app to turn of notifications that just tells the server to stop sending notifications to that user. 

Hi Jon, 

Thanks much for the link. I had totally missed seeing that section. I will include some icons in my next update so the first problem goes away!

So you are doing something similar to what I described above. In GT context we would tag users based on their choices and then exclude them in notifications. This is straight forward for black & white, Notifications On/Off situations. Where it gets a little more complicated is if you want to offer the choice of sound, LED blink etc is to be offered. I think for now I will keep it simple and offer a way to opt out of notifications from within the app and handle it on GT Excluded Tags prompt. 

Thanks much for your input. Any other ideas / best practices?

  • How does GT folk recommend dealing with this issue?
  • How do they use their own system to provide this flexibility?
  • Last but not least, any chance for the GT plugin to offer some built-in Notification Controls which we can trigger in our code? This could be a good idea to provide some consistent UI and process. 

Wishing you all a great Sunday. Regards,

Kerem

Tags are definitely a good way to do this. Starting with Android 4.1 users can also use their device’s notification settings to disable notifications.

If I understand correctly, by built-in notification controls you mean having a pre-built UI that you can display? We might do something like this at some point. It’s a little tricky because it would need to be maintained across all of our supported platforms and sdks.

You’re the first person to mention customizing LED blink. How were you thinking of using it?

Yes but apparently many users don’t know how to get to the settings / apps / appname etc to get to that control. Besides, its still an either / or situation

Problem is to remember to respect them when sending notifications… This gives me an idea. How about if you were to introduce some fixed Tag names, which if set would change the way the GT backend sends notifications to the user in question. Something like this 

Exclude - If this tag is set that user is never to receive any notifications

SoundOff - If set this tag means any notification sent to this user will always be quiet etc. 

You can create one set tag name for any controllable aspect of notifications. Then when we set these tags on the app UI we don’t have to worry about remembering to send appropriately set notifications to the appropriate segments. Make sense?

Yup. This is what I had in mind. How about starting with Corona SDK?  :wink:  In the meanwhile I will create something simple for my Android app and see how I can integrate with the tags but if you could consider putting a standard UI that would be uber cool. This would couple nicely with the above idea of standard tag names which your backend obeys. 

I think the request from my user was to be able to disable led blinks or not. Don’t know how much control we have over this on the Android OS.

Great dialogue. Thanks much for being so engaged. All the best.

The custom settings idea is interesting. For disabling a notifications one way to do it would be to use our API to update the user and remove the push token/identifier. 

It would look like this:

METHOD: POST

URL: https://gamethrive.com/api/v1/players/{player-id}

BODY: {“identifier”:null}

Then make sure not to init GameThrive on that device or otherwise the identifier will get set back to what it was. You can also restore the original behavior by calling the method again but supplying the original push token/identifier.

Admittedly, it’s not quite as nice as having a pre-made method to call to toggle notifications on/off and we don’t have anything for the custom sound case.

We’ll definitely consider both this & the pre-built UI idea.  Thanks for the great feedback!

Hi George, thanks for the consideration.

All the best. 

Kerem