gpt4 book ai didi

Blackberry webworks 应用程序和推送通知

转载 作者:行者123 更新时间:2023-12-03 09:35:21 26 4
gpt4 key购买 nike

在网上搜索了很多天后,我从来没有找到我的问题的答案,甚至没有找到任何人设法做我正在尝试的事情。

我正在尝试在 Blackberry 的 WebWorks 应用程序中实现推送通知,但没有任何运气。我尝试使用来自 Blackberry 的演示,但即使这些演示似乎也不起作用(其中大多数是用于 Java 中的 native 应用程序),并且没有来自 BlackBerry 支持团队的任何反馈。

我想知道的是这是否可行,是否有人做过,是否有人有工作样本供我指导。

提前致谢

最佳答案

您首先需要注册黑莓推送服务here

然后他们会在几天内向您发送一封电子邮件,其中包含应用 ID、端口和推送发起者密码等。

然后您可以在客户端监听推送请求:

var port = 100; // Change this to the port you received from RIM
var appId = "The app ID you received from RIM";

var serverUrl = "http://pushapi.eval.blackberry.com";
var max = 100;

var wakeUpPage = "index.html";

function init() {
var ops = {port : port, appId : appId, serverUrl : serverUrl, wakeUpPage : wakeUpPage, maxQueueCap : max};
blackberry.push.openBISPushListener(ops, pushReceive, pushRegister, simChange);
}


function pushReceive(data) {
try {
var message = blackberry.utils.blobToString(data.payload);
return 0;
}
catch(err) {
}
}

function pushRegister(status) {
if (status == 0) {
alert("success");
}
else if (status == 1) {
alert("network error");
}
else if (status == 2) {
alert("rejected by server");
}
else if (status == 3) {
alert("invalid parameters");
}
else if (status == -1) {
alert("general error");
}
else {
alert("unknown status");
}
}

window.onload = function() {
init();
}

还要确保您拥有 <feature id="blackberry.push" /><feature id="blackberry.utils" />在您的 config.xml 中。

我还注意到,当应用程序关闭时,pushReceive() 不会被调用。您可以通过在后台运行应用程序来绕过这个:

function handleExit() {
blackberry.app.requestBackground();
}

blackberry.app.event.onExit(handleExit);

并使用 blackberry.app.requestForeground();将应用程序置于最前面。

我花了一段时间才弄清楚的另一件事是,在调用 pushRegister() 之前可能需要一段时间(这会在 BIS 上注册 PIN)。所以请确保它被调用,否则你将永远无法接收推送消息。

关于Blackberry webworks 应用程序和推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11186294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com