使用Parse从App内打开和关闭推送通知

时间:2013-06-22 22:40:11

标签: iphone ios objective-c

我被告知我应该允许用户在我的应用中打开或关闭推送通知。我正在使用Parse来管理我的推送通知。我已完成所有设置,以便用户可以通过按"允许来注册通知。"弹出推送警报时但我的问题是,如果用户最初说“不要允许”,我将如何允许用户在应用内打开推送通知。"不允许。我知道推送通知警报只会显示一次。有没有人有任何想法?谢谢!

我的应用代表:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:
(NSDictionary *)launchOptions {

    [Parse setApplicationId:@"APP_ID"
    clientKey:@"CLIENT_KEY"];
    [PFAnalytics trackAppOpenedWithLaunchOptions:launchOptions];
    //other code
}

- (void)application:(UIApplication *)application
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {

    // Store the deviceToken in the current installation and save it to Parse.
    PFInstallation *currentInstallation = [PFInstallation currentInstallation];
    [currentInstallation setDeviceTokenFromData:deviceToken];
    [currentInstallation saveInBackground];
}

用户设置视图控制器:

-(IBAction) switchValueChanged {

    if (toggleSwitch.on) {

        [[UIApplication sharedApplication]
        registerForRemoteNotificationTypes:
        (UIRemoteNotificationTypeAlert |
        UIRemoteNotificationTypeBadge |
        UIRemoteNotificationTypeSound)];    

        PFInstallation *currentInstallation = [PFInstallation currentInstallation];
        [currentInstallation setDeviceTokenFromData:deviceToken];
        [currentInstallation saveInBackground];
    }
    else {

    }
}

1 个答案:

答案 0 :(得分:1)

你做不到。用户必须手动进入通知设置并设置应用程序以进行通知。显然,原因在于Apple不希望用户纠缠用户,如果用户已经没有说过一次就不允许这样做。

我建议让您的应用显示提醒,告知用户打开通知。