从 Cordova 应用程序更新 Azure 移动服务中的标记
Update tags in Azure Mobile Services from Cordova App
我正在使用 cordova 框架在 iOS 和 Android 上开发 运行 的应用程序。底层系统向用户公开了一个特定的功能,即订阅和取消订阅大约 20 个类别的列表。每次用户执行 subscription/unsubscription 时,都需要更新 Azure 注册。
目前我正在通过重新注册来做到这一点,但我想知道是否有一种方法可以只更新标签而不是完全重新注册。
出于某种原因,我当前的重新注册方法无法正常工作:更改某些类别并重新注册时:假设我订阅了 cat1、cat2、cat3,现在我订阅了 cat1、cat4、cat5 ,在某些情况下,我仍然会收到 cat2 和 cat3 的通知。
我没有迷失在试图弄清楚发生上述情况的原因中,而是试图退后一步,找到一种不需要重新注册但需要 'tag'更新:也许使用 'right' 方法也能解决问题。
这是我目前的注册方式:
if (platform == 'android' || platform == 'Android') {
// Template registration.
var template = '{ "data" : {"message":"$(message)"}}';
// Register for notifications.
mobileServiceClient.push.gcm.registerTemplate(handle,
'myTemplate', template, categoryarray)
.done(registrationSuccess, registrationFailure);
} else if (device.platform === 'iOS') {
// Template registration.
var template = '{"aps": {"alert": "$(message)"}}';
// Register for notifications.
mobileServiceClient.push.apns.registerTemplate(handle,
'myTemplate', template, categoryarray)
.done(registrationSuccess, registrationFailure);
}
在注册下,该过程执行更新或创建操作,该操作仅对标签进行更新。您可以拥有一个涵盖所有平台的单一模板。因此,重新注册是 "right thing" 要做的事情。
我正在使用 cordova 框架在 iOS 和 Android 上开发 运行 的应用程序。底层系统向用户公开了一个特定的功能,即订阅和取消订阅大约 20 个类别的列表。每次用户执行 subscription/unsubscription 时,都需要更新 Azure 注册。
目前我正在通过重新注册来做到这一点,但我想知道是否有一种方法可以只更新标签而不是完全重新注册。
出于某种原因,我当前的重新注册方法无法正常工作:更改某些类别并重新注册时:假设我订阅了 cat1、cat2、cat3,现在我订阅了 cat1、cat4、cat5 ,在某些情况下,我仍然会收到 cat2 和 cat3 的通知。
我没有迷失在试图弄清楚发生上述情况的原因中,而是试图退后一步,找到一种不需要重新注册但需要 'tag'更新:也许使用 'right' 方法也能解决问题。
这是我目前的注册方式:
if (platform == 'android' || platform == 'Android') {
// Template registration.
var template = '{ "data" : {"message":"$(message)"}}';
// Register for notifications.
mobileServiceClient.push.gcm.registerTemplate(handle,
'myTemplate', template, categoryarray)
.done(registrationSuccess, registrationFailure);
} else if (device.platform === 'iOS') {
// Template registration.
var template = '{"aps": {"alert": "$(message)"}}';
// Register for notifications.
mobileServiceClient.push.apns.registerTemplate(handle,
'myTemplate', template, categoryarray)
.done(registrationSuccess, registrationFailure);
}
在注册下,该过程执行更新或创建操作,该操作仅对标签进行更新。您可以拥有一个涵盖所有平台的单一模板。因此,重新注册是 "right thing" 要做的事情。