是否可以使用pushwoosh发送带有某些参数的自定义推送通知,这些参数保存在设备的本地



我正在Titanium中开发一款在IOS和Android上运行的跨平台应用程序。为了发送我的推送通知,我正在考虑使用Pushwoosh,但我愿意接受建议。

在应用程序上,某些参数保存在本地,这些参数将影响推送通知的内容。现在可以将这些本地保存的参数获取到Pushwoosh中吗?这样我就可以发送自定义通知了,我该怎么做?

是的,它被称为有效负载。

不确定PushWoosh如何处理有效载荷。。。但是你可以使用Parse。

当你收到推送时,你会从中取出自定义有效载荷数据(最大大小为256字节,在iOS8+中为2 Kb的数据),并将其保存到你的应用程序中:

Ti.Network.registerForPushNotifications({
    types: [ Ti.Network.NOTIFICATION_TYPE_BADGE, Ti.Network.NOTIFICATION_TYPE_ALERT, Ti.Network.NOTIFICATION_TYPE_SOUND ],
    success: function(e) { Ti.App.Properties.setString('token', e.deviceToken); subscribePush();},
    error: function (e) { alert("error: " + JSON.stringify(e)); },
    callback: function (e) {
        alert('the push ' + JSON.stringify(e) ); // Works Only on RUN Device
        // Store your Data in the app
        Ti.App.Properties.setObject('myPushedData', e.data)
    }
});

Pushwoosh绝对有可能-您可以通过PW控制面板和API("data"参数)以"key":"value"格式传递任何自定义JSON数据以及推送通知。在得到的推送有效载荷中,该数据作为"u"参数的值被传递。

请参阅Pushwoosh Titanium指南中的代码示例,了解如何从有效载荷访问此额外的自定义数据:

// Process incoming push notifications
    function receivePush(e) {
        alert('Received push: ' + JSON.stringify(e));
        Ti.API.warn("push message received: " + JSON.stringify(e));
            //send stats to Pushwoosh about push opened
            PushWoosh.sendPushStat(e.data.p);
            var pushwoohURL = e['data']['l'];
            var a = Ti.UI.createAlertDialog({
                title : 'New Message',
                message : e.data.alert,
                buttonNames : ['Open', 'Close']
                //message : JSON.stringify(e.data)  //if you want to access additional custom data in the payload
            });
            a.show();
            a.addEventListener('click', function(e) {
               if (e.index == 0) {
                Titanium.Platform.openURL(pushwoohURL);
               }
            });
    }

相关内容

  • 没有找到相关文章

最新更新