User Tools

Site Tools


push_notifications:welfare

PUSH PER www.tuowelfare.it

Risultato atteso:

Creare una app che reindirizzi verso il sito www.tuowelfare.it .

Inviare notifiche PUSH dal server verso i device su cui la app viene installata. È richiesto che la notifica arrivi anche se il ricevente non è UP.

Preventivamente, ogni device che desidera ricevere le notifiche dovrà registrarsi al servizio di notifiche push su una ACS APP tramite una APP OS nativa installata nel device stesso. All'interno del codice della APP nativa rilasciata sono già contenuti l'username e la password dell’utente dell'ACS APP a cui il device intende registrarsi.

La push fatta dal server si divide in 2 parti:

  • autenticazione da parte del server, tramite un utente dell'ACS APP;
  • la push vera e propria, inviata ai device registrati su un certo canale tramite un determinato utente dell'ACS APP.
NOTA: nella APP sono registrati sia le chiavi per la modalità Development che per la modalità Production (hanno due cloud link diversi)

Viene creato un solo utente dell'ACS APP precedentemente.A questo utente possono essere registrati diversi device, anche gli stessi su piu canali.

Teconologie:

Appcelerator ACS, cURL

Referenze:

Settare l'environnement

E’ necessario installare cURL sul server: [http://curl.haxx.se/dev/source.html]

NOTA: in questo documento viene mostrato come inviare notifiche ad un device Android. Tuttavia il processo è parallelo per device IOS, con i dovuti accorgimenti riportati nei link alla documentazione di Appcelerator presenti nelle prossime sezioni.

Azioni preventive

Configurare il servizio di push per Android

  • Questa parte è volta all’utilizzo di GCM (Google Cloud Messaging) per implementare un servizio di Push Notifications verso device Android utilizzando ACS (Appcelerator Cloud Services):
  • Creare un progetto nella Google Cloud Console [https://cloud.google.com/console]. In questo modo sarà possibile ottenere:
    • l’ID del progetto (nellla schermata di riepilogo dello stesso)
    • una API KEY, ottenuata creando una Server Key nella sezione “APIs & Auth”
  • Creare un’ACS app nell’ Appcelerator cloud console [https://my.appcelerator.com/apps]. Questa azione servirà per ottenere una APP KEY da utilizzare nel momento in cui le Push Notifications verranno inviate dal server ai device registrati. Inoltre, sarà necessario inserire la API KEY e il Project Number nella sezione “Android Push Configuration” in “Manage ACS” della App.

Configurare il servizio di push per IOS

INVIARE PUSH NOTIFICATIONS

In [http://docs.appcelerator.com/cloud/latest/#!/api/PushNotifications] è possibile trovare una lista dei possibili parametri da passare a una Push

Importante: ACS richiede necessariamente un’autenticazione prima di procedere a una push.
NOTA: controllare se l’autenticazione è effettivamente fatta tramite i cookie, e non sia a livello di sessione

Il device deve essere precedentemente registrato.

NOTA:è possibile per un utente registrarsi diverse volte con lo stesso utente ma diversi devices

SINTASSI

curl -b cookies.txt -c cookies.txt [ [-F “param=value”] ] "https://api.cloud.appcelerator.com/v1/users/login.json?key=<APP KEY>"

AUTENTICAZIONE:

req
curl -b cookies.txt -c cookies.txt -F"login=admin" -F "password=admin" "https://api.cloud.appcelerator.com/v1/users/login.json?key=OpSVzgLtcqPn5tDP96djYVHQNjEAOROU"
Parametri:

“login=” richiede il nome utente “password=” richiede la password “key=” richiede l’APP KEY della ACS APP sul cloud appcelerator

PUSH:

req:
curl -b cookies.txt -c cookies.txt -F  "channel=welfare" -F "friends=Any" -F "payload=nuovo_messaggio" "https://api.cloud.appcelerator.com/v1/push_notification/notify.json?key=OpSVzgLtcqPn5tDP96djYVHQNjEAOROU"
parametri:

“channel=” è il canale su cui viene pushata la notifica “friends=” contiene un valore che indica quali utenti contattare “payload=” contiene il testo della notifica “key=” richiede l’APP KEY della ACS APP sul cloud appcelerator

NOTA: altre proprietà possono essere settate, come i Badges. Inoltre ci sono alcune proprietà settabili solo per device Android.
NOTA: il parametro payload puo essere settato in due diversi modi, come stringa o come Json:
payload : String/Hash required
Payload to send with the push notification.
For a string, it will be sent as an alert (message notification).
For a JSON payload, you can specify the following fields as well as custom fields:
alert (String): Notification message to be displayed.
badge (String): Number to set as the badge on the application's icon. Specify postive and negative numbers with the + and - symbols to increment or decrement the current badge number, respectively.
sound (String): Filename minus the extension of the sound to play.
For native Android applications, place the file in the /assets/sound directory.
For native iOS applications, place the file in the main bundle.
For Android applications built with Titanium, place the file in the /Resources/sound directory.
For iOS applications built with Titanium, place the file in the /Resources directory.
icon (String): Available on Android only. Filename minus the extension of the icon to display in the notification center. Place the file in /res/drawable for native Android applications or /Resources for Titanium applications. Uses the app's icon by default.
title (String): Available on Android only. Title of the notification.
vibrate (Boolean): Available on Android only. If true, the device vibrates for one second.
For example:
{
“atras”: “your_user_id”,
“tags”: [
“tag1”,
“tag2”
],
“badge”: “+2”,
“sound”: “default”,
“alert” : “Push Notification Test”
}
In the above example, the atras and tags keys are custom fields, “badge” : “+2” increments the current badge value by two, “sound” : “default” plays a default system sound and “alert” : “Push Notification Test” pops up a alert window with text “Push Notification Test”.

DEPLOY DELL’APPLICAZIONE

L’applicazione è stata sviluppata su titanium.

Prerequisiti:

SVILUPPO

Le fasi dell’ applicazione sono:

0.1
  • accesso all’applicazione e login all’app acs;
  • nel caso in cui la app venga aperta per la prima volta, registrazione del device;
  • premendo un bottone, si viene reinfirizzati al sito www.tuowelfare.it;
  • ricezione delle push sul device.
0.2
  • accesso all’applicazione e login all’app acs;
  • nel caso in cui la app venga aperta per la prima volta, registrazione del device;
  • redirect automatico all sito www.tuowelfare.it;
  • ricezione delle push.

INSTALLAZIONE SU DEVICE

I device Android riceventi devono usare il pacchetto ti.cloudpush per registrarsi all’ACS sotto una applicazione ACS. In seguito ricevereanno le push notifications inviate loro sui canali corrispondenti.

I device IOS riceventi devono usare il pacchetto ti.cloud per registrarsi all’ACS sotto una applicazione ACS. In seguito ricevereanno le push notifications inviate loro sui canali corrispondenti.

push_notifications/welfare.txt · Last modified: 2015/03/02 15:26 by feroda