User Tools

Site Tools


spes:node_acs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
spes:node_acs [2014/09/26 09:42] – Riporata guida corretta per le Push_Notifications (da formattare) lettispes:node_acs [2014/10/28 11:28] (current) – external edit 127.0.0.1
Line 2: Line 2:
  
  
-**Risultato atteso:** inviare notifiche PUSH da un server, in maniera asincrona (è richiesto che la notifica arrivi anche se il ricevente non è UP). +===Risultato atteso:=== 
  
-**Teconologie:** Appcelerator ACS, cURL+Inviare notifiche PUSH da un server verso altri device registrati al servizio. È richiesto che la notifica arrivi anche se il ricevente non è UP.
  
 +===Teconologie:===
  
-**Referenze:**+Appcelerator ACS, cURL
  
- +===Referenze:===
-* Google Developing Consolehttps://console.developers.google.com/project +
- +
-* http://www.titaniumtutorial.com/2013/10/acs-push-notification-using-gcm.html +
-* http://docs.appcelerator.com/cloud/latest/#!/api/PushNotifications-method-subscribe+
  
  
 +  * Google Developing Console: https://console.developers.google.com/project
 +  * http://www.titaniumtutorial.com/2013/10/acs-push-notification-using-gcm.html
 +  * http://docs.appcelerator.com/cloud/latest/#!/api/PushNotifications-method-subscribe
  
 ====Settare l'environnement==== ====Settare l'environnement====
Line 22: Line 22:
  
  
-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.  +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.  
  
  
Line 28: Line 28:
  
  
-Configurare il servizio di push per Android, volto all’utilizzo di GCM (Google Cloud Messaging) per implementare un servizio di Push Notifications verso device Android utilizzando ACS (Appcelerator Cloud Services):+===Configurare il servizio di push per Android===
  
- * 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:+  * 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.
  
- * Questa parte è volta all’utilizzo di APN (Apple Push Notifications ] per implementare un servizio di Push Notifications verso device IOs utilizzando ACS. + 
- * Non testato, ma c’è una guida esaustiva su: [http://docs.appcelerator.com/titanium/3.0/#!/guide/Configuring_push_services-section-37551713_Configuringpushservices-ConfiguringpushservicesforiOSdevices]+===Configurare il servizio di push per IOS=== 
 + 
 +  * Questa parte è volta all’utilizzo di APN (Apple Push Notifications ] per implementare un servizio di Push Notifications verso device IOs utilizzando ACS. 
 +  * Non testato, ma c’è una guida esaustiva su: [http://docs.appcelerator.com/titanium/3.0/#!/guide/Configuring_push_services-section-37551713_Configuringpushservices-ConfiguringpushservicesforiOSdevices]
  
  
Line 45: Line 48:
 In [http://docs.appcelerator.com/cloud/latest/#!/api/PushNotifications] è possibile trovare una lista dei possibili parametri da passare a una Push 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. +**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+> **NOTA:** controllare se l’autenticazione è effettivamente fatta tramite i cookie, e non sia a livello di sessione
  
  
 Il device deve essere precedentemente registrato. Il device deve essere precedentemente registrato.
  
-NOTA: a meno di controlli, è possibile per un utente registrarsi diverse volte con lo stesso utente ma diversi devices+> **NOTA:** a meno di controlli, è possibile per un utente registrarsi diverse volte con lo stesso utente ma diversi devices
  
  
-**Sintassi**:+===SINTASSI===
  
 curl -b cookies.txt -c cookies.txt [ [-F “param=value”] ] https://api.cloud.appcelerator.com/v1/users/login.json?key=<APP KEY> curl -b cookies.txt -c cookies.txt [ [-F “param=value”] ] https://api.cloud.appcelerator.com/v1/users/login.json?key=<APP KEY>
Line 62: Line 65:
 ===AUTENTICAZIONE:=== ===AUTENTICAZIONE:===
  
-Esempio:+==req== 
 +  
 +curl -b cookies.txt -c cookies.txt -F"login=prova" -F "password=prova" https://api.cloud.appcelerator.com/v1/users/login.json?key=bMDOIoxIVfncwv1Vn9RZf9xP4n3qvGiW
  
-**req:**  +==resp=
-curl -b cookies.txt -c cookies.txt -F"login=prova" -F "password=prova" https://api.cloud.appcelerator.com/v1/users/login.json?key=bMDOIoxIVfncwv1Vn9RZf9xP4 +
-n3qvGiW+
  
-**resp:** +<code>
 { {
-"meta":+    "meta":
-"code":200, +        "code":200, 
-"status":"ok", +        "status":"ok", 
-"method_name":"loginUser", +        "method_name":"loginUser", 
-"session_id":"VbX9Gc6pyb_M1NjAqbDcJjb4XcU" +        "session_id":"VbX9Gc6pyb_M1NjAqbDcJjb4XcU" 
-}, +    }, 
-"response":+    "response":
-"users":+        "users":
-+            
-"id":"542338525b6e9117710007ea", +                "id":"542338525b6e9117710007ea", 
-"first_name":"prova", +                "first_name":"prova", 
-"last_name":"prova", +                "last_name":"prova", 
-"created_at":"2014-09-24T21:32:02+0000", +                "created_at":"2014-09-24T21:32:02+0000", 
-"updated_at":"2014-09-25T11:37:36+0000", +                "updated_at":"2014-09-25T11:37:36+0000", 
-"external_accounts":[], +            "external_accounts":[], 
-"confirmed_at":"2014-09-24T21:32:02+0000", +                "confirmed_at":"2014-09-24T21:32:02+0000", 
-"username":"prova", +                "username":"prova", 
-"role":"prova", +                "role":"prova", 
-"admin":"false", +                "admin":"false", 
-"stats":+            "stats":
-"photos":+                "photos":
-"total_count":+                    "total_count":
-}, +                }, 
-"storage":+                "storage":
-"used":0+                "used":0 
 +                } 
 +             }, 
 +            "email":"c@c.it", 
 +            "friend_counts":
 +                "requests":0, 
 +                "friends":
 +            } 
 +        } 
 +        ] 
 +    }
 } }
