gpt4 book ai didi

azure - Android 设备未从 Azure 通知中心收到通知消息

转载 作者:行者123 更新时间:2023-12-05 07:58:38 25 4
gpt4 key购买 nike

我正在使用 Microsoft azure 通知中心在 Android 中进行推送通知。我可以通过nodejs服务器代码发送通知。设备从 Nodejs 服务器获取通知。

问题:-但是当我使用通知中心时,即使通知中心返回成功代码,通知也永远不会到达设备。

我遵循的通知中心程序。

步骤-1:- 将 gcmTokenId 注册到我第一次注册时从设备获得的通知中心。

notificationHubService.gcm.createNativeRegistration(gcmToken, tags, function(error){    
if(error)
{
res.type('application/json'); // set content-type
res.send(error); // send text response
}
else
{
res.type('application/json'); // set content-type
res.send('Registered Successfully!'); // send text response
}
});

以下是注册详细信息:-

{
ETag: "1"
ExpirationTime: "2014-09-08T06:33:55.906Z"
RegistrationId: "286469132885875691584-1648906343295271447-3"
Tags: "raj"
GcmRegistrationId: "APA91bF6E2U4*********"
_: {
ContentRootElement: "GcmRegistrationDescription"
id: "id"
title: "2864691328694691584-1648906343295271447-3"
published: "2014-06-10T07:04:30Z"
updated: "2014-06-10T07:04:30Z"
link: ""
}-
}

步骤-2:- 使用以下函数将通知发送到集线器。

notificationHubService.gcm.send(
null,
{
data: { message: 'Here is a message' }
},
function (error,response) {
if (!error) {
//message send successfully
res.type('application/json'); // set content-type
res.send(response);
}
});

以下是我从通知中心收到的响应代码。

{
isSuccessful: true
statusCode: 201
body: ""
headers: {
transfer-encoding: "chunked"
content-type: "application/xml; charset=utf-8"
server: "Microsoft-HTTPAPI/2.0"
date: "Tue, 10 Jun 2014 07:07:32 GMT"
}-
}

我在通知中心所做的设置:

  1. 我在“Google 云消息设置”中添加了 Google API key 。

请指导我解决这个问题。

最佳答案

您在注册时似乎提供了“raj”作为标签。

{
ETag: "1"
ExpirationTime: "2014-09-08T06:33:55.906Z"
RegistrationId: "286469132885875691584-1648906343295271447-3"
Tags: "raj" <<== HERE
GcmRegistrationId: "APA91bF6E2U4*********"
_: {
ContentRootElement: "GcmRegistrationDescription"
id: "id"
title: "2864691328694691584-1648906343295271447-3"
published: "2014-06-10T07:04:30Z"
updated: "2014-06-10T07:04:30Z"
link: ""
}-
}

标签就像一个订阅主题——它是一个过滤器。

您似乎正在使用 Node.js NotificationHubService。

引用http://dl.windowsazure.com/nodedocs/GcmService.html 。第一个参数是 tags,但在您的代码中,您提供了 null:

notificationHubService.gcm.send(
null, // <-- HERE
{
data: { message: 'Here is a message' }
},

由于 null 与标签“raj”不匹配,因此通知中心不会将此消息传送到注册为仅监听具有标签“raj”的消息的任何设备。

您应该在 send() 方法调用中将标记设置为“raj”,或者从对 createNativeRegistration() 方法的调用中删除该标记。

关于azure - Android 设备未从 Azure 通知中心收到通知消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24134946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com