За последние несколько дней в PushAll был реализован функционал отслеживания состояния уведомления и получения ленты канала, которым вы владеете.
Что это нам дает? Теперь, если у вас на сайте есть отправка уведомлений через SMS, вы можете делать так:
Таким образом, можно уменьшить число отправляемых SMS-оповещений в разы, сэкономив этим много денег.
Под катом небольшая документация по использованию и несколько других изменений.
Данный метод отслеживания доступен уже давно. Он позволяет отслеживать состояние broadcast-рассылок в ленте.
Из нововведений можно выделить, что теперь показывается не только число устройств, но и число пользователей.
Это новая функция, предназначенная для получения данных о ленте и статистике.
Для работы необходимо отправить GET или POST запрос по адресу
pushall.ru/api.php
С параметрами:
Это позволит получить вам последние 200 записей вашей ленты. Можно передать параметр limit и самому задать число записей для вывода.
Для получения данных о определенном уведомлении нам сначала надо сообщить одну новость.
Теперь все типы рассылок на выходе отдают JSON ответ вида:
{«success»:2,«unfilt»:1,«all»:1,«lid»:21074}
«success» — число устройств, которые должны получить уведомление
«unfilt» — число устройств, на которые была произведена отправка.
«all» — всего возможных устройств.
«lid» — LogId — идентификационный номер уведомления, именно через него можно будет получать данные о статистике.
success и unfilt отличаются тем, что unfilt это число до отправки, а success это количество, на которое было отправлено на самом деле. Оно может отличаться, если при отправке было выявлено, что какое-либо устройство было удалено и больше не отвечает.
При получении всей ленты ответ сервера будет отправлен в виде JSON и выглядеть примерно так:
Вам будут переданы все данные уведомлений в массиве data. При этом вы получаете доступ к дополнительному полю «poststat»
Это и есть та самая статистика. Описание полей:
Также нужно учитывать небольшой факт: эти числа это минимум, а не точная информация. Дело в том, что уведомление можно протиснуться даже через самый нестабильный канал связи. При этом подтверждение доставки или открытия может уже не дойти до сервера. Еще примерно 44 человека до сих пор не обновили приложение на последнюю версию с поддержкой статистики.
Для запроса единичного уведомления, или уведомления отправленного через unicast api, необходимо передать параметр lid с ID-уведомления.
Про работу unicast и интеграцию со сторонними сервисами я описывал в одной из предыдущих статей.
Наконец-то можно скрывать-открывать тот или иной канал после его создания. Теперь можно протестировать работу и опубликовать канал, после того как он будет настроен.
Обновлен дизайн главной страницы, теперь более красивые кнопки, обновлен текст главной страницы и вставлены уточняющие изображения.
Исправлено множество мелких ошибок API.
PS. Забыл сказать про RSS. Теперь бот многопоточен, всвязи с этим снизил время обновления в 2 раза. То есть при 500 подписчиках время обновления теперь 30 секунд минимальное.
Что это нам дает? Теперь, если у вас на сайте есть отправка уведомлений через SMS, вы можете делать так:
- Отправляем Push
- Через 30-50 секунд проверяем, пришло ли пользователю уведомление, отреагировал ли он на него
- Если не пришло, шлем ему SMS, звоним, шлем на почту и т.д.
Таким образом, можно уменьшить число отправляемых SMS-оповещений в разы, сэкономив этим много денег.
Под катом небольшая документация по использованию и несколько других изменений.
Мониторинг через веб-интерефейс
Данный метод отслеживания доступен уже давно. Он позволяет отслеживать состояние broadcast-рассылок в ленте.
Из нововведений можно выделить, что теперь показывается не только число устройств, но и число пользователей.
Получение данных через Showlist API
Это новая функция, предназначенная для получения данных о ленте и статистике.
Для работы необходимо отправить GET или POST запрос по адресу
pushall.ru/api.php
С параметрами:
"type" => "showlist",
"id" => "ID вашего канала",
"key" => "ключ вашего канала"
Это позволит получить вам последние 200 записей вашей ленты. Можно передать параметр limit и самому задать число записей для вывода.
Для получения данных о определенном уведомлении нам сначала надо сообщить одну новость.
Теперь все типы рассылок на выходе отдают JSON ответ вида:
{«success»:2,«unfilt»:1,«all»:1,«lid»:21074}
«success» — число устройств, которые должны получить уведомление
«unfilt» — число устройств, на которые была произведена отправка.
«all» — всего возможных устройств.
«lid» — LogId — идентификационный номер уведомления, именно через него можно будет получать данные о статистике.
success и unfilt отличаются тем, что unfilt это число до отправки, а success это количество, на которое было отправлено на самом деле. Оно может отличаться, если при отправке было выявлено, что какое-либо устройство было удалено и больше не отвечает.
При получении всей ленты ответ сервера будет отправлен в виде JSON и выглядеть примерно так:
{
"data": [{
"id": 21074,
"title": "Уведомление PushAll",
"text": "Тест",
"url": "",
"icon": "https:\/\/pushall.ru\/upimg\/sub24.jpg",
"hidden": 0,
"success": 2,
"unfilt": 1,
"all": 1,
"poststat": {
"waiting": 0,
"waitingu": 0,
"accepted": 2,
"acceptedu": 1,
"opened": 0,
"openedu": 0,
"deleted": 0,
"deletedu": 0
}
}, {
"id": 13219,
"title": 123,
"text": "",
"url": "http:\/\/habr.ru",
"icon": "https:\/\/pushall.ru\/upimg\/sub24.jpg",
"hidden": 0,
"success": 2,
"unfilt": 1,
"all": 1,
"poststat": {
"waiting": 0,
"waitingu": 0,
"accepted": 4,
"acceptedu": 1,
"opened": 2,
"openedu": 1,
"deleted": 0,
"deletedu": 0
}
}, {
"id": 10734,
"title": 1234,
"text": "",
"url": "",
"icon": "https:\/\/pushall.ru\/upimg\/sub24.jpg",
"hidden": 0,
"success": 4,
"unfilt": 1,
"all": 1,
"poststat": {
"waiting": 0,
"waitingu": 0,
"accepted": 4,
"acceptedu": 1,
"opened": 1,
"openedu": 1,
"deleted": 2,
"deletedu": 0
}
...
...
Вам будут переданы все данные уведомлений в массиве data. При этом вы получаете доступ к дополнительному полю «poststat»
Это и есть та самая статистика. Описание полей:
- «waiting»: ожидающие приема устройства
- «waitingu»: ожидающие приема пользователи
- «accepted»: устройства, которые приняли уведомление
- «acceptedu»: пользователи, которые приняли уведомление
- «opened»: устройства, которые открыли уведомление
- «openedu»: пользователи, которые открыли уведомление
- «deleted»: устройства, которые открыли уведомление
- «deletedu»: пользователи, которые удалили уведомление
Также нужно учитывать небольшой факт: эти числа это минимум, а не точная информация. Дело в том, что уведомление можно протиснуться даже через самый нестабильный канал связи. При этом подтверждение доставки или открытия может уже не дойти до сервера. Еще примерно 44 человека до сих пор не обновили приложение на последнюю версию с поддержкой статистики.
Для запроса единичного уведомления, или уведомления отправленного через unicast api, необходимо передать параметр lid с ID-уведомления.
Про работу unicast и интеграцию со сторонними сервисами я описывал в одной из предыдущих статей.
Другие небольшие изменения
Наконец-то можно скрывать-открывать тот или иной канал после его создания. Теперь можно протестировать работу и опубликовать канал, после того как он будет настроен.
Обновлен дизайн главной страницы, теперь более красивые кнопки, обновлен текст главной страницы и вставлены уточняющие изображения.
Исправлено множество мелких ошибок API.
PS. Забыл сказать про RSS. Теперь бот многопоточен, всвязи с этим снизил время обновления в 2 раза. То есть при 500 подписчиках время обновления теперь 30 секунд минимальное.
gluck59
«Пользуясь случаем, хочу» ©
Вопрос к маководам:
OSX 10.10.3
После каждого клика в пришедший пуш и после каждого посещения pushall.ru вылезает требование «привязать приложение к Pushall». При клике на него Хром открывает страницу на pushall.ru, рапортующую: «чувак ты чо, приложение уже привязано, давай досвиданья!». И редирект на главную.
Это можно проделывать по кругу без остановки — глупая софтинка все равно будет каждый раз выползать и требовать привязаться. Если на нее не кликать — так и будет вечно висеть и на экране и в доке.
Что за приложение, откуда оно взялось и почему оно не может запомнить свою привязку — тайна. Разработчик отвечает «у меня все ок, ничо не знаю».
Коллеги, у вас так же?
BupycNet Автор
Тут вообще странная ситуация, я не могу это никак отдебажить т.к. у меня нет макбука. Под виндой все окей. Макоси у меня нет.
Софтинка не выползает, потому что нет регистрации, макось почему то открывает само дополнение. хотя для этого нет никаких причин. То есть как будто вы нажали на иконку открытия самого дополнения, а не на пуш.
Вот если кто под маком отдебажит, почему оно именно возникает. Тогда пофиксю. Ну или мак дать погонять на часок.
Gray_Wolf
Но есть же VMWare, и патчи для него с возможность развёртывания MacOS.
Что останавливает вас?..
BupycNet Автор
То что у меня AMD. Даже под виртуалкой под AMD помнится проблемы есть с установкой. А уж 10.10 я точно не поставлю. Мне кажется проблема там в том. что уведомления идут не в панель хрома, а скорее всего в уведомления макоси. и она как то подругому обрабатывает клики. Эта панель появилась в недавних версих, которые не факт что поставлю. В предыдущий раз у меня ушло на попытку установки старой версии пара дней, т.к. долго качалась. потом не установилась и т.д. Можно конечно попробовать, но мне кажется, что имея аудиторию на канале в 200 айтишников, хотя бы один мог бы через отладку хрома глянуть что там нет так и сообщить мне. В хроме ведь приложения не компилятся, их вроде как можно отлаживать любому пользователю налету.
И достаточно мало времени у меня, т.к. я один разрабатываю сайт, систему, приложения, весь маркетинг, написание статей и т.д. все на мне, но вообще постараюсь заняться этим вопросом, хотя меня намного больше беспокоит версия под iOS. Мой друг сильно тянет с её разработкой.
gluck59
Нет. Уведомления макоси — совершенно отдельная фича.
Выглядит она вот так (сорри, здесь опять не работают картинки):
habrastorage.org/files/500/853/cc9/500853cc99a44845a3ff4fcc19cbe34e.JPG
А в вашем случае как будто происходит запуск некой софтинки прямо из браузера.
BupycNet Автор
А примерно понял в чем может быть дело.
Там с уведомлениями была одна проблема — часть адресов, которые были на HTTPS не открывались т.к. при открытии нужно действующее окно, при открытии напрямую из пуша — дополнение падало.
Я на самом деле открываю небольшое окно на пол секунды. Но потом это окно должно закрываться само.
Напиши мне в вк, или гугл+ скинь скрин как это выглядит.