-}, +</code>
-"email":"c@c.it", +
-"friend_counts":+
-"requests":0, +
-"friends":+
-+
-+
-+
-+
-+
  
-**parametri:**+==Parametri:==
  
 “login=” richiede il nome utente “login=” richiede il nome utente
Line 117: Line 120:
 ===PUSH:=== ===PUSH:===
  
-**req:**  +==req:==  
-curl -b cookies.txt -c cookies.txt -F  "channel=alert2" -F "to_ids=542338525b6e9117710007ea" -F "payload=nuovo_messaggio" https://api.cloud.appcelerator.co +curl -b cookies.txt -c cookies.txt -F  "channel=alert2" -F "to_ids=542338525b6e9117710007ea" -F "payload=nuovo_messaggio" https://api.cloud.appcelerator.com/v1/push_notification/notify.json?key=bMDOIoxIVfncwv1Vn9RZf9xP4n3qvGiW
-m/v1/push_notification/notify.json?key=bMDOIoxIVfncwv1Vn9RZf9xP4n3qvGiW+
  
-**resp:**+==resp:== 
 + 
 +<code>
 { {
-"meta":+    "meta":
-"code":200, +        "code":200, 
-"status":"ok", +        "status":"ok", 
-"method_name":"Notify" +        "method_name":"Notify" 
-}, +    }, 
-"response":+    "response":
-"push_notification":+        "push_notification":
-"id":"5423ff889ece8cdec5004e64", +            "id":"5423ff889ece8cdec5004e64", 
-"payload":"nuovo_messaggio", +            "payload":"nuovo_messaggio", 
-"channel":"alert2" +            "channel":"alert2" 
-+        
-}+    }
 } }
 +</code>
  
-**parametri:**+==parametri:==
  
 “channel=” è il canale su cui viene pushata la notifica “channel=” è il canale su cui viene pushata la notifica
Line 144: Line 149:
 “key=” richiede l’APP KEY della ACS APP sul cloud appcelerator “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:** 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:+> **NOTA:** il parametro payload puo essere settato in due diversi modi, come stringa o come Json:
  
 > payload : String/Hash required > payload : String/Hash required
Line 176: Line 181:
  
  
-DA VERIFICARE: come si fa a far ricevere la notifica a un server che non sia un device ?? +> **DA VERIFICARE:** come si fa a far ricevere la notifica a un server che non sia un device ??
- +
  
  
Line 192: Line 195:
 Installare Android NDK  > 9 (per la vesrione non rischiesto) http://docs.appcelerator.com/titanium/3.0/#!/guide/Installing_the_Android_NDK Installare Android NDK  > 9 (per la vesrione non rischiesto) http://docs.appcelerator.com/titanium/3.0/#!/guide/Installing_the_Android_NDK
  
-**Installare la CLI con il comando npm:**+===Installare la CLI con il comando npm===
  
 npm install -g titanium npm install -g titanium
  
-**Fare il login tramite npm:**+===Fare il login tramite npm===
  
 titanium login titanium login
  
-**Installare le SDK:** +===Installare le SDK===
  
 titanium sdk install titanium sdk install
  
-**Configurare:**+===Configurare===
  
 titanium setup quick , oppure titanium setup quick , oppure
Line 210: Line 213:
  
  
-**SVILUPPO SU DEVICE:**+===SVILUPPO 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 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.
spes/node_acs.1411724524.txt.gz · Last modified: 2014/10/28 11:28 (external edit)