从 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" 要做的事情。