[英]How to format FCM json for background notifications iOS
我正在努力寻找参考资料,讨论如何准确地构建我的消息.json
以用于 FCM 中的背景通知。 我尝试了各种配置,但现在我有这个:
const message = {
notification: {
title: "Title",
},
apns: {
payload: {
aps: {
'contentAvailable': 1
}
},
},
token: registrationToken,
};
我希望这条消息显示为通知——即让用户看到它——但我也想触发:
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
}
因此,如果应用程序处于后台模式,我可以执行数据更新。 我可以看到这个通知,但是当通知到达时没有触发 function - 所以不可能刷新数据。 如何格式化我的 FCM .json
以启用此功能?
首先,根据苹果文档,您正在使用的关键contentAvailable
实际上应该是content-available
,因此如果不修复此问题,则无论如何都不会触发application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
function 。
现在,FCM 有一个示例,说明.json
文件的外观,因此对于您的数据,它应该是这样的:
const message = {
"aps" : {
"alert" : {
"title" : "Title"
},
"badge" : 1,
"content-available": 1
},
"token" : registrationToken
}
现在我猜你想要更多地自定义通知(例如添加正文、副标题等),所以你可以在文章生成远程通知中找到以表格组织的完整键列表。
你有有效载荷和标题,有效载荷应该包含 content_available = 1(不是 contentAvailable,除了你很好)并且标题应该有“apns-push-type”=“background”和“apns-priority”=“5”
public class ApnsConfig {
@Key("headers")
private final Map<String, String> headers;
@Key("payload")
private final Map<String, Object> payload;
@Key("fcm_options")
private final ApnsFcmOptions fcmOptions;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.