来自 FCM 的丰富通知不会调用 iOS 通知扩展(未加载附加图像)
Rich notification from FCM does not invoke iOS notification extension (attached image not loading)
我一直在尝试将推送通知中的图像发送到 iOS 设备。我的推送通知可以正常发送,但是图片显示不出来。
到目前为止我已经尝试过:
- 按照 FlutterFire 指南允许通知图像创建服务扩展(
com.companyname.productname.NotificationExtension
)
- 为
com.companyname.productname.NotificationExtension
创建配置文件并下载到我的 Mac
- 将应用程序和扩展程序的目标都设置为 12.3
我可以:
- 在我的 iPhone
上构建应用程序
- 使用 Firebase HTTP 端点或 Firebase 控制台向它发送通知
- 在我的 iPhone
上查看这些通知
我不能:
- 查看每个通知所附的图片
我的 HTTP 请求如下所示:
curl --request POST \
--url https://fcm.googleapis.com/v1/projects/${project_name}/messages:send \
--header 'Authorization: Bearer ${access token}' \
--header 'Content-Type: application/json' \
--data '{
"message":{
"token":"token",
"notification":{
"title":"test notification title",
"body":"test notification body",
"image":"https://image_url"
},
"apns":{
"payload":{
"aps":{
"mutable-content":1
}
},
"fcm_options":{
"image":"https://image_url"
}
},
"data":{
"some_arbitrary_data":"some_arbitrary_data"
}
}
}'
我可能在这里遗漏了什么?
[更新] 问题似乎是我的通知扩展根本没有被调用。
原来是因为我们的Podfile中的自定义配置。
从我们的 Podfile 中删除了以下行,现在它可以工作了。
target 'Runner' do
use_modular_headers!
pod 'Firebase/Core' # Remove this line
pod 'Firebase/Crashlytics'
pod 'Firebase/Analytics'
pod 'Firebase/Messaging' # Remove this line
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
我一直在尝试将推送通知中的图像发送到 iOS 设备。我的推送通知可以正常发送,但是图片显示不出来。
到目前为止我已经尝试过:
- 按照 FlutterFire 指南允许通知图像创建服务扩展(
com.companyname.productname.NotificationExtension
) - 为
com.companyname.productname.NotificationExtension
创建配置文件并下载到我的 Mac - 将应用程序和扩展程序的目标都设置为 12.3
我可以:
- 在我的 iPhone 上构建应用程序
- 使用 Firebase HTTP 端点或 Firebase 控制台向它发送通知
- 在我的 iPhone 上查看这些通知
我不能:
- 查看每个通知所附的图片
我的 HTTP 请求如下所示:
curl --request POST \
--url https://fcm.googleapis.com/v1/projects/${project_name}/messages:send \
--header 'Authorization: Bearer ${access token}' \
--header 'Content-Type: application/json' \
--data '{
"message":{
"token":"token",
"notification":{
"title":"test notification title",
"body":"test notification body",
"image":"https://image_url"
},
"apns":{
"payload":{
"aps":{
"mutable-content":1
}
},
"fcm_options":{
"image":"https://image_url"
}
},
"data":{
"some_arbitrary_data":"some_arbitrary_data"
}
}
}'
我可能在这里遗漏了什么?
[更新] 问题似乎是我的通知扩展根本没有被调用。
原来是因为我们的Podfile中的自定义配置。
从我们的 Podfile 中删除了以下行,现在它可以工作了。
target 'Runner' do
use_modular_headers!
pod 'Firebase/Core' # Remove this line
pod 'Firebase/Crashlytics'
pod 'Firebase/Analytics'
pod 'Firebase/Messaging' # Remove this line
flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end