The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Middleware/PushNotifications

From Mer Wiki
Revision as of 06:42, 30 August 2014 by Tbr (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Target audience

This page is targeted foremost at platform developers (Vendors) that want to establish and integrate a push notification infrastructure for their project, secondly at developers who want to use/receive push notifications in their applications.

Nemo and Sailfish serve as reference users/targets for this.


Intermediate / Test Platform

TBR has set up a Mosquitto/MQTT based serice that can be used for experiments and also as an interim production environment for apps in need of push notifications right now.

Host: devaamo.fi

Port: 1883 (regular), 1884 (limited testing, without authentication), soon also 8883 for TLS with client cert auth.

Topics:

  • sailfish/broadcast/… (readable by every client, also without authentication)
  • sailfish/username/… (only accessible to authenticated clients)
  • $SYS/… (server status information)

Credentials can be requested from tbr on IRC by priv-msg.

For Python use there is a patched version of Apache Paho: https://github.com/dm8tbr/org.eclipse.paho.mqtt.python It has IPHB support added and will wake up at fixed intervals to prevent timeouts.

Client libraries (currently without IPHB patches) are available currently from a personal OBS repository: https://build.merproject.org/project/show/home:tbr:mqtt

Direct repo URL for Sailfish packages: http://repo.merproject.org/obs/home:/tbr:/mqtt/sailfish_latest_armv7hl/

Adding repo to device: ssu ar tbr-mqtt http://repo.merproject.org/obs/home:/tbr:/mqtt/sailfish_latest_armv7hl/


To explore MQTT based push notifications on Sailfish you can use this irssi script to send you all sorts of notifications. https://github.com/dm8tbr/irssi-mqtt-notify There is also some client side code in Python to convert the push message to a Sailfish platform notification.

Platform Evolution

Architecture and features of a future service are under discussion on Freenode IRC: #sailfishos-push

Personal tools