Метка «уведомления» - 2

Так уж случилось, что на работе я с небольшой командой единомышленников занимаюсь написанием приложений для смартфонов, в частности iТелефон и Андроид.

Начинали мы с разработок под iPhone, где все работало гладко и как положено.
А что работало? Основная задача приложения была послать запрос «Где ты?» — ничего сложного. Но уж очень хотелось бы этот запрос доставлять адресату как можно быстрее, пока он еще актуален. Здесь, имеющий опыт в разработках под iPhone, читатель скажет, что есть APN Service, и будет абсолютно прав. Именно им мы и пользовались, и не знали горя, ибо доставлялись эти уведомления быстрее секунды.

Затем по некоторым внутренним причинам мы перешли на разработки под Android и быстренько все портировали. В частности без каких-либо задних мыслей модуль работы с APN был заменен на аналогичный с C2DM.

На всех телефонах разработчиков проблем с доставкой уведомлений не было. А вот у новых пользователей сразу вскрылась огромная проблема — время доставки уведомления никак не гарантировано, и некоторые из них доходили через несколько часов. Причем на соседнем же устройстве они доходили за секунды.

В ходе исследования этой проблемы я натолкнулся на ряд странных особенностей работы этих уведомлений от Google.
Читать полностью »

Понадобилось мне, чтобы торрент клиент оповещал меня в QIP о закачке очередной порции добра.
Ринулся я искать подходящую утилиту с интерфейсом командной строки для отправки XMPP сообщений… и ничего не нашел — кругом клиенты, не заточенные для нужд автоматизации. Отсутствие очевидных кандидатов подвигло меня к написанию собственной утилиты.
Для того, чтобы быстро сваять что-то для собственного потребления я использую ruby.
Весь код помещается в 12 строк, хотя конечно можно ужать и в одну.
require 'rubygems'
require 'xmpp4r/client'

include Jabber

server, login, password = "qip.ru", "my_login", "my_password"
to, subject, body = "someone@qip.ru", "XMPP4R test", "Hi, this is my first try from XMPP4R!!!"

Jabber::debug =Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js