如果用戶點擊蘋果的推送通知提醒消息中的「不允許」按鈕,我想觸發一些事件。是否有任何通知被觸發或以其他方式檢測到用戶的這一行爲?如何檢測用戶是否點擊蘋果的推送通知確認提醒中的「不允許」
3
A
回答
1
我不這樣做,所以我們可以檢測到UIAlertView
按鈕用戶按下,因爲沒有任何類型的iOS中提供的回調方法或委託等。
只有當您按Don't Allow
這將禁用該特定iOS應用程序的推送通知服務,如果是,則啓用。
然後通過代碼,我們可以檢查並確保使用它。
UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types == UIRemoteNotificationTypeNone)
// NONE
0
iOS8 comes with rregisterUserNotificationSettings: delegate method. Using this method we can do some patches.Please review them and Let us know your comments.Please these is only work with iOS8.
=>添加/註冊的通知。
if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)])
{
[[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]];
}
=>這裏下面的方法被稱爲After Alert Notification Fire。使用任何按鈕操作(不允許或允許)我們強制完全註冊通知。和道瓊斯在這裏有一些補丁。
#ifdef __IPHONE_8_0
- (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings
{
//register to receive notifications
[application registerForRemoteNotifications];
}
=>我們做一些伎倆在這裏
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
NSLog(@"devToken: %@",devToken);
#if !TARGET_IPHONE_SIMULATOR
NSString* deviceToken = [[[[[devToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""] retain];
NSLog(@"deviceToken : %@",deviceToken);
NSUserDefaults *standardDefaults = [NSUserDefaults standardUserDefaults];
if((![[standardDefaults valueForKey:@"DeviceToken"] isEqualToString:deviceToken]) || [standardDefaults valueForKey:@"DeviceToken"]==nil){
[self sendProviderDeviceToken:deviceToken];
}else{
//Do Some Stuff Here
}
}
14
我敢肯定有人會需要一個堅實的,簡單的答案,這(就像我曾經做過) - 所以在這裏你去。調用[[UIApplication sharedApplication] registerForRemoteNotifications];
後直接就可以使用NSNotificationCenter
漂亮,像這樣:
[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidBecomeActiveNotification
object:nil
queue:[NSOperationQueue mainQueue]
usingBlock:^(NSNotification * _Nonnull note) {
if ([[UIApplication sharedApplication] isRegisteredForRemoteNotifications]) {
//user tapped "Allow"
}
else{
//user tapped "Don't Allow"
}
}];
注:我的設備正在運行iOS 9.2,我的Xcode是7.2版本,我的部署目標爲8.0。
相關問題
- 1. 提醒允許或不允許Apple應用程序中的推送通知
- 2. 如何知道用戶在推送通知中點擊「不允許」
- 3. 蘋果公司允許的推送通知的最大允許數量
- 4. 蘋果推送通知證書到期提醒
- 5. 測試蘋果推送通知服務
- 6. C#asp.net - 推送通知(如果有新消息,提醒用戶)
- 7. 蘋果推送通知服務 - 許多通知要發送
- 8. 蘋果推送通知
- 9. 蘋果推送通知
- 10. 使用iPhone的蘋果推送通知
- 11. 手機中的蘋果推送通知
- 12. 如何用普通的php發送蘋果mdm推送通知?
- 13. 如何確定用戶是否禁用推送通知的通知中心?
- 14. 如何知道應用用戶是否點擊推送通知ios?
- 15. 蘋果推送通知不生產
- 16. 蘋果推送通知不再到達
- 17. 蘋果推送通知不可思議
- 18. 檢測用戶對「允許推送通知」對話框的響應
- 19. 如何檢測用戶是否點擊提醒來打開應用程序?
- 20. APNS尖銳的蘋果推送通知
- 21. parse.com上的蘋果推送通知
- 22. 蘋果推送通知未被髮送
- 23. SVN是否允許提交和推送?
- 24. 蘋果推送通知服務費用
- 25. Xcode UITest推送通知警報無法點擊「允許」
- 26. 將通知更新推送到現有應用程序:是否要求用戶允許或不允許?
- 27. Azure蘋果推通知認證
- 28. 蘋果推送通知服務是否過期?
- 29. 蘋果推送通知不能發送推在AWS EC2
- 30. 廣播蘋果推送通知
你訪問什麼樣的服務? –
推/遠程通知。 – sanjana