Поэтому я отправляю push-уведомления с помощью службы arrowdb и облака с помощью Appcelerator. Кажется, что это хорошо работает, и iphone получает уведомление. Что мне интересно, если есть простой способ очистить номер значка до 0? Он также должен быть сброшен на сервере arrowdb (или apple).Очистка номера значка Апплеерационная студия, стрелка и iOS?
Я хочу, чтобы значок был сброшен каждый раз, когда приложение открыто.
Что я сделал, это добавить резюме слушателя в 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);
}
});
Тогда я также отправить нажмите, чтобы очистить значок на сервере, как это, посылая толчок Ourself:
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)));
}
});
прослушиватель событий кажется, называется, и push отправляется. Но каким-то образом значок все еще остается на устройстве iphone ... Должен ли я делать это по-другому?
Кажется, мы отвечали почти в одно и то же время, извините, Хуан, я не хотел давать еще одно немного другое решение! :) –
jajaja, похоже, но проблем нет. Пока ответ может помочь @Emil –
На самом деле вы правы! Как и в последних документах, setAppBadge находится в Titanium.UI.iOS, больше нет в Titanium.UI.iPhone (я сейчас проверял, и я использовал его в довольно старом проекте на 3.5.2 SDK) –