Show Menu
ARGOMENTI×

Aggiunta di immagini e video iOS

Questo documento si applica solo ai dispositivi iOS.
In questo documento, scoprite come visualizzare un'immagine da una notifica push iOS Adobe Campaign Standard.

Passaggio 1: Configurare la notifica push

La notifica push è supportata SDK Experience Platform.
Le applicazioni mobili che ricevono notifiche push devono essere configurate da un amministratore nell'interfaccia del Adobe Campaign .
Configurando sia Adobe Campaign che Adobe Mobile Services, potrete utilizzare i dati dell'applicazione mobile per le campagne. For more on this, refer to this page .
Per inviare notifiche push con un'applicazione SDK Experience Cloud , un'app mobile deve essere configurata in Adobe Experience Platform Launch e configurata in Adobe Campaign. For more on this, refer to this page .

Passaggio 2: Personalizzare la notifica push in Adobe Campaign

Per ottimizzare la notifica push, Adobe Campaign consente di accedere a una serie di opzioni avanzate durante la progettazione di una notifica push.
  1. Create una notifica push. For more on this, refer to this page .
  2. Dalla pagina del contenuto della notifica push, accedete alla Advanced options sezione.
  3. Immettete l’URL del file nel Rich media content URL campo. Per iOS 10 o versione successiva, potete inserire file immagine, gif, audio e video.
  4. Visualizzate l'anteprima e salvate la notifica push.

Passaggio 3: Adattamento del codice dell'applicazione Mobile

Dopo aver personalizzato la notifica push in Adobe Campaign, dovete configurare l'applicazione mobile per visualizzare l'immagine sui dispositivi.
Se l'applicazione è in Objective-C, fare riferimento alla seguente documentazione .
Se l’app è in Swiftuso, effettuate le seguenti operazioni:
  1. Apri il tuo Xcode progetto.
  2. Nel Xcode progetto, selezionate File > New > Target .
  3. Selezionare Notification Service Extension .
  4. Verificate che venga creata la classe di file NotificationService.swift .
  5. Modificate questa classe e sostituite il contenuto predefinito con quanto segue. Questo consente all’applicazione di gestire il parametro in entrata con l’URL dell’immagine, analizzarlo, copiarlo localmente e quindi visualizzarlo dalla notifica push.
    import UserNotifications
    
    class NotificationService: UNNotificationServiceExtension {
    
    var contentHandler: ((UNNotificationContent) -> Void)?
    var bestAttemptContent: UNMutableNotificationContent?
    
    override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
        self.contentHandler = contentHandler
        bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent)
    
        if let bestAttemptContent = bestAttemptContent {
            var urlString:String? = nil
            if let urlImageString = request.content.userInfo["media-attachment-url"] as? String {
                urlString = urlImageString
            }
    
            if urlString != nil, let fileUrl = URL(string: urlString!) {
                print("fileUrl: \(fileUrl)")
    
                // Download the attachment
                URLSession.shared.downloadTask(with: fileUrl) { (location, response, error) in
                    if let location = location {
                        // Move temporary file to remove .tmp extension
                        if (error == nil) {
                            let tmpDirectory = NSTemporaryDirectory()
                            let tmpFile = "file://".appending(tmpDirectory).appending(fileUrl.lastPathComponent)
                            let tmpUrl = URL(string: tmpFile)!
                            try! FileManager.default.moveItem(at: location, to: tmpUrl)
    
                            // Add the attachment to the notification content
                            if let attachment = try? UNNotificationAttachment(identifier: fileUrl.lastPathComponent, url: tmpUrl) {
                                bestAttemptContent.attachments = [attachment]
                                }
                        }
                        if(error != nil) {
                            print("Failed to download attachment: \(error.debugDescription)")
                        }
                    }
                    // Serve the notification content
                    contentHandler(bestAttemptContent)
                }.resume()
            }
        }
    }
    
    override func serviceExtensionTimeWillExpire() {
        // Called just before the extension will be terminated by the system.
        // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used.
        if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent {
            contentHandler(bestAttemptContent)
        }
    }
    
    }
    
    
Il cellulare deve ricevere il payload seguente durante l'invio della notifica.
L’URL dell’immagine viene mappato con l’URL del supporto chiave-attachment-url. È la coppia chiave/valore che è necessario gestire dal punto di vista del codice dell'applicazione per scaricare e visualizzare l'immagine.
userInfo: [AnyHashable("media-attachment-url"): https://pbs.twimg.com/profile_images/876737835314950144/zPTs9b7o.jpg, AnyHashable("_dId"): 1de3ef93, AnyHashable("_mId"): h280a5, AnyHashable("aps"): {
 
    alert =     {
 
        body = "Message Body here";
 
        title = "This a push from Campaign";
 
    };
 
    badge = 1;
 
    "mutable-content" = 1;
 
}]

Passaggio 4: Test dell'invio del push

È ora possibile verificare la creazione dell'applicazione e la consegna creata nel passaggio 2 precedente. Per ulteriori informazioni sulla preparazione e l'invio della notifica push, consultate questa pagina .