- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 azure-mobile-apps-node 通过 GCM 注册和发送推送通知。我使用 Push.patchInstallation 注册通知客户端,如下所示:
var updateOperation = [{
'op': 'replace',
'Path': '/tags',
'Value': tags.join()
}];
push.patchInstallation(installationId, updateOperation, function (error, res) { /*...*/ };
它运行良好,查看通知中心注册,我明白
<GcmRegistrationDescription xmlns="http://schemas.microsoft.com/netservices/2010/10/servicebus/connect" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ETag>13</ETag>
<ExpirationTime>9999-12-31T23:59:59.9999999Z</ExpirationTime>
<RegistrationId>1234568266548022282-123456473823493176-1</RegistrationId>
<Tags>$InstallationId:{SOME_GUID},location_1,location_2,location_3,userId:myaccount@domain.com</Tags>
<GcmRegistrationId>SOME_ID</GcmRegistrationId>
</GcmRegistrationDescription>
但是,如果我尝试使用标签“location_N”推送通知,它永远不会起作用。还尝试过注册到特定 location_N 的多个设备,但没有一个设备获得推送更新。
我确定这是由于 azureMobile 应用 patchInstallation 作为第一个标签注入(inject)的 $InstallationId:{SOME_GUID} 造成的。
这只是使用安装方法时的限制,还是一个错误,或者我完全误解了什么?
编辑 2017 年 10 月 19 日:我修改了代码以使用注册模型,即
notificationHubService.gcm.createOrUpdateNativeRegistration(registrationId, installation.pushChannel, tags.join(), function(error, res) { /*...*/ }
它不会将 $InstallationId 注入(inject)标签,而是创建两个具有相同 GcmRegistrationId 的注册,但具有不同的标签,其中一个具有 $InstallationId
<RegistrationId>REGID1</RegistrationId>
<Tags>$InstallationId:{SOMEGUID},_UserId:sid:SOMESID</Tags>
<GcmRegistrationId>GCMREGID</GcmRegistrationId>
另一个只包含我在createOrUpdateNativeRegistration
中定义的标签<RegistrationId>REGID2</RegistrationId>
<Tags>location_1,location_2,location_3</Tags>
<GcmRegistrationId>GCMREGID</GcmRegistrationId>
这样,我就可以使用 location_N 标签将推送消息发送到我的测试设备(也可以使用 $InstallationId 发送到特定设备),因此这两个注册都有效。我不知道为什么它会创建两个注册,因为我在任何时候都没有对 notificationHubService.createRegistrationId 进行任何调用,只是对 createOrUpdateNativeRegistration 进行了一次调用。
最佳答案
这是一个有效的场景。您应该能够使用 location_N 标签推送通知。您能否尝试在 Portal.azure.com 中进行“测试发送”来验证是否已选择设备进行推送通知?
关于javascript - $InstallationId 标记的通知中心推送问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46787973/
我正在使用 azure-mobile-apps-node 通过 GCM 注册和发送推送通知。我使用 Push.patchInstallation 注册通知客户端,如下所示: var updateOpe
当我的 Parse 应用程序的用户登录或注册时,将在数据库中创建一个新的 User 对象,其中包含 username、password和 email 属性,等等。我想要做的是将 User 对象的 in
我正在运行来自 Parse.com 的最新 iOS Objective C SDK,版本 1.4.2使用以下回溯,我在全新安装时经常崩溃。它发生在模拟器、我的调试设备和我的应用程序的发布/生产版本中。
向单个设备发送推送时,识别该设备的首选方式是什么? deviceToken ParseInstallation.getCurrentInstallation().get("deviceToken");
这很简单,当您第一次在手机上使用 parse 时,它就像一个魅力。当您重新安装您的应用程序时,它会搞砸一切。 如 stackoverflow 所述通过 Eran : “PushService.su
我在我们的应用程序中使用推送通知解析,但在设备注册时出现一些问题,错误如下所示。还有一个问题,当我们向设备发送推送通知时,设备会收到多个通知。尽管我们也已将解析库升级到 Parse 1.4.1。请帮助
我是一名优秀的程序员,十分优秀!