{"id":15979,"date":"2015-02-09T10:03:13","date_gmt":"2015-02-09T09:03:13","guid":{"rendered":"http:\/\/puship.com\/?page_id=15979"},"modified":"2020-07-20T17:35:17","modified_gmt":"2020-07-20T16:35:17","slug":"java","status":"publish","type":"page","link":"https:\/\/www.puship.com\/it\/documentazione\/guida-accesso-api\/java\/","title":{"rendered":"Java"},"content":{"rendered":"\n<p>Utilizzando Java \u00e8 possibile integrarsi con Puship in pochi semplici passi, \u00e8 sufficiente inserire nel proprio progetto il file <strong>PushipApi.jar<\/strong>, impostare l&#8217;AppId dell&#8217; applicazione con la quale si desidera interagire, lo Username e la Password del vostro profilo Puship, l&#8217;EnableDebug(default false), ed il timezone per la conversione delle date.<\/p>\n<p>&nbsp;<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"java\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">Credentials cr = new Credentials(\"MRossi\", \"PassWord\"); \/\/Setta Username, Password e AppId \nCoreApi ca = new CoreApi(\"APKCbOd72fXKVUU\", cr);\n\n\/\/ca.Binarysupport = false; \/\/Da impostare solo quando si utilizza la libreria su Android\nca.EnableDebug = true; \/\/Mostra Url, parametri dell'Url, Codice di Risposta, e la risposta dal Server\n\nPushipUtil.SetTimeZone(\"Europe\/Rome\"); \/\/Setta il Timezone desiderato per convertire le date provenienti da Puship<\/pre><\/div>\n\n\n\n<p>a questo punto \u00e8 possibile iniziare ad effettuare le chiamate attraverso i seguenti metodi:<\/p>\n<p>&nbsp;<\/p>\n<div id=\"guidemenu\">\n<ol>\n<li><a href=\"#JPushRead\">Lettura delle notifiche<\/a>\n<ol>\n<li><a href=\"#JPushReadPlatform\">Lettura delle notifiche per Piattaforma<\/a><\/li>\n<li><a href=\"#JPushreadTag\">Lettura delle notifiche per Tag<\/a><\/li>\n<li><a href=\"#JPushReadPosition\">Lettura delle notifiche per Posizione<\/a><\/li>\n<li><a href=\"#JPushReadParams\">Lettura delle notifiche con Parametri<\/a><\/li>\n<li><a href=\"#JPushReadAdvance\">Lettura con aggiunta delle notifiche inviate singolarmente<\/a><\/li>\n<li><a href=\"#JPushReadAxdsdsdsdsl\">Lettura di tutte le notifiche<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#JPushReadForDevice\">Lettura delle notifiche per Device<\/a><\/li>\n<li><a href=\"#JAppRead\">Lettura delle App<\/a><\/li>\n<li><a href=\"#JPushDelete\">Eliminazione di una notifica<\/a><\/li>\n<li><a href=\"#JDevicesDelete\">Eliminazione dei device<\/a><\/li>\n<li><a href=\"#JTagsRead\">Gestione dei Filtri<\/a>\n<ol>\n<li><a href=\"#JAppTagsRead\">Lettura dei Filtri dell&#8217;applicazione<\/a><\/li>\n<li><a href=\"#JAddTagFilter\">Aggiunta di un Filtro al device<\/a><\/li>\n<li><a href=\"#JRemoveTagFilter\">Rimozione di un Filtro dal device<\/a><\/li>\n<li><a href=\"#JCleanTagFilter\">Rimozione di tutti i Filtri del device<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#JDevicesRead\">Lettura dei Device<\/a>\n<ol>\n<li><a href=\"#JDeviceReadSimple\">Lettura semplice dei Device<\/a><\/li>\n<li><a href=\"#JDeviceReadPlatform\">Lettura dei Device per Piattaforma<\/a><\/li>\n<li><a href=\"#JDeviceReadTag\">Lettura dei Device per Tag<\/a><\/li>\n<li><a href=\"#JDeviceReadArea\">Lettura dei Device per Area<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#JSendPush\">Invio di una notifica<\/a>\n<ol>\n<li><a href=\"#JSendPushPlatform\">Invio di una notifica per Piattaforma<\/a><\/li>\n<li><a href=\"#JSendPushTag\">Invio di una notifica per Tag<\/a><\/li>\n<li><a href=\"#JSendPushPosition\">Invio di una notifica per Area<\/a><\/li>\n<li><a href=\"#JSendPushParams\">Invio di una notifica con Parametri<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#JSendPushForDevice\">Invio di una notifica per Device<\/a><\/li>\n<\/ol>\n<\/div>\n<p>&nbsp;<\/p>\n<h2><a name=\"JPushRead\"><\/a>Lettura delle notifiche<\/h2>\n<p>La lettura delle notifiche pu\u00f2 essere fatta utilizzando dei parametri, anche combinati tra loro. Permettendo cos\u00ec di recuperare ad esempio le push per una determinata piattaforma ed una specifica posizione.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>GetPushMessages(param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>DeviceType<\/strong> <i>int<\/i>: Filtra le notifiche per piattaforma (parametro obbligatorio)<\/p>\n<p><strong>Limit<\/strong> <i>int<\/i>: Numero di record massimi ritornati nella chiamata (default 5)<\/p>\n<p><strong>Offset<\/strong> <i>long<\/i>: Record di partenza per la lettura paginata (default 0)<\/p>\n<p><strong>Tags<\/strong> <i>array di stringhe<\/i>: Filtra le notifiche per tag inviati<\/p>\n<p><strong>DeviceId<\/strong> <i>string<\/i>: Aggiunge ai risultati le notifiche inviate ad uno specifico device<\/p>\n<p><strong>Latitude<\/strong> <i>double<\/i>: Latitudine della posizione da filtrare<\/p>\n<p><strong>Longitude<\/strong> <i>double<\/i>: Longitudine della posizione da filtrare<\/p>\n<p><strong>IncludeParams<\/strong> <i>boolean<\/i>: True se si desidera includere i parametri della notifica (default false)<\/p>\n<p>Il risultato \u00e8 un array di oggetti contenente i seguenti attributi:<\/p>\n<p><strong>PushMessageId<\/strong> <i>string<\/i>: Id della notifica<\/p>\n<p><strong>Date<\/strong> <i>datetime<\/i>: Data e ora nel formato json<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Testo della notifica<\/p>\n<p><strong>Params<\/strong> <i>mappa di stringhe<\/i>: Lista dei parametri, possibili Chiavi: Param1, Param2, Param3, Param4, Param5<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"JPushReadPlatform\"><\/a>Lettura delle notifiche per Piattaforma<\/h3>\n<p>Consente di recuperare le notifiche in base alla Piattaforma a cui sono state associate. E&#8217; sufficiente impostare uno dei seguenti valori nel parametro <strong>DeviceType<\/strong>:<\/p>\n<p><strong>1<\/strong> = Piattaforma Apple<\/p>\n<p><strong>2<\/strong> = Piattaforma GCM<\/p>\n<p><strong>3<\/strong> = Piattaforma WP7\/8<\/p>\n<p><strong>4<\/strong> = BlackBerry<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceType\", \"1\"); \/\/Filtro piattaforma Apple\nJSONArray al = ca.GetPushMessages(map);<\/pre><\/div>\n\n\n\n<h3><a name=\"JPushreadTag\"><\/a>Lettura delle notifiche per Tag<\/h3>\n<p>Consente di filtrare le notifiche per tag a cui sono state associate. Per default, se non viene impostato nessun tag, vengono restituite tutte le notifiche, indipendentemente dai tag associati.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceType\", \"1\");\nSet tagmaps = new HashSet();\ntagmaps.add(\"Libra\"); \/\/Tag numero 1\ntagmaps.add(\"Virgo\"); \/\/Tag numero 2\nmap.put(\"Tags\", tagmaps);\nJSONArray al = ca.GetPushMessages(map);<\/pre><\/div>\n\n\n\n<h3><a name=\"JPushReadPosition\"><\/a>Lettura delle notifiche per Posizione<\/h3>\n<p>Consente di recuperare le notifiche in base all&#8217;area ad esse associate. Per default, se non viene impostata una posizione, vengono restituite tutte le notifiche indipendentemente dall&#8217;area associata.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceType\", \"1\");  \nmap.put(\"Latitude\", \"45.44085\"); \/\/latitudine al centro di Venezia\nmap.put(\"Longitude\", \"12.31552\"); \/\/longitudine al centro di Venezia\nJSONArray al = ca.GetPushMessages(map); <\/pre><\/div>\n\n\n\n<h3><a name=\"JPushReadParams\"><\/a>Lettura delle notifiche con Parametri<\/h3>\n<p>Consente di recuperare le notifiche e i parametri associati. Di default i parametri non vengono inclusi per minimizzare la trasmissione dati.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceType\", \"1\");  \nmap.put(\"IncludeParams\", \"True\");\nJSONArray al = ca.GetPushMessages(map); <\/pre><\/div>\n\n\n\n<h3><a name=\"JPushReadAdvance\"><\/a>Lettura con aggiunta delle notifiche inviate singolarmente<\/h3>\n<p>Consente di aggiungere ai risultati dei precedenti filtri tutte le notifiche che il dispositivo ha ricevuto dal momento in cui \u00e8 stato registrato.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceType\", \"1\");\nmap.put(\"DeviceId\", \"APKCbOd72fXKVUU_7a6ff1f023039299\");\nJSONArray al = ca.GetPushMessages(map); <\/pre><\/div>\n\n\n\n<p>Questa richiesta restituisce tutte le notifiche push inviate ai dispositivi Apple ed inoltre tutte le notifiche inviate al dispositivo con id <i>APKCbOd72fXKVUU_7a6ff1f023039299<\/i>.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"JPushReadAll\"><\/a>Lettura di tutte le notifiche<\/h3>\n<p>Consente di recuperare tutte le notifiche inviate come vengono visualizzate sulla dashboard di Puship.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"Limit\", \"10\");\nmap.put(\"Offset\", \"0\"); \nmap.put(\"IncludeParams\", \"True\");\nJSONArray al = ca.GetAllPushMessages(map);<\/pre><\/div>\n\n\n\n<p>Questa richiesta restituisce tutte le notifiche push aggiungendo i parametri.<\/p>\n<p><b>ATTENZIONE:<\/b> Gli elementi dell&#8217;array restituito conterranno anche gli attributi booleani <i>SentToAPNS, SentToBPNS, SentToMPNS, SentToGCM<\/i> che identificano per quale piattaforma \u00e8 stata inviata la notifica<\/p>\n<p>&nbsp;<\/p>\n<h2><a name=\"JPushReadForDevice\"><\/a>Lettura delle notifiche per Device<\/h2>\n<p>Questa modalit\u00e0 permette di leggere le notifiche inviate ad un determinato device<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>GetPushMessagesByDevice (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>DeviceId<\/strong> <i>string<\/i>: Id del Device per il quale si vogliono ottenere le notifiche (obbligatorio)<\/p>\n<p><strong>Limit<\/strong> <i>int<\/i>: Numero di record massimi restituiti dalla chiamata (default 5)<\/p>\n<p><strong>Offset<\/strong> <i>long<\/i>: Record di partenza per la lettura paginata (default 0)<\/p>\n<p><strong>IncludeParams<\/strong> <i>boolean<\/i>: True se si desidera includere i parametri della notifica (default false)<\/p>\n<p>Il risultato \u00e8 un array di oggetti contenente i seguenti attributi:<\/p>\n<p><strong>PushMessageId<\/strong> <i>string<\/i>: Id della notifica<\/p>\n<p><strong>Date<\/strong> <i>datetime<\/i>: Data e ora nel formato json<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Testo della notifica<\/p>\n<p><strong>Params<\/strong> <i>mappa di stringhe<\/i>: Lista dei parametri, possibili Chiavi: Param1, Param2, Param3, Param4, Param5<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceType\", \"1\");\nmap.put(\"DeviceId\", \"APKCbOd72fXKVUU_7a6ff1f023039299\");\nJSONArray al = ca.GetPushMessagesByDevice(map);<\/pre><\/div>\n\n\n\n<h2><a name=\"JAppRead\"><\/a>Lettura delle App<\/h2>\n<p>Questa modalit\u00e0 permette di recuperare la lista delle Applicazioni<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>GetApps (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>Limit<\/strong> <i>int<\/i>: Numero di record massimi restituiti dalla chiamata (default 5)<\/p>\n<p><strong>Offset<\/strong> <i>long<\/i>: Record di partenza per la lettura paginata (default 0)<\/p>\n<p>Il risultato \u00e8 un array di oggetti contenente i seguenti attributi:<\/p>\n<p><strong>AccessCode<\/strong> <i>string<\/i>: Id dell&#8217;applicazione<\/p>\n<p><strong>Created<\/strong> <i>datetime<\/i>: Data e ora di creazione nel formato json<\/p>\n<p><strong>Updated<\/strong> <i>datetime<\/i>: Data e ora di ultimo aggiornamento nel formato json<\/p>\n<p><strong>Name<\/strong> <i>string<\/i>: Nome dell&#8217;applicazione<\/p>\n<p><strong>Development<\/strong> <i>boolean<\/i>: True se l&#8217;APNS \u00e8 configurato per lo sviluppo, False se \u00e8 configurato per produzione<\/p>\n<p><strong>EnableAPNS<\/strong> <i>boolean<\/i>: True se l&#8217;APNS \u00e8 configurato<\/p>\n<p><strong>EnableBPNS<\/strong> <i>boolean<\/i>: True se l&#8217;BPNS \u00e8 configurato<\/p>\n<p><strong>EnableMPNS<\/strong> <i>boolean<\/i>: True se l&#8217;MPNS \u00e8 configurato<\/p>\n<p><strong>EnableGCM<\/strong> <i>boolean<\/i>: True se il GCM \u00e8 configurato<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"Limit\", \"15\");\nmap.put(\"Offset\", \"0\");\nJSONArray al = ca.GetApps(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p><b>ATTENZIONE:<\/b> Questa chiamata non necessita del settaggio dell&#8217;AppId (<i>new CoreApi(null, cr);<\/i>)<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h2><a name=\"JPushDelete\"><\/a>Eliminazione di una notifica<\/h2>\n<p>Permette di eliminare una notifica in base al suo Id.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>DeletePushMessage (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>PushMessageId<\/strong> <i>string<\/i>: Id della notifica da eliminare (obbligatorio)<\/p>\n<p>Il risultato \u00e8 un oggetto contenente i seguenti attributi:<\/p>\n<p><strong>Error<\/strong> <i>boolean<\/i>: Ritorna True in caso di errore<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Messaggio relativo all&#8217;errore o all&#8217;azione appena conclusa<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"PushMessageId\", \"APKCbOd72fXKVUU_635192605191400000\"); \/\/ Id della notifica da eliminare\nJSONObject al = ca.DeletePushMessage(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"JDevicesDelete\"><\/a>Eliminazione dei device<\/h2>\n<p>Permette di eliminare una lista di device in base al loro Id.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>DeleteDevices (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>Devices<\/strong> <i>array di stringhe<\/i>: Lista degli id dei device da eliminare (obbligatorio)<\/p>\n<p>Il risultato \u00e8 un oggetto contenente i seguenti attributi:<\/p>\n<p><strong>Error<\/strong> <i>boolean<\/i>: Ritorna True in caso di errore<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Messaggio relativo all&#8217;errore o all&#8217;azione appena conclusa<\/p>\n<p><strong>StringParam1<\/strong> <i>string<\/i>: Se l&#8217;azione viene completata con successo contiene il numero dei device eliminati<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map =  new HashMap&lt;string, object=\"\">();\n\nSet devicetodelete = new HashSet();\ndevicetodelete.add(\"jS0oE8PtHcVerde_05CD0C12-35A7-4123-8E9F-AA74FF418A18\"); \/\/ Id del device da eliminare\ndevicetodelete.add(\"jS0oE8PtHcVerde_0FDFED66-3CD6-4208-BAA1-90968D1AFA01\"); \ndevicetodelete.add(\"jS0oE8PtHcVerde_7a6ff0f023039299\");\nmap.put(\"Devices\", devicetodelete);\nJSONObject al = ca.DeleteDevices(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"JTagsRead\"><\/a>Gestione dei Filtri<\/h2>\n<p>Questa sezione spiega come poter interagire con i filtri<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"JAppTagsRead\"><\/a>Lettura dei Filtri dell&#8217;applicazione<\/h3>\n<p>Questo metodo permette di leggere i Filtri associati all&#8217;applicazione.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>GetAppTagFilters (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>ReturnHystory<\/strong> <i>boolean<\/i>: Se impostato a True la lettura restituisce anche i filtri utilizzati in passato ma che non sono pi\u00f9 associati a nessun device (default false).<\/p>\n<p>Il risultato \u00e8 un array di stringhe.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"ReturnHistory\", \"True\");\nJSONArray al = ca.GetAppTagFilters(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"AddTagFilter\"><\/a>Aggiunta di un Filtro al device<\/h3>\n<p>Questo metodo permette di aggiungere un filtro ad un device.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>AddTagFilter (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>DeviceId<\/strong> <i>string<\/i>: Id del Device per il quale si vuole aggiungere il Tag (obbligatorio)<\/p>\n<p><strong>Tag<\/strong> <i>string<\/i>: Tag da aggiungere al device (obbligatorio)<\/p>\n<p>Il risultato \u00e8 un oggetto contenente i seguenti attributi:<\/p>\n<p><strong>Error<\/strong> <i>boolean<\/i>: Ritorna True in caso di errore<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Messaggio relativo all&#8217;errore o all&#8217;azione appena conclusa<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceId\", \"jS0oE8PtHcVerde_E57F63B1-E43F-48F0-8A08-149F7168A1DE\");\nmap.put(\"Tag\", \"Libra\");\t\/\/Imposta il tag che vuoi aggiungere\nJSONObject al = ca.AddTagFilter(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"RemoveTagFilter\"><\/a>Rimozione di un Filtro dal device<\/h3>\n<p>Questo metodo permette di rimuovere un filtro da un device.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>RemoveTagFilter (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>DeviceId<\/strong> <i>string<\/i>: Id del Device per il quale si vuole aggiungere il Tag (obbligatorio)<\/p>\n<p><strong>Tag<\/strong> <i>string<\/i>: Tag che si vuole rimuovere dal device (obbligatorio)<\/p>\n<p>Il risultato \u00e8 un oggetto contenente i seguenti attributi:<\/p>\n<p><strong>Error<\/strong> <i>boolean<\/i>: Ritorna True in caso di errore<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Messaggio relativo all&#8217;errore o all&#8217;azione appena conclusa<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceId\", \"jS0oE8PtHcVerde_E57F63B1-E43F-48F0-8A08-149F7168A1DE\");\nmap.put(\"Tag\", \"Libra\");\t\/\/Imposta il tag che vuoi rimuovere\nJSONObject al = ca.RemoveTagFilter(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h3><a name=\"CleanTagFilter\"><\/a>Rimozione di tutti i Filtri del device<\/h3>\n<p>Questo metodo permette di rimuovere tutti filtri da un device.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>CleanTagFilter (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>DeviceId<\/strong> <i>string<\/i>: Id del Device per il quale si vuole aggiungere il Tag (obbligatorio)<\/p>\n<p>Il risultato \u00e8 un oggetto contenente i seguenti attributi:<\/p>\n<p><strong>Error<\/strong> <i>boolean<\/i>: Ritorna True in caso di errore<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Messaggio relativo all&#8217;errore o all&#8217;azione appena conclusa<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceId\", \"jS0oE8PtHcVerde_E57F63B1-E43F-48F0-8A08-149F7168A1DE\"); \/\/Rimuove tutti i tag collegati a questo device\nJSONObject al = ca.CleanTagFilter(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"JDevicesRead\"><\/a>Lettura dei Device<\/h2>\n<p>La lettura dei device registrati pu\u00f2 essere filtrata utilizzando svariati parametri, anche combinati fra loro. Per esempio \u00e8 possibile recuperare i device di una determinata piattaforma presenti in una specifica area.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>GetDevices (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>DeviceType<\/strong> <i>int<\/i>: Filtra le notifiche per piattaforma (obbligatorio)<\/p>\n<p><strong>Limit<\/strong> <i>int<\/i>: Numero di record massimi restituiti dalla chiamata (default 5)<\/p>\n<p><strong>Offset<\/strong> <i>long<\/i>: Record di partenza per la lettura paginata (default 0)<\/p>\n<p><strong>Tags<\/strong> <i>array di stringhe<\/i>: Filtra le notifiche per tag inviati<\/p>\n<p><strong>Expired<\/strong> <i>boolean<\/i>: Restituisce anche i device con Token scaduto<\/p>\n<p style=\"padding-bottom: 0px;\"><img loading=\"lazy\" class=\"alignright size-full wp-image-980\" src=\"\/\/www.puship.com\/wp-content\/uploads\/2015\/02\/PointExample.png\" alt=\"Point Example\" width=\"254\" height=\"147\"><\/p>\n<p><strong>P1Latitude<\/strong> <i>double<\/i>: Latitudine del Punto 1 della posizione da filtrare<\/p>\n<p><strong>P1Longitude<\/strong> <i>double<\/i>: Longitudine del Punto 1 della posizione da filtrare<\/p>\n<p><strong>P2Latitude<\/strong> <i>double<\/i>: Latitudine del Punto 2 della posizione da filtrare<\/p>\n<p><strong>P2Longitude<\/strong> <i>double<\/i>: Longitudine del Punto 2 della posizione da filtrare<\/p>\n<p><strong>LastPositionDate<\/strong> <i>time<\/i>: Data in UTC dalla quale considerare la registrazione della posizione<\/p>\n<p><strong>LastPositionNumber<\/strong> <i>int<\/i>: Numero delle ultime posizioni da tenere in considerazione (default infinite)<\/p>\n<p>Il risultato \u00e8 un array di oggetti contenente i seguenti attributi:<\/p>\n<p><strong>DeviceId<\/strong> <i>string<\/i>: Id del device<\/p>\n<p><strong>Expired<\/strong> <i>boolean<\/i>: True se il token \u00e8 scaduto<\/p>\n<p><strong>DeviceType<\/strong> <i>int<\/i>: Piattaforma del device<\/p>\n<p><strong>Created<\/strong> <i>datetime<\/i>: Data e Ora di prima registrazione del device in formato json<\/p>\n<p><strong>Updated<\/strong> <i>datetime<\/i>: Data e Ora di aggiornamento della registrazione in formato json<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"JDeviceReadSimple\"><\/a>Lettura semplice dei Device<\/h3>\n<p>La lettura semplice restituisce tutti i device registrati indipendentemente da qualsiasi filtro e piattaforma.<\/p>\n<p>Di seguito trovate un esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">JSONArray al = ca.GetDevices();<\/pre><\/div>\n\n\n\n<h3><a name=\"JDeviceReadPlatform\"><\/a>Lettura dei Device per Piattaforma<\/h3>\n<p>Consente di filtrare i device in base ad una piattaforma. E&#8217; sufficiente impostare uno dei seguenti valori nel parametro <strong>DeviceType<\/strong>:<\/p>\n<p><strong>1<\/strong> = Piattaforma Apple<\/p>\n<p><strong>2<\/strong> = Piattaforma Android<\/p>\n<p><strong>3<\/strong> = Piattaforma Windows<\/p>\n<p><strong>4<\/strong> = BlackBerry<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"DeviceType\", \"1\"); \/\/ Filtro per piattaforma Apple\nJSONArray al = ca.GetDevices(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h3><a name=\"JDeviceReadTag\"><\/a>Lettura dei Device per Tag<\/h3>\n<p>Consente di filtrare i device in base ad uno o pi\u00f9 Tag.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nSet tagmaps = new HashSet();\ntagmaps.add(\"Libra\"); \/\/Tag numero 1\ntagmaps.add(\"Virgo\"); \/\/Tag numero 2\nmap.put(\"Tags\", tagmaps);\nJSONArray al = ca.GetDevices(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h3><a name=\"JDeviceReadArea\"><\/a>Lettura dei Device per Area<\/h3>\n<p>Consente di filtrare i device in base alle posizione registrate.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map = new HashMap&lt;string, object=\"\">();\nmap.put(\"P1Latitude\", \"40.42163694648697\"); \/\/ Impostiamo l'area di Venezia\nmap.put(\"P1Longitude\", \"10.299156188964844\");\nmap.put(\"P2Latitude\", \"47.45030563100575\");\nmap.put(\"P2Longitude\", \"15.368927001953125\");\nmap.put(\"LastPositionNumber\", \"5\"); \/\/ Vogliamo che la registrazione nell'area di Venezia sia stata effettuata solamente tra le ultime 5 registrazioni\nCalendar c = Calendar.getInstance();\nc.set(2020, 5, 6, 0, 0,0); \/\/ Giugno, 07, 2020\nmap.put(\"LastPositionDate\", c.getTime()); \/\/ Mostra i device registrati dopo la data inserita\nJSONArray al = ca.GetDevices(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"JSendPush\"><\/a>Invio di una notifica<\/h2>\n<p>L&#8217;invio di una notifica pu\u00f2 essere effettuato utilizzando svariati parametri, anche combinati fra loro. Per esempio \u00e8 possibile inviare una notifica per una determinata piattaforma, una specifica area ed un determinato Tag.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>SendPushMessage (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>SendIOS<\/strong> <i>boolean<\/i>: Invia la notifica alla piattaforma IOS (default false)<\/p>\n<p><strong>SendAndroid<\/strong> <i>boolean<\/i>: Invia la notifica alla piattaforma Android (default false)<\/p>\n<p><strong>SendBB<\/strong> <i>boolean<\/i>: Invia la notifica alla piattaforma BlackBerry (default false)<\/p>\n<p><strong>SendWP<\/strong> <i>boolean<\/i>: Invia la notifica alla piattaforma Wp7\/8 (default false)<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Il messaggio da inviare<\/p>\n<p><strong>Badge<\/strong> <i>int<\/i>: Badge associato alla notifica (default 1)<\/p>\n<p><strong>Push<\/strong> <i>boolean<\/i>: Imposta l&#8217;invio(true) o il solo salvataggio(false) della notifica (default true)<\/p>\n<p><strong>Sound<\/strong> <i>string<\/i>: Nome del file da riprodurre all&#8217;arrivo della notifica (default Default)<\/p>\n<p><strong>Tags<\/strong> <i>Array di stringhe<\/i>: Filtra le notifiche per Tag inviati<\/p>\n<p style=\"padding-bottom: 0px;\"><img loading=\"lazy\" class=\"alignright size-full wp-image-980\" src=\"\/\/www.puship.com\/wp-content\/uploads\/2015\/02\/PointExample.png\" alt=\"Point Example\" width=\"254\" height=\"147\"><\/p>\n<p><strong>P1Latitude<\/strong> <i>double<\/i>: Latitudine del Punto 1 della posizione da filtrare<\/p>\n<p><strong>P1Longitude<\/strong> <i>double<\/i>: Longitudine del Punto 1 della posizione da filtrare<\/p>\n<p><strong>P2Latitude<\/strong> <i>double<\/i>: Latitudine del Punto 2 della posizione da filtrare<\/p>\n<p><strong>P2Longitude<\/strong> <i>double<\/i>: Longitudine del Punto 2 della posizione da filtrare<\/p>\n<p><strong>LastPositionDate<\/strong> <i>time<\/i>: Data in UTC dalla quale considerare la registrazione della posizione<\/p>\n<p><strong>LastPositionNumber<\/strong> <i>int<\/i>: Numero delle ultime posizioni da tenere in considerazione (default infinite)<\/p>\n<p><strong>Params<\/strong> <i>mappa di stringhe<\/i>: Mappa di massimo 5 elementi per inserire parametri generici<\/p>\n<p>Il risultato \u00e8 un oggetto contenente i seguenti attributi:<\/p>\n<p><strong>Error<\/strong> <i>boolean<\/i>: Ritorna True in caso di errore<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Messaggio relativo all&#8217;errore o all&#8217;azione appena conclusa<\/p>\n<p><strong>StringParam1<\/strong> <i>string<\/i>: Se l&#8217;azione viene completata con successo contiene l\u2019ID della notifica appena creata<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"JSendPushPlatform\"><\/a>Invio di una notifica per Piattaforma<\/h3>\n<p>Consente di inviare o salvare una notifica in base alle piattaforme. E&#8217; necessario impostare almeno uno dei seguenti parametri a true:<\/p>\n<p><strong>SendIOS<\/strong><\/p>\n<p><strong>SendAndroid<\/strong><\/p>\n<p><strong>SendBB<\/strong><\/p>\n<p><strong>SendWP<\/strong><\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map =  new HashMap&lt;string, object=\"\">();\nmap.put(\"Message\", \"Push inviata a tutti i device WindowsPhone!\");\nmap.put(\"SendIOS\", \"False\");\nmap.put(\"SendAndroid\", \"False\");\nmap.put(\"SendBB\", \"False\");\nmap.put(\"SendWP\", \"True\");\nJSONArray al = ca.SendPushMessage(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h3><a name=\"JSendPushTag\"><\/a>Invio di una notifica per Tag<\/h3>\n<p>Consente di inviare o salvare una notifica in base ai Tag per i quali il device si \u00e8 registrato.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map =  new HashMap&lt;string, object=\"\">();\nmap.put(\"Message\", \"Push inviata ai device Android associati ai Tag Virgo o Libra!\");\nmap.put(\"SendIOS\", \"False\");\nmap.put(\"SendAndroid\", \"True\");\nmap.put(\"SendBB\", \"False\");\nmap.put(\"SendWP\", \"False\");\nSet tagmaps = new HashSet();\ntagmaps.add(\"Libra\"); \/\/Tag numero 1\ntagmaps.add(\"Virgo\"); \/\/Tag numero 2\nmap.put(\"Tags\", tagmaps);\nJSONArray al = ca.SendPushMessage(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h3><a name=\"JSendPushPosition\"><\/a>Invio di una notifica per Area<\/h3>\n<p>Consente di inviare o salvare una notifica in base alle posizioni nelle quali il device si \u00e8 registrato.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map =  new HashMap&lt;string, object=\"\">();\nmap.put(\"Message\", \"Push inviata ai device Android registrati a Venezia negli ultimi due mesi\");\nmap.put(\"SendIOS\", \"False\");\nmap.put(\"SendAndroid\", \"True\");\nmap.put(\"SendBB\", \"False\");\nmap.put(\"SendWP\", \"False\");\nmap.put(\"P1Latitude\", \"40.42163694648697\"); \/\/ Impostiamo l'area di Venezia\nmap.put(\"P1Longitude\", \"10.299156188964844\");\nmap.put(\"P2Latitude\", \"47.45030563100575\");\nmap.put(\"P2Longitude\", \"15.36892001953125\")\nCalendar c = Calendar.getInstance();\nc.set(2014, 5, 6, 0, 0,0); \/\/ Giugno, 07, 2014\nmap.put(\"LastPositionDate\", c.getTime());\nJSONArray al = ca.SendPushMessage(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h3><a name=\"JSendPushParams\"><\/a>Invio di una notifica con Parametri<\/h3>\n<p>Consente di inviare o salvare una notifica con dei parametri generici.<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map =  new HashMap&lt;string, object=\"\">();\nmap.put(\"Message\", \"Push inviata ai device Android con l'aggiunta di 5 parametri generici\");\nmap.put(\"SendIOS\", \"False\");\nmap.put(\"SendAndroid\", \"True\");\nmap.put(\"SendBB\", \"False\");\nmap.put(\"SendWP\", \"False\");\nHashMap&lt;string, object=\"\"> params =  new HashMap&lt;string, object=\"\">(); \/\/ Puoi inserire Testo semplice, urls, pagine da aprire...\nparams.put(\"Param1\", \"Param number 1\");\nparams.put(\"Param2\", \"ttps:\/\/www.facebook.com\/OfficialPuship\");\nparams.put(\"Param3\", \"index.html\");\nparams.put(\"Param4\", \"122.45\");\nparams.put(\"Param5\", \"Special chars:  '%1234567890\\\"!\u00a3$%&amp;\/()=?^\u03b9\u03b8@#\u00b0\u00a7\u03c9-,'\"); \/\/ Max 5 parametri, i successivi sono ignorati\nmap.put(\"Params\", params);\nJSONArray al = ca.SendPushMessage(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"JSendPushForDevice\"><\/a>Invio di una notifica per Device<\/h2>\n<p>Permette di inviare o associare una notifica ad uno o pi\u00f9 device in base al loro Id.<\/p>\n<p>Il metodo da utilizzare \u00e8: <strong>SendPushMessageByDevice (param)<\/strong><\/p>\n<p>I possibili parametri sono:<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Il messaggio da inviare<\/p>\n<p><strong>Badge<\/strong> <i>int<\/i>: Badge associato alla notifica (default 1)<\/p>\n<p><strong>Push<\/strong> <i>boolean<\/i>: Imposta l&#8217;invio(true) o il solo salvataggio(false) della notifica (default true)<\/p>\n<p><strong>Sound<\/strong> <i>string<\/i>: Nome del file da riprodurre all&#8217;arrivo della notifica (default Default)<\/p>\n<p><strong>Devices<\/strong> <i>array di stringhe<\/i>: Id dei device ai quali inviare la notifica (almeno un elemento obbligatorio)<\/p>\n<p><strong>Params<\/strong> <i>mappa di stringhe<\/i>: Mappa di massimo 5 elementi per inserire parametri generici<\/p>\n<p>Il risultato \u00e8 un oggetto contenente i seguenti attributi:<\/p>\n<p><strong>Error<\/strong> <i>boolean<\/i>: Ritorna True in caso di errore<\/p>\n<p><strong>Message<\/strong> <i>string<\/i>: Messaggio relativo all&#8217;errore o all&#8217;azione appena conclusa<\/p>\n<p><strong>StringParam1<\/strong> <i>string<\/i>: Se l&#8217;azione viene completata con successo contiene l\u2019ID della notifica appena creata<\/p>\n<p>Esempio:<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace remove50pxfromcode\"><div style=\"position:absolute;top:-20px;right:0px;cursor:pointer\" class=\"copy-simple-code-block\"><svg aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewbox=\"0 0 20 20\" class=\"dashicon dashicons-admin-page\"><path d=\"M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z\"><\/path><\/svg><\/div><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"javascript\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"true\">HashMap&lt;string, object=\"\"> map =  new HashMap&lt;string, object=\"\">();\nmap.put(\"Message\", \"Push inviata a due specifici device\");\nSet devicetosend = new HashSet();\ndevicetosend.add(\"APKCbOd72fXKVUU_b87389c9-5e86-45cd-88e0-9cc239643faf\"); \/\/ Device numero 1 (microsoft device)\ndevicetosend.add(\"APKCbOd72fXKVUU_7a6ff0f023039299\"); \/\/ Device numero 2 (android device)\nmap.put(\"Devices\", devicetosend);\nJSONArray al = ca.SendPushMessageByDevice(map);<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<p>Scaricando il file PushipApi.jar trovarei all&#8217;interno anche un file di esempio per la configurazione e le chiamate ai vari metodi.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><a  itemprop=\"url\" href=\"\/\/www.puship.com\/it\/documentazione\/java-server-api\/\" target=\"_self\"  class=\"qbutton  default\" style=\"\">Scarica PushipApi.jar + Esempio<\/a><\/p>\n<p>&nbsp;<\/p>\n<p><i>Attenzione: La libreria non \u00e8 supportata da versioni di Java inferiori alla 1.6.<\/i><br>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Utilizzando Java \u00e8 possibile integrarsi con Puship in pochi semplici passi, \u00e8 sufficiente inserire nel proprio progetto il file PushipApi.jar, impostare l&#8217;AppId dell&#8217; applicazione con la quale si desidera interagire, lo Username e la Password del vostro profilo Puship, l&#8217;EnableDebug(default false), ed il timezone per&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":15927,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/15979\/"}],"collection":[{"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/"}],"about":[{"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/types\/page\/"}],"author":[{"embeddable":true,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/users\/1\/"}],"replies":[{"embeddable":true,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/comments\/?post=15979"}],"version-history":[{"count":38,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/15979\/revisions\/"}],"predecessor-version":[{"id":18212,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/15979\/revisions\/18212\/"}],"up":[{"embeddable":true,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/15927\/"}],"wp:attachment":[{"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/media\/?parent=15979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}