2016-06-06 4 views
0

Поэтому я отправляю 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 ... Должен ли я делать это по-другому?

ответ

2

Вы попробовали?

Titanium.UI.iOS.appBadge = 0 
+0

Кажется, мы отвечали почти в одно и то же время, извините, Хуан, я не хотел давать еще одно немного другое решение! :) –

+0

jajaja, похоже, но проблем нет. Пока ответ может помочь @Emil –

+0

На самом деле вы правы! Как и в последних документах, setAppBadge находится в Titanium.UI.iOS, больше нет в Titanium.UI.iPhone (я сейчас проверял, и я использовал его в довольно старом проекте на 3.5.2 SDK) –

0

очистить номер жетона, в проекте я сделал несколько раз назад, я успешно использовал

Ti.UI.iPhone.setAppBadge(0); 

Надеется, что это будет работать для вас тоже.

+0

ОК, это было 3.5.2 SDK, стыдно за меня (не проверять документ перед отправкой): D –

+0

Пробовал это тоже, значок продолжает показывать «1» ... – Emil

+0

мой плохой, что 'Ti.UI.iPhone .setAppBadge' существовал в старом SDK, который я использовал в то время, а не в последнем. –

 Смежные вопросы

  • Нет связанных вопросов^_^