2013-10-04 4 views
6

Я читал здесь сообщения, предлагая, чтобы единственный способ сделать уведомления PUSH в качестве предупреждения вместо баннера - для отдельного конечного пользователя, чтобы изменить Alert Style в разделе Notifications приложения Settings. Меня озадачивает то, что там есть приложения, которые по умолчанию имеют формат Alerts, не делая этого.Опции типа уведомлений iOS PUSH? Предупреждение против баннера?

Есть ли способ программно установить стиль Alerts через диалог при первом запуске? Я не возражаю просить пользователя подтвердить в диалоговом окне. Я просто знаю, так как другие приложения не требуют, чтобы пользователь вручную перейти в настройки, чтобы изменить стиль оповещения, должен быть другой способ сделать это ...

У меня следующий -

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)]; 
    return YES; 
} 
+0

Не могли бы вы привести пример таких приложений, чтобы мы могли посмотреть на это? – Andrew

+0

CSR Racing наверняка ... – user1145643

+0

http://img534.imageshack.us/img534/1803/ra0k.png Это настройки уведомлений по умолчанию, которые я получил, когда я его установил. Во всяком случае - я не думаю, что это можно установить. – Andrew

ответ

7

Ваше приложение имеет право проверять настройки уведомлений, вы никогда не сможете устанавливать или изменять типы уведомлений для пользователя.

При запросе типы уведомлений параметры являются

typedef NS_OPTIONS(NSUInteger, UIRemoteNotificationType) { 
    UIRemoteNotificationTypeNone = 0, 
    UIRemoteNotificationTypeBadge = 1 << 0, 
    UIRemoteNotificationTypeSound = 1 << 1, 
    UIRemoteNotificationTypeAlert = 1 << 2, 
    UIRemoteNotificationTypeNewsstandContentAvailability = 1 << 3, 
} 

Все вы можете узнать из запроса параметров толчка кастрированный баран или не пользователь включил оповещения, но не так, как они отображаются (баннер против оповещения).

2

Нет, это невозможно, вы не можете этого сделать.

Вы можете использовать эту линию, чтобы запросить текущие настройки стиля уведомлений:

UIRemoteNotificationType* enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 

Вы можете проверить enabledTypes, а затем поручить пользователю изменить стиль уведомлений в настройках.

+0

Вы не можете проверить стиль оповещения. Просто, если они позволяют оповещения о любом стиле. Таким образом, вы не можете приглашать пользователя изменить стиль оповещения на основе разрешенных типов. –

Смежные вопросы