2013-10-04 3 views
6

Ich habe Posts hier gelesen, was darauf hindeutet, dass die einzige Möglichkeit, PUSH-Benachrichtigungen als eine Warnung anstelle eines Banners anzuzeigen, für den einzelnen Endbenutzer ist, den Alert Style im Notifications Abschnitt der App Settings zu ändern. Was mich verwirrt ist, dass es Apps gibt, die standardmäßig auf Alerts style setzen, ohne dies tun zu müssen.iOS PUSH Benachrichtigungstyp Optionen? Warnung gegen Banner?

Gibt es eine Möglichkeit, beim ersten Start den Stil Alerts programmatisch durch einen Dialog festzulegen? Es macht mir nichts aus, den Benutzer zu bitten, dies in einem Dialog zu bestätigen. Ich weiß nur, da andere Anwendungen manuell den Anwender nicht erforderlich, um in den Einstellungen zu gehen, um den Alarm Stil zu ändern, hat es eine andere Methode, dies zu tun sein ...

ich habe folgendes -

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

Können Sie ein Beispiel für solche Apps geben, damit wir uns das ansehen können? – Andrew

+0

CSR Racing für sicher ... – user1145643

+0

http://img534.imageshack.us/img534/1803/ra0k.png Dies ist die Standard-Benachrichtigungseinstellungen, die ich bei der Installation erhalten habe. Wie auch immer - ich denke nicht, dass es möglich ist, diese festzulegen. – Andrew

Antwort

7

Ihre App hat nur die Berechtigung, nach Benachrichtigungseinstellungen zu suchen. Sie können Benachrichtigungstypen für einen Benutzer nie festlegen oder ändern.

Wenn Sie Meldungsarten die Optionen abfragen sind als

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

All folgt können Sie die Abfrage der Druckeinstellungen herauszufinden, ob oder nicht der Benutzer Benachrichtigung aktiviert, aber nicht, wie sie angezeigt werden (Banner vs Alarm).

2

Nein, das ist nicht möglich, Sie können es nicht tun.

können Sie diese Zeile verwenden, um die aktuellen Einstellungen für die Benachrichtigung Stil abfragen:

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

Sie die enabledTypes überprüfen und dann den Benutzer anweisen, die Benachrichtigung Stil in den Einstellungen zu ändern.

+0

Sie können nicht nach Alertstil suchen. Nur wenn sie Warnungen für jeden Stil zulassen. Sie können also einen Benutzer nicht auffordern, den Warnmeldungsstil basierend auf den aktivierten Typen zu ändern. –