Javascript 在没有服务器的情况下使用Google云消息发送通知
我正在寻找一种从我的pc上使用javascript通过Google云消息发送通知的方法,因此没有中间服务器。正如开发人员网站中指出的,请求的格式应如下所示:Javascript 在没有服务器的情况下使用Google云消息发送通知,javascript,jquery,https,google-cloud-messaging,Javascript,Jquery,Https,Google Cloud Messaging,我正在寻找一种从我的pc上使用javascript通过Google云消息发送通知的方法,因此没有中间服务器。正如开发人员网站中指出的,请求的格式应如下所示: https://gcm-http.googleapis.com/gcm/send Content-Type:application/json Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA { "data": { "score": "5x1", "time": "15:10"
https://gcm-http.googleapis.com/gcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{ "data": {
"score": "5x1",
"time": "15:10"
},
"to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1..."
}
首先,我尝试使用ajax方法:
var textNotification={
"notification": {
"title": "Portugal vs. Denmark",
"text": "5 to 1"
}
};
$.ajax(
{
url : "https://gcm-http.googleapis.com/gcm/send",
type : "POST",
headers :
{
'Authorization' : 'AIzaSyZ-1u...',
'Content-type': 'application/json'
},
data : textNotification
}
).done(function (data)
{
console.log(data);
}
);
如前所述,由于我正试图从我的电脑发送HTTPS请求,因此被阻止。还有别的办法吗 要发送消息,您需要知道应该获取消息的设备的注册ID。设备的应用程序在注册到GCM时获取此ID。应用程序收到此ID后,会将其传递给服务器。因此,当您将PC用作服务器时,您会发现很难从应用程序发送注册ID,除非您在PC上运行本地web服务器。您的Android设备和PC应通过同一网络连接到internet。但您也可以手动复制注册ID并将其粘贴到发送GCM消息的代码中 您需要您的服务器实现一个服务,从您的应用程序接受注册ID,并将其存储在数据库中。HTTP请求只允许下行,您需要使用XMPP来执行上行/下行操作 您可以使用它在手机中测试您的gcm客户端。另请参见示例代码。试试这个
var textNotification={
"notification": {
"title": "Portugal vs. Denmark",
"text": "5 to 1"
},
"to":"[Device Key]"
};
$.ajax(
{
url : "https://gcm-http.googleapis.com/gcm/send",
type : "POST",
headers :
{
'Authorization' : 'key=AIzaSyZ-1u...',
'Content-type': 'application/json'
},
data : textNotification
}
).done(function (data)
{
console.log(data);
}
);
您需要在
Authorization
中传递key=[Your key]
,在Google Chrome扩展中尝试您的代码怎么样?我想向应用程序的所有设备广播消息。所以我想我必须知道所有的设备ID。对吧?对。请参阅: