iOS - Ask to enable push notifications after initial decline

Joel picture Joel · Jan 27, 2012 · Viewed 25.4k times · Source

I would like to know if it's possible to force the "XXXXX would like to send you push notifications" popup from within an app, after an initial decline. The use case is as follows:

  • The user installs the app, gets the alert about push notifications, and declines because they don't know/trust the app yet.

  • They use the app and proactively request within the app to be alerted when something happens (say for example something they want to buy is sold out so they want to be alerted when it is back in stock).

  • So now the user has asked the app to notify them about something specific but has push notifications disabled at the operating system level.

  • So if the user requests an alert, but I detect that they declined alerts on first run, I need to notify them of this and have them turn push notifications on for the alert to work.

  • Ideally, I would like to force the "XXXX would like to send you push notifications alert" at this point (a second time since they installed the app).

  • I guess plan b would be to show them my own message telling them they have to go into their system settings and turn it back on manually in order to receive the alert they want. This is far from ideal.

Any help would be appreciated. Thanks.

Answer

rob mayoff picture rob mayoff · Jan 27, 2012

You can't make iOS show the alert again. Here's a better approach:

  1. Keep a flag in your NSUserDefaults indicating whether you should register for push notifications at launch. By default the flag is false.
  2. When you launch, check the flag. If it's true, register immediately. Otherwise, don't register.
  3. The first time the user does something that would cause a push notification, register for push notifications and set the flag in NSUserDefaults.

This way, when the user gets the push notifications alert, he has some idea why he's getting it, and might actually say yes.