FCM 添加前缀gcm.notification。对于通知有效负载中的每个键。
以下有效载荷的示例计算:
"to":"cgOtBDOGIEc:APA91bGrjdPtrnGr0sIl4c66Z3Xp-JTzUasIN5TzWy7DtNUf-BlGvF64iNOXFN68zFC6oTYHJbP6eQgzIZICcsmIUG-NP5cIXf8EyPNiIAvOFU27XDKFbI2vowMjsNmZQdmh",
"notification":{
"title":"Testing title from postman!",
"body":"Testing body from postman!",
"sound":"default",
"tickerText":"This is ticker text"
},
"data" : {
"Nick" : "Mario Test",
"body" : "great match!",
"Room" : "PortugalVSDenmark"
}
}
对于上述有效载荷,
总长度 = (通知负载 + 数据负载)的长度
数据有效负载长度 = [键长度 + 值长度] = [尼克 + 正文 + 房间] 的字节长度 + [马里奥测试 + 伟大匹配 + 葡萄牙VS丹麦] 的字节长度 = 12 + 39 = 51
为了计算通知负载,每个键都必须以 gcm.notification 为前缀。
对于通知负载的每个键,firebase 在内部添加 gcm.notification。作为前缀,并计算考虑这个前缀的长度。
Length of Notification Payload = [ no.of keys * length of (gcm.notification.) + length of keys + length of values ]
= 4*17 + length of bytes of [ title + body + sound + tickerText ] + length of bytes of [ Testing title from postman! + Testing body from postman! + default + This is ticker text ]
= 68 + 24 +79
= 171 bytes
Total length of the payload = 51 + 171 = 222 bytes.
希望这能回答你的问题。