2016-01-20 75 views
0

我在我的應用程序中使用推送通知,並且按照預期,用戶會看到一個對話框,詢問在應用程序啓動時是否允許推送通知。我的應用程序的邏輯取決於接收推送通知,如果用戶不允許錯誤推送通知或不知道應用程序如何工作,該應用程序將無法正常工作。即使用戶不允許,是否可以通過編程方式在應用中允許推送通知?謝謝!您是否可以通過編程方式在應用程序中允許推送通知?

回答

1

可惜你不能做到像this.Before的iOS 8可以檢測

UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 

或之後的iOS 8 APNS狀態使用:

UIRemoteNotificationType enableType = [[UIApplication sharedApplication] currentUserNotificationSettings]; 

或斯威夫特:

let remoteState = UIApplication.sharedApplication().currentUserNotificationSettings() 

您可以提示用戶是否關閉APNS或啓動應用程序,例如:您關閉了APNS,您將失去一些導入NT message.Please進入設置 - >通知 - >應用,使APNS

,或者你可以iOS8上後跳轉到應用頁面:

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) { 
    BOOL canOpenSettings = (&UIApplicationOpenSettingsURLString != NULL); 
     if (canOpenSettings) { 
      NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; 
      [[UIApplication sharedApplication] openURL:url]; 
      }} 
3

不。如果用戶說你不能發送推送通知,你不能發送推送通知。應用程序不會忽略用戶在那裏的選擇。

但是,如果您發送的是無聲推送通知 - 那些發送到您的應用但未顯示給用戶的推送通知 - 您無需獲得許可。如果這符合你的需求,那麼很好,但你不會在沒有許可的情況下用戶可見的推送。

+0

我也有沉默不屬於通知和個。這是我所關心的那種沉默的。在我的情況下,用戶不允許通知,應用程序也沒有收到靜默通知。有沒有辦法區分這兩者,並讓靜默通知發送到應用程序,即使用戶拒絕大概是可見的通知?謝謝! – user2732722

相關問題