0

In my iOS app I have some things that need permissions from user. For example : permissions to receive push-notifications.

I want to ask such users for enabling permissions once in a while until they will approve it. I don't want to ask each time user launches app.

I have function that opens app settings where user can enable notification

extension UIApplication {
    class func openAppSettings() {
        if #available(iOS 8.0, *) {
            UIApplication.shared.openURL(URL(string: UIApplicationOpenSettingsURLString)!)
        }
    }
}

I thought about storing the date of last permission request and each time the app launches - check how many days ago user was asked for permissions last time. I don't know why but it seems not elegant for me.

Could you please suggest more elegant way to solve it?

Cœur
  • 37,241
  • 25
  • 195
  • 267
moonvader
  • 19,761
  • 18
  • 67
  • 116

1 Answers1

1

Elegant ways:

  • ask for permission again right after user has made an (in-app) purchase, arguing you want to alert for future offers

  • ask for permission again right after user has made a (remote) subscription/reservation, arguing you want to alert for the event/booking/delivery status

  • ask for permission again right after user has triggered an (in-game) action that will take more than 1 hour to be accomplished, arguing you want to alert for completion-status

If your app does not provide services for purchasing anything, does not trigger anything with real-life impact, and does not have long gaming sessions, then it may reveal that you have no meaningful trigger for those notifications.

Cœur
  • 37,241
  • 25
  • 195
  • 267
  • I mostly agree with you point but there are cases when business asks for more push-notifications subscribers among current app users – moonvader May 18 '18 at 04:34
  • @moonvader you may clarify in your question what kind of business model have your app (in-app?, governmental funding?, advertising?) and what is the content of those notifications ("happy birthday!", "Your delivery is ready", "The president blocked you", "Get discount on Viagra!", "You got mail!", "Buy 1 dragon, get 1 egg free", etc.) – Cœur May 18 '18 at 05:37