我正在为Mozilla Firefox浏览器开发推送通知,当我使用cURL从我的服务器发送推送时,我收到以下错误 - 缺少Crypro-Key。 据我所知,我应该使用以下JS代码获取此密钥:
var key = subscription.getKey('p256dh');
但是我应该怎么做呢?我应该将它发送到我的服务器并以某种方式使用它吗?我试图将它插入到我的$ url参数中,该参数是cURL中的用户:
$url = 'https://updates.push.services.mozilla.com/push/v1/$key.$registrationIDs[0];
来自各地但没有收到推送消息。顺便说一句,当我使用它时,我没有收到任何错误消息,虽然没有收到成功,只是空数组。任何想法都会受到欢迎。谢谢。
UPD_1:看到这个问题LINK我发现对于Firefox,可以使用加密的有效负载发送推送,也可以直接从服务器获取消息,就像在Chrome中完成一样。在Firefox中我现在使用第二个变种而没有和Crypto-Keys,只需在这里设置$ url:
curl_setopt( $ch, CURLOPT_URL, $url );
到
$url = 'https://updates.push.services.mozilla.com/push/v1/'.$yourregid;
这里有和$ headers参数
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
到这个
$headers = array('Content-Type: text/plain;charset=utf8','TTL: 600');
现在有没有人举例说明如何在PHP中使用加密的有效负载向Firefox发送推送?我在这里找到了一个例子LINK但它适用于JS。谢谢