Logo Logo ru
  • iRidi Pro
    Основные компоненты
    • Приложение i3 Pro
    • iRidi Pro Server
    • iRidi Studio
    • iRidium studio v. 1.3.8 (устаревшая версия)
    Java Script в iRidi
    • Руководство
    • Справочник
    • Примеры
    • JS драйвера
    другие
    • Личный Кабинет
    • iRidium Cloud
    • iRidium Transfer
    • Push-уведомления
    • Лучшая практика
    Лицензирование
    • Лицензирование и передача проекта
    • Оффлайн-лицензирование
    • Активация iRidi Pro Server
  • Продукты
    i3 lite
    • Приложение i3 lite
    • Регистрация и лицензирование
    • Сервер
    • Модули
    KNX Home Server
    • Приложение i3 KNX
    • KNX Home Server
    BUS77 HOME SERVER
    • Приложения Bus77 Home и Bus77 Lite
    • Bus77 Home Server
    Решения
    • BYOD - решение для гостиниц
    • Портал жителя - решение для МКД
    iRidi SCADA
    • iRidi SCADA
  • Bus77
    НАСТРОЙКА BUS77
    • Основы Bus77
    • Приложения Bus77 Home и Bus77 Lite
    • Работа с драйвером Bus77 в iRidi Studio
    • Настройка шины Bus77 в iRidi Studio
    ПРОТОКОЛ BUS77
    • Характеристики CAN (Bus77)
    • Описание протокола
    • Исходники на GitHub
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
  • Поддерживаемое оборудование
    Драйверы
    • Список драйверов
    • ProAV драйвера
    • AV & Custom Systems
    • JS драйвера
    • Сторонние драйвера и фриланс
    Протоколы и интерфейсы
    • Голосовое управление
    • 1-Wire
    • BACnet IP
    • Bus77
    • KNX
    • KNX IP BAOS
    • Weinzierl kBerry
    • Microsoft Exchange
    • Modbus
    • MQTT
    • NFC
    • ODBC
    • Onvif
    • SIP
    • SNMP
    • Wake On Lan
    • Z-Wave
    • ZigBee
    Производители
    • AMX
    • AVCiT
    • Beckhoff ADS
    • Biamp Tesira
    • Bluesound
    • Casambi
    • BSS Harman
    • Clipsal
    • ControlArt 7Port
    • Crestron
    • DigiBird
    • Domintell
    • Duotecno
    • EIDE
    • EPSNET
    • Global Cache
    • HDL Buspro
    • Helvar
    • IEAST
    • INELS BUS
    • INELS Wireless
    • Intesis
    • Kleger
    • Kramer VIA
    • Kramer 3000
    • Larnitech
    • Legrand Netatmo
    • LG TV
    • Lutron
    • Lutron Homeworks QS
    • MyHome
    • Nest
    • Novastar
    • Panasоnic PTZ
    • Philips Dynalite
    • PJLink
    • Satel
    • SamsungTV
    • Sonos
    • Somfy
    • SpinetiX
    • Televic Conference
    • TIS
    • Tion
    • URRI
    • Velbus
    • Velocio
    • Vinteo
    • WyreStorm
    • WiiM
    • Xicato
    • Yamaha
    • ZONT
    • Z-Wave.me
    Протестированное оборудование
    • Панель HDL S57
    • Панель HDL S10
    • SIP-домофон
    • Akuvox
    • Arlight
    • Divus
    • QBic TD-1050 PRO
    • QBic TD-1060 Slim
    • QBic TD-1070
    • Sigur
    • Uni-Ubi
    • Velocio
  • Оборудование iRidi

    Серверы
    • HS Сервер
    • ProAV Control Processor Basic
    • ProAV Control Processor Advanced
    • Спецификация контроллеров UMC
    • Настройка контроллера UMC C2
    • Настройка контроллера UMC C3
    • Настройка контроллера HDL IntelliCenter 2 (UMC C4)
    Модули расширения
    • I-PX-RS1
    • I-PX-RS4
    • I-PX-IR3
    KNX
    • KNX Home Server
    • KNX IP Interface
    Панели управления
    • iRidium Panel 7
    • Touch Panel P3
    • Touch Panel P6
    • Touch Panel P8
    • Touch Panel P10
    • Tabletop Touch Panel 10
    • AV Remote Control
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
    • Differences
