我正在开发推送通知的应用, 我希望延迟推送通知权限的出现,直到用户第三次进入我的应用程序。所以他应该对我的应用感兴趣,然后我想问他的许可。 我有办法做到这一点吗? 我搜索了很多方法,比如这里: Reset push notification settings for app 但我没有得到任何有用的答案。 请帮忙。 感谢
答案 0 :(得分:3)
维护一个递增的userDefault “ - (BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {}”method
如果userDefault大于3,则寻求Notification
的许可if NSUserDefaults.standardUserDefaults().objectForKey("launchCount")?.integerValue >= 3{
if UIApplication.sharedApplication().respondsToSelector("isRegisteredForRemoteNotifications") {
UIApplication.sharedApplication().registerUserNotificationSettings(
UIUserNotificationSettings(
forTypes: [.Alert, .Badge, .Sound],
categories: nil))
UIApplication.sharedApplication().registerForRemoteNotifications()
}
}
答案 1 :(得分:0)
使用UIApplication的registerForRemoteNotifications
方法。
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/#//apple_ref/occ/instm/UIApplication/registerForRemoteNotifications
您使用的是第三方推送通知SDK吗?如果是这样,那么该SDK中的方法通常会进行注册并将令牌存储在其数据库中。
只有您必须控制的是延迟用于注册远程通知的呼叫