iOS模拟器测试Firebase通知的.apns文件data字段配置方案
针对React Native + Firebase Messaging的iOS模拟器APNs文件编写方案
正确的APNs文件结构示例
Firebase Messaging for iOS会自动识别APNs payload中与aps平级的所有自定义根字段,将其映射为通知的data参数,你可以直接使用如下结构编写.apns文件:
{ "Simulator Target Bundle": "替换为你的应用Bundle ID", "aps": { "alert": { "title": "Firebase推送测试标题", "body": "Firebase推送测试内容" }, "badge": 1, "mutable-content": 1, "sound": "default" }, "orderId": "10086", "jumpPath": "/pages/goods/detail", "customParam": "自定义测试值" }
核心注意事项
- 所有需要传递的自定义数据必须放在和
aps同级的根节点下,不能写入aps内部,Firebase不会解析aps字段内的自定义内容 - 必须保留
"mutable-content": 1配置,否则Firebase的部分推送监听回调、初始通知获取接口可能无法正常触发 - 确保
Simulator Target Bundle的取值与你应用的Bundle ID完全一致,否则推送无法被应用捕获
测试验证步骤
- 启动iOS模拟器,安装好待测试的RN应用后,将应用完全杀掉退出后台
- 终端执行推送命令:
xcrun simctl push booted ./test-notification.apns(使用booted参数会自动识别当前处于运行状态的模拟器,无需手动填写设备ID/名称) - 点击弹出的通知横幅打开应用,此时调用
messaging().getInitialNotification()即可完整获取到通知内容和你定义的所有data参数
如果应用处于前台运行状态,使用messaging().onMessage()监听也能获取到相同的完整推送 payload。
内容的提问来源于stack exchange,提问作者Wing Choy
相关产品推荐
相关产品推荐

