そこで、Appcelerator で arrowdb とクラウド サービスを使用してプッシュ通知を送信します。これはうまく機能しているようで、iPhone は通知を受け取ります。バッジ番号を0にクリアする簡単な方法があるのだろうか? arrowdbサーバー(またはアップル)でもリセットする必要があると思います。
アプリを開くたびにバッジをリセットしたい。
私がしたことは、alloy.jsに履歴書リスナーを追加することでした
Ti.App.addEventListener("resumed", function(e){
イベント リスナーで最初に行うこと (バッジをローカルにリセットするため):
Cloud.PushNotifications.resetBadge({
device_token: device_token
}, function (e) {
if (e.success) {
Ti.API.info('Badge Reset!');
}
else {
Ti.API.error(e);
}
});
次に、プッシュを送信して、サーバー上のバッジをクリアするために、次のように自分自身にプッシュを送信します。
var push_payload = {
badge:0,
sound:"",
alert:"",
title:"",
message_text:"",
push_type:"clear",
from_user:Alloy.Globals.currentUser.id,
vibrate:false
};
Cloud.PushNotifications.notify({
channel: 'private_message',
payload: push_payload,
to_ids: Alloy.Globals.currentUser.id
}, function (e) {
if (e.success) {
Ti.API.info('Success sending push notification');
} else {
Ti.API.info('Error sending push: '+((e.error && e.message) || JSON.stringify(e)));
}
});
イベントリスナーが呼び出されたようで、プッシュが送信されます。しかし、どういうわけか、バッジはまだ iPhone デバイスに残っています...これを別の方法で行う必要がありますか?