Ich bin auf der Suche nach Möglichkeiten zur Implementierung von stillen lokalen Push-Benachrichtigungen. Ich möchte eine unbeaufsichtigte Benachrichtigung an den Benutzer senden, wenn sich dieser Benutzer außerhalb des zulässigen Bereichs befindet.iOS Silent lokale Push-Benachrichtigungen Ziel c?
Antwort
Gelöst. Beim Erstellen der lokalen Benachrichtigung sollten Sie keine folgenden Werte festlegen.
notification.alertBody = message;
notification.alertAction = @"Show";
notification.category = @"ACTION";
notification.soundName = UILocalNotificationDefaultSoundName;
Gerade Kiste lokale Benachrichtigung wie folgt aus:
UILocalNotification *notification = [[UILocalNotification alloc] init];
notification.fireDate = [NSDate date];
NSTimeZone* timezone = [NSTimeZone defaultTimeZone];
notification.timeZone = timezone;
notification.applicationIconBadgeNumber = 4;
[[UIApplication sharedApplication]scheduleLocalNotification:notification];
Dies wird lokale Benachrichtigung senden und wird nur angezeigt, IconBadgeNumber als 4. Es wird keine Benachrichtigung in Notification Center angezeigt, wenn App im Hintergrund ist.
Aktualisiert für iOS10 (UNUserNotificationCenter)
In AppDelegate
@import UserNotifications;
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
UNAuthorizationOptions options = UNAuthorizationOptionAlert + UNAuthorizationOptionSound + UNAuthorizationOptionBadge;
[center requestAuthorizationWithOptions:options
completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (!granted) {
NSLog(@"Something went wrong");
}
}];
In Viewcontroller
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
UNMutableNotificationContent *content = [UNMutableNotificationContent new];
//content.title = @"Don't forget";
//content.body = @"Buy some milk";
//content.sound = [UNNotificationSound defaultSound];
content.badge = [NSNumber numberWithInt:4];
UNTimeIntervalNotificationTrigger *trigger = [UNTimeIntervalNotificationTrigger triggerWithTimeInterval:15 repeats:NO];
NSString *identifier = @"UniqueId";
UNNotificationRequest *request = [UNNotificationRequest requestWithIdentifier:identifier
content:content trigger:trigger];
[center addNotificationRequest:request withCompletionHandler:^(NSError * _Nullable error) {
if (error != nil) {
NSLog(@"Something went wrong: %@",error);
}
}];
Dies wird
als 4. eine stille Meldung nach 15 Sekunden mit Abzeichen Zählung sendenHallo @Ruturaj Desai: Danke, es funktioniert, aber ich brauche ähnliche für iOS 10 mit UNUserNotificationCenter. irgendeine Idee bitte. – Ammaiappan
Hi @Ammaiappan, ich habe gerade meine Antwort für iOS 10 (UNUserNotificationCenter) aktualisiert. Dies könnte Ihnen helfen. Glückliche Kodierung. –
Hallo @Ruturaj Desai, habe ich versucht, und es funktioniert perfekt, wenn App im Vordergrund ist, aber im Hintergrund funktioniert es nicht. Irgendwelche Arbeit für Hintergrund? –
Es gibt keine Einrichtung zu se nd eine stille lokale Benachrichtigung. – Paulw11
Wenn du still sagst, was meinst du? Willst du Ton vermeiden? Bitte erläutern Sie dies weiter, diese Frage ist zu weit gefasst. – dokun1
@ dokun1 Ich versuche Sendebenachrichtigung, die im Hintergrund wie Remote-Silent-Benachrichtigungen funktioniert. Der Benutzer sieht diese Benachrichtigungen nicht im Benachrichtigungscenter. –