55

iOS 10 では、プッシュ通知フレームワークの更新が導入されました。

UserNotificationsUI.framework

Apple ドキュメントに書かれているように、ユーザーのデバイスに表示されるローカルおよびリモート通知の外観をカスタマイズできます。

したがって、ロック画面でプッシュ通知に画像を表示する方法を誰かが知っている場合。アンドリッドのプッシュ通知と同じです。

ありがとう、

4

4 に答える 4

86

ローカル通知とリモート通知の外観をカスタマイズする場合は、次の手順を実行します。

  1. を作成してカテゴリUNNotificationCategoryに追加します。UNUserNotificationCenter

    let newCategory = UNNotificationCategory(identifier: "newCategory",
                                             actions: [ action ],
                                             minimalActions: [ action ],
                                             intentIdentifiers: [],
                                             options: [])
    
    let center = UNUserNotificationCenter.current()
    
    center.setNotificationCategories([newCategory])
    
  2. UNNotificationContentExtension を作成します。

ここに画像の説明を入力

次に、コードまたはストーリーボードを使用して をカスタマイズしますUIViewController

  1. UNNotificationContentExtensionの plistにカテゴリを追加します。

ここに画像の説明を入力

4.プッシュ通知

ローカル通知

を作成し、のカテゴリとplistを含む「newCategory」にUNMutableNotificationContent設定します。categoryIdentifierUNUserNotificationCenterUNNotificationContentExtension

let content = UNMutableNotificationContent()
content.title = ...
content.body = ...
content.categoryIdentifier = "newCategory"

let request = UNNotificationRequest.init(identifier: "newNotificationRequest", content: content, trigger: nil)

let center = UNUserNotificationCenter.current()
center.add(request)

リモート通知

と を設定"mutable-content : 1""category : newCategory"ます。カテゴリ値が「newCategory」に設定されていることに注意してください。これは、以前に追加したリストと一致しUNUserNotificationCenterますUNNotificationContentExtension

例:

 {
    "aps" : {
        "alert" : {
        "title" : "title",
        "body" : "Your message Here"
        },
        "mutable-content" : "1",
        "category" : "newCategory"
    },
    "otherCustomURL" : "http://www.xxx.jpg"
 }
  1. 注: 3DTouch をサポートするデバイスまたはシミュレーターが必要です。そうしないと、カスタム ViewController を表示できませんUNNotificationContentExtension。(iOS10 Beta1 では動作しません。しかし、今は 3D タッチなしで動作します)</li>

そして...ロック画面に表示されるプッシュ通知に画像を表示したいだけなら、以下を追加する必要があります UNNotificationAttachment:

let content = UNMutableNotificationContent()
content.title = ...
content.body = ...
content.categoryIdentifier = "newCategory"

let fileURL: URL = ... //  your disk file url, support image, audio, movie

let attachement = try? UNNotificationAttachment(identifier: "attachment", url: fileURL, options: nil)
content.attachments = [attachement!]

let request = UNNotificationRequest.init(identifier: "newNotificationRequest", content: content, trigger: nil)

let center = UNUserNotificationCenter.current()
center.add(request)

ここに画像の説明を入力

詳細な機能については、デモ

于 2016-06-28T03:30:08.140 に答える
-1

UNNotificationContentExtension に準拠する UIViewController を使用して、通知のカスタム ビューを実装します。

https://developer.apple.com/reference/usernotificationsui/unnotificationcontentextensionを参照してください

于 2016-06-15T15:43:27.797 に答える