まず、ここでBlackberryPushサービスに登録する必要があります
その後、数日以内にアプリ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();
}
また、config.xmlにとがあることを確認してください<feature id="blackberry.push" />
。<feature id="blackberry.utils" />
また、アプリを閉じると、pushReceive()が呼び出されないことにも注意しました。バックグラウンドでアプリを実行することで、これを回避できます。
function handleExit() {
blackberry.app.requestBackground();
}
blackberry.app.event.onExit(handleExit);
blackberry.app.requestForeground();
アプリを前面に出すために使用します。
私が理解するのに時間がかかったもう1つのことは、pushRegister()が呼び出されるまでに時間がかかる可能性があることでした(これにより、PINがBISに登録されます)。したがって、これが呼び出されることを確認してください。そうしないと、プッシュメッセージを受信できなくなります。