Сайт iRidium mobile
Содержание
    Инструменты‌
    • Сведения о странице
    • Постоянная ссылка
    • Версия для печати
    • Спецстраницы
    • Связанные правки
    • Ссылки сюда
    Login / Create Account
    Материал из for iRidium developers
    Перейти к: навигация, поиск
    Эта страница является переводом страницы Push API. Перевод выполнен на 100%.

    Other languages:
    English • ‎русский
  • Справочник
  • Push уведомления
  • Содержание

    • 1 API iRidium. Push уведомления
    • 2 Методы
      • 2.1 IR.SendPush
        • 2.1.1 Группы устройств
        • 2.1.2 Функция обработки статуса Push
    • 3 События
      • 3.1 IR.EVENT_RECEIVE_PUSH_NOTIFY

    API iRidium. Push уведомления

    методы для отправки Push уведомлений на iOS и Android устройства

    читать инструкцию

    смотреть видео-инструкцию

    скачать пример


    Методы

    IR.SendPush

    Только для iRidium Server! Отправить Push уведомление группе панелей управления

    Синтаксис

    IR.SendPush(title, js_data, group_id, [status_callback], [this_ptr], [sound_type]);

    на входе значение описание
    title "text of notify" type: string
    текст уведомления
    js_data "data" type: string, JSON
    данные для передачи в скрипты приложения-клиента, получившего Push
    group_id 1 type: number
    идентификатор Группы устройств, которые получат уведомление. Группы настройте в личном кабинете на сайте, вкладка объекта "Пользователи и панели"
    status_callback status type: function
    функция обработки статуса Push. На входе функция получает объект, в котором хранятся код и текстовое описание результата отправки Push
    this_ptr this type: this
    указатель на окружение, будет доступен в status_callback как this
    sound_type 0 type: number
    тип звукового сигнала, который будет воспроизведен при получении устройством Push уведомления. 0 - короткий сингал (по умолчанию), 1 - длинный сигнал
    на выходе

    -


    Пример

    // simple Push (send a text)
    IR.SendPush("Hello World!", "Data", 1);
     
     
    // advanced Push (with data to JS and status processing)
    function status (object) {
    	IR.Log('Status of Push: ' + object.Error + ' - ' + object.ErrorDescription);
    }
    IR.SendPush("Hello World!", "data for JS", 1, status, this, 0);

    объем текста и данных, которые можно отправить в Push, ограничен, и зависит от устройства, на которое вы посылаете уведомление (2 Кб для iOS, 4 Кб для Android). Если допустимый объем данных превышен, метод вернет ошибку отправки
    символы & и # не поддерживаются в тексте сообщений и данных скрипта


    Группы устройств

    Чтобы панель управления получила уведомление, ее нужно поместить в Группу. Группа создается на сайте, во вкладке "Пользователи и панели" настроек облачного объекта. Группа присваивается сочетанию "пользователь+проект". Т.е. каждый проект одного пользователя может входить в разные группы и получать разные уведомления.

    AttachPushGroup.png

    1 Присвоить Группу пользователю и проекту. Группа будет автоматически присвоена любой панели управления, на которой пользователь авторизуется и скачает этот проект
    2 Присвоить Группу панели управления по HWID. Можно убрать или добавить Группы для отдельных панелей

    CreateOrEditPushGroup.png

    1 Создать новую Группу (для отправки Push вы будете использовать Group ID)
    2 Группы, в которые входит панель управления (пользователь и проект)
    3 Группы, в которые панель управления не входит


    Функция обработки статуса Push

    Только для iRidium Server! Срабатывает при каждой отправке Push уведомления и получает результат отправки: успех или ошибку.

    function status (object)
    {
    	IR.Log("Status of Push (Code): " + object.Error);
    	IR.Log("Status of Push (Text): " + object.ErrorDescription);
    }
    IR.SendPush("Hello World!", "Data", 1, status, this, 0);
    • object.Error - код события, результата отправки Push. Код события:
      • 0 (Success) - успешная отправка
      • 1-10 (Error) - код ошибки
    • object.ErrorDescription - текстовое описание события


    События

    IR.EVENT_RECEIVE_PUSH_NOTIFY

    Только для i3 pro! обработчик данных, полученных с Push уведомлением. В него придет текст уведомления, данные, предназначенные для JS и ID группы, которой предназначено уведомление.

    Синтаксис

    IR.AddListener(IR.EVENT_RECEIVE_PUSH_NOTIFY, 0, function (text, data, group) {}, [pointer]);

    на входе значение описание
    function function() {} type: function
    не именованная функция или обращение к функции
    pointer - type: object
    указатель на объект, который обслуживает функцию (опционально)
    на выходе

    -


    Пример

    IR.AddListener(IR.EVENT_RECEIVE_PUSH_NOTIFY, 0, function(text, data, group)
    {
          IR.Log("EVENT_RECEIVE_PUSH_NOTIFY:" + text + " data:" + data + " group:" + group);
     
          if(data == "do the action")
          { 
                IR.Log("Ok I do"); 
          }         
          if(data.indexOf("{") == 0)
          {
             var obj = JSON.Parse(data);
             if(typeof(obj) != "undefined")
             {
                IR.Log("Json:OK");
                IR.Log(JSON.Stringify(obj));
             }
          }
    });




    Источник — «https://dev.iridi.com/index.php?title=Push_API/ru&oldid=44111»
    О нас
    Компания
    Команда
    История
    Философия
    Награды
    Партнерство
    Наши партнеры
    Партнерские программы
    Подать заявку на партнерство
    Продукты
    iRidium pro
    iRidium lite
    iRidium gate
    iRidium server
    Загрузки
    iRidium pro
    iRidium lite
    Другие версии
    Маркетинговые материалы
    Поддержка
    Онлайн курсы/Видео
    Рекомендуемое оборудование
    Другие версии
    iRidium pro
    Документация
    FAQ
    Форум
    iRidium lite
    Документация
    Форум
    Проекты
    Типовые проекты
    Умные здания
    Умные дома
    Специальные решения
    Найти дилера
    Новости
    Youtube
    Twitter
    VK
    Logo
    contact@iridi.com
    +7 (499) 322-73-29

    Политика конфиденциальности