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

时间:2014-11-07 11:13:50

标签: android ios push-notification titanium pushwoosh

我在Titanium中开发了一个在IOS和Android上运行的跨平台应用程序。要发送我的推送通知我考虑使用Pushwoosh,但我打开了建议。

在应用程序上,某些参数将保存在本地,这将影响推送通知的内容。现在是否可以将这些本地保存的参数传递给Pushwoosh,以便我可以发送自定义通知,我该怎么做?

2 个答案:

答案 0 :(得分:0)

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

不确定PushWoosh如何处理有效负载......但您可以使用Parse。

当您收到Push时,您将获得自定义有效负载数据(最大大小为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)
    }
});

答案 1 :(得分:0)

使用Pushwoosh绝对可以实现 - 您可以在"键":"值"中传递任何自定义JSON数据。格式以及来自PW控制面板和API("data"参数)的推送通知。在生成的推送有效负载中,此数据作为"u"参数的值传递。

请参阅Pushwoosh Titanium guide中有关如何从有效负载访问此额外自定义数据的代码示例:

// 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);
               }
            });
    }