如何为用户提供丰富的通知服务(包括图片图标)?
Posted
技术标签:
【中文标题】如何为用户提供丰富的通知服务(包括图片图标)?【英文标题】:How to provide Rich NotificationService(including image icon) to user? 【发布时间】:2017-10-03 06:18:12 【问题描述】:最近我在做一个项目,它需要嵌入丰富的通知。所以我从火力基地接受服务。最初我从这些网站尝试过。并且在 youtube 中有一些爱好项目,他们从本地机器发送通知。
https://www.avanderlee.com/ios-10/rich-notifications-ios-10/
UNNotificationAttachment with UIImage or Remote URL
How to implement rich notifications in ios 10 with Firebase
How to send Image with firebase Push Notification using swift 3
但我花了将近 16 个小时。它给了我 0 输出,因为标题,副标题很好地来自 firebase,但没有图像图标的迹象。
请给我建议任何方法或好的视频或其他东西。
【问题讨论】:
您需要创建 NotificationService 扩展。在扩展类中下载附件图片并修改通知内容。 是的,我做到了,我还为此添加了 mutable-content/mutable_content,但没有发展的迹象。 你是在运行你的应用目标还是扩展目标? 我在应用目标中运行 运行扩展目标并在提示列表中选择您的应用。并在扩展类中使用断点来检查它是否正在执行。 【参考方案1】:您的应用目标的 plist 应包含以下行
<key>NSExtensionPointIdentifier</key>
<string>com.apple.usernotifications.service</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).NotificationService</string>
您的扩展程序的 plist 应该如下所示
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>RemotePushExtension</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1.12</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.usernotifications.service</string>
<key>NSExtensionPrincipalClass</key>
<string>NotificationService</string>
</dict>
<key>NSPhotoLibraryUsageDescription</key>
<string>Want to access your photo album to save image</string>
</dict>
</plist>
【讨论】:
您能说一下 NotificationServiceExtension plist 中添加了哪些额外的行吗?以上是关于如何为用户提供丰富的通知服务(包括图片图标)?的主要内容,如果未能解决你的问题,请参考以下文章