Rich-Push-Benachrichtigungen empfangen

Sie können Bilddateien an Ihre Apple-Benachrichtigungen anhängen. Das Hinzufügen visueller Komponenten kann die Interaktion Ihrer Benutzer mit Push-Benachrichtigungen deutlich erhöhen.

So erhalten Sie Rich-Push-Benachrichtigungen in Ihrer iOS-App

  1. Implementieren Sie die Push-Benachrichtigung für die App, indem Sie die Schritte in Push-Benachrichtigung.

  2. Vergewissern Sie sich, dass Sie eine Text-Push-Nachricht an Ihre App senden können.

  3. hinzufügen Sie eine Benachrichtigungsdiensterweiterung, indem Sie die folgenden Schritte ausführen:

    1. Wählen Sie im Xcode-Projekt Datei > Neu > Zielgruppe.
    2. Wählen Sie Benachrichtigungsdiensterweiterung aus.
    3. Überprüfen Sie, ob die Datei NotificationService.m vorhanden ist.
  4. Öffnen Sie die Datei NotificationService.m und überprüfen Sie, ob die folgenden Delegierungsmethoden vorhanden sind:

    • Eine Methode zum Empfangen einer Benachrichtigungsanfrage.

    • Eine Methode zur Behandlung des Ablaufs der Diensterweiterung.

      Für den Empfang von Rich-Push-Benachrichtigungen wird die erste Methode verwendet:

      (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent *contentToDeliver))contentHandler;
      

      Mithilfe dieser Methode können Sie die Medien-URL von userInfo mithilfe des Schlüssels attachment-url abrufen. Nachdem Sie die Datei in ein lokales Verzeichnis heruntergeladen haben, fügen Sie den lokalen Pfad zu bestAttemptContent.attachments hinzu.

      Hier finden Sie einen Beispielcode in dieser Methode:

      - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
      self.contentHandler = contentHandler;
      self.bestAttemptContent = [request.content mutableCopy];
         NSDictionary* userInfo = request.content.userInfo;
      if(userInfo[@"attachment-url"]){
         NSURL* url = [[NSURL alloc] initWithString:userInfo[@"attachment-url"]];
         NSURLSessionDownloadTask* task = [[NSURLSession sharedSession] downloadTaskWithURL:url completionHandler:^(NSURL * _Nullable location, NSURLResponse * _Nullable response, NSError * _Nullable error) {
             if(!location){
                 return;
             }
             NSString* tmpDirectory = NSTemporaryDirectory();
             NSString* tmpFilePath = [NSString stringWithFormat:@"file://%@%d%d%@", tmpDirectory, arc4random_uniform(100000),
                                    arc4random_uniform(100000), [url lastPathComponent]];
             NSURL* tmpUrl = [[NSURL alloc] initWithString:tmpFilePath];
             NSError * fileError = nil;
             [[NSFileManager defaultManager] moveItemAtURL:location toURL:tmpUrl error:&fileError];
             if(fileError){
                 return;
             }
             UNNotificationAttachment* attachment = [UNNotificationAttachment attachmentWithIdentifier:@"video" URL:tmpUrl options:nil error:&fileError];
             if(fileError){
                 return;
             }
             self.bestAttemptContent.attachments = @[attachment];
             self.contentHandler(self.bestAttemptContent);
         }];
         [task resume];
       }
      }
      

For more information about rich push notifications with iOS, see UNNotificationAttachment.

Auf dieser Seite

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now