在網上搜索了很多天之後,我從未找到對我的問題的答案,甚至沒有人設法做到我想要的。黑莓webworks應用程序和推送通知
我想在黑莓的WebWorks應用程序中實現推送通知,但沒有任何運氣。我嘗試過使用Blackberry的演示程序,但即使這些演示程序似乎無法工作(並且大部分都是針對Java中的本機應用程序),並且BlackBerry支持團隊沒有任何反饋。
我想知道的是,如果這是可能的,如果有人已經做到了,並且某人有工作樣本供我引導。
在此先感謝
在網上搜索了很多天之後,我從未找到對我的問題的答案,甚至沒有人設法做到我想要的。黑莓webworks應用程序和推送通知
我想在黑莓的WebWorks應用程序中實現推送通知,但沒有任何運氣。我嘗試過使用Blackberry的演示程序,但即使這些演示程序似乎無法工作(並且大部分都是針對Java中的本機應用程序),並且BlackBerry支持團隊沒有任何反饋。
我想知道的是,如果這是可能的,如果有人已經做到了,並且某人有工作樣本供我引導。
在此先感謝
在WebWorks應用程序推送服務是可能的,可以肯定可以實現。 Push API有關於在WebWorks中使用BIS和BES推送服務的更多細節。我們的支持論壇也有一個完整的完整的BlackBerry Push Sample App供您使用作爲參考 - 這些文件可在文章結尾處下載。
首先,您需要爲黑莓推送服務註冊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)。 因此,確保這被調用,否則你將永遠無法接收推送消息。
我通過使用此代碼獲取狀態爲1(網絡錯誤)。請建議解決方案 – silwar
嗨,感謝您的代碼。我使用相同的代碼,但註冊時出現網絡錯誤。請給我建議任何解決方案。 –
您是否已將您的SIM卡註冊到BIS? – riaan121