如何从 PhoneGap Build 中的 PushNotification 获取键/值数据

Posted

技术标签:

【中文标题】如何从 PhoneGap Build 中的 PushNotification 获取键/值数据【英文标题】:How to get key/value data from PushNotification in PhoneGap Build 【发布时间】:2014-02-19 01:56:00 【问题描述】:

我在 PhoneGap Build 中使用 Push 插件。我可以向我的设备发送和接收推送通知。我正在使用 node-gcm 库将通知 + 附加数据(特别是要加载的页面)发送到已注册的设备。这是我的 node.js 服务器上的代码:

var gcm = require('node-gcm');
var message = new gcm.Message();

//API Server Key
var sender = new gcm.Sender('GCM API SERVER/BROWSER KEY');
var registrationIds = [];

// Value the payload data to send...
message.addData('message','Hello from Portland, OR!');
message.addData('title','My Push Notification');
message.addData('msgcnt','3'); 
message.addData('soundname','beep.wav'); 
message.addDataWithKeyValue('pageid','1234566788');  //THIS IS THE ADDITIONAL DATA I'D
// ... ID LIKE TO SEND TO MY PHONEGAP BUILD APP AND INTERPRET
message.timeToLive = 3;// Duration in seconds to hold and retry to deliver the message in GCM before timing out. Default 4 weeks if not specified

// At least one reg id required
registrationIds.push('REGISTRATION ID');

/**
 * Parameters: message-literal, registrationIds-array, No. of retries, callback-function
 */
sender.send(message, registrationIds, 4, function (result) 
    console.log("hello" + result);
);

现在我相信我已经发送了额外的页面数据,我想知道如何从 PhoneGap 构建应用程序中的通知本身获取数据。

我还使用 jquery mobile 来管理不同的 html 页面(这基本上使每个页面成为一个 html 文档中的一个单独的 div),并且可以使用有关如何加载通知页面的反馈。

任何帮助将不胜感激,非常感谢!

-- 24x7

【问题讨论】:

【参考方案1】:

你可以在phonegap中获取key/pairs of notification的值,如下: 可以使用以下命令检索消息文本:e.message 所有其他键/值对都可以通过以下方式检索:e.payload.key

例如,如果您想获得通知的标题(在上面),那么您将在“e.payload.title”中获得它。 获得值后,您可以根据值放置条件语句以转到不同的页面/div。

【讨论】:

以上是关于如何从 PhoneGap Build 中的 PushNotification 获取键/值数据的主要内容,如果未能解决你的问题,请参考以下文章

phonegap pushNotifications 插件是不是适用于 Cordova 构建?

Cordova 与 PhoneGap Build 中的 config.xml 位置

Phonegap Build 3.0 中的谷歌分析

如何在 build.phonegap.com 中添加插件

phonegap build在phonegap app开发中的作用是啥

从 Phonegap Build 提交 .ipa 时出现错误 ITMS-90046