{"id":15983,"date":"2015-02-09T10:07:16","date_gmt":"2015-02-09T09:07:16","guid":{"rendered":"http:\/\/puship.com\/?page_id=15983"},"modified":"2020-07-20T18:13:39","modified_gmt":"2020-07-20T17:13:39","slug":"guida-common","status":"publish","type":"page","link":"https:\/\/www.puship.com\/it\/documentazione\/guida-common\/","title":{"rendered":"libreria Puship"},"content":{"rendered":"\n<p>Questa pagina documenta tutti i metodi comuni presenti nella libreria javascript del Puship-Plugin, questo significa che i metodi qui presenti sono compatibili con tutte le piattaforme e andranno a produrre gli stessi risultati.<\/p>\n<p>Tutti i metodi comuni si trovano all&#8217;interno della variabile <strong>Puship<\/strong><\/p>\n<p>&nbsp;<\/p>\n<div id=\"guidemenu\">\n<ol>\n<li><a href=\"#Registration\">Registrazione del device<\/a><\/li>\n<li><a href=\"#ManageTags\">Gestione Tags<\/a>\n<ol>\n<li><a href=\"#AddTags\">Aggiunta<\/a><\/li>\n<li><a href=\"#RemoveTags\">Rimozione<\/a><\/li>\n<li><a href=\"#CleanTags\">Clean<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#GetMessages\">Ricezione delle notifiche push<\/a><\/li>\n<li><a href=\"#GetPush\">Lettura notifiche Push<\/a>\n<ol>\n<li><a href=\"#GetPushSimple\">Lettura semplice<\/a><\/li>\n<li><a href=\"#GetPushByDevice\">Lettura per device<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#DeleteMessages\">Eliminazione di una notifica<\/a><\/li>\n<li><a href=\"#RegPosition\">Registrare una posizione<\/a>\n<ol>\n<li><a href=\"#RegPositionManual\">Registrazione Manuale<\/a><\/li>\n<li><a href=\"#RegPositionAutomatic\">Registrazione Automatica<\/a><\/li>\n<li><a href=\"#RegPositionDisAutomatic\">Disabilitazione Registrazione Automatica<\/a><\/li>\n<\/ol>\n<\/li>\n<li><a href=\"#Unregister\">Deregistrare un device<\/a><\/li>\n<\/ol>\n<\/div>\n<p>&nbsp;<\/p>\n<h2><a name=\"Registration\"><\/a>Registrazione del device<\/h2>\n<p>La registrazione del device \u00e8 ora comune fra tutte le piattaforme. Prima di chiamare il metodo <b>Register<\/b> di Puship va per\u00f2 configurato il <i>Phonegap-Push-Plugin<\/i> e installato il <i>Puship-plugin<\/i>.\nTrovate una guida per tutte le piattaforme a <a href=\"\/\/www.puship.com\/it\/setup-generico\/\">questo link<\/a>, oppure un esempio specifico per cordova CLI a <a href=\"\/\/www.puship.com\/it\/cordova-cli\/\">questo link<\/a>.<\/p>\n<p><strong>Register(<\/strong>registrationID<strong>, <\/strong>pushipID<strong>)<\/strong><\/p>\n<p><strong>Register(<\/strong>registrationID<strong>, <\/strong>pushipID<strong>, <\/strong>options<strong>)<\/strong><\/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\">Puship.Register(\n\tdata.registrationId,\n\t'YOUR-PUSHIP-APP-CODE',\n\t{\n\t\tsuccessCallback: function (pushipresult) {\n\t\t\talert(\"device registered with DeviceId:\" + pushipresult.DeviceId());\n\t\t},\n\t\tfailCallback: function (pushipresult) {\n\t\t\talert(\"error during registration: \"+ JSON.stringify(pushipresult));\n\t\t}\n\t}\n);<\/pre><\/div>\n\n\n\n<p>L&#8217;opzione <strong>registrationID<\/strong> \u00e8 il <i>data.registrationId<\/i> generato dal Phonegap push plugin nel metodo push.on(&#8216;registration&#8217;, callback).<br>L&#8217;opzione <strong>pushipID<\/strong> \u00e8 l&#8217;AppCode generato quando crei l&#8217;applicazione nel puship manager.<\/p>\n<p>&nbsp;<\/p>\n<h2><a name=\"ManageTags\"><\/a>Gestione Tags<\/h2>\n<p>I tag non sono altro che dei filtri associabili a un determinato device. In questo modo si riescono ad inviare le notifiche push selettivamente creando maggiori opportunit\u00e0 di interazione con l&#8217;applicazione e quindi con l&#8217;utente.<br>Ad esempio si possono creare dei tag per ogni segno zodiacale, per poi inviare l&#8217;oroscopo selettivamente, via notifica push, ad ogni determinato tag\u2026 forte no?<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"AddTags\"><\/a>Aggiungere Tags<\/h3>\n<p>E&#8217; possibile aggiungere dei tag al dispositivo attraverso i seguenti metodi:<\/p>\n<p><strong>AddTagFilter(<\/strong>tag<strong>)<\/strong><\/p>\n<p><strong>AddTagFilter(<\/strong>tag<strong>, <\/strong>options<strong>)<\/strong><\/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\">Puship.AddTagFilter(\n\t\"Virgin\", \n\t{removePrevTag: true}\n);<\/pre><\/div>\n\n\n\n<p>L&#8217;opzione <strong>removePrevTag<\/strong> consente di rimuovere i tag precedentemente inseriti.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"RemoveTags\"><\/a>Rimuovere Tags<\/h3>\n<p>E&#8217; possibile rimuovere dei tag al dispositivo attraverso il seguente metodo:<\/p>\n<p><strong>RemoveTagFilter(<\/strong>tag<strong>)<\/strong><\/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\">Puship.RemoveTagFilter(\"Virgin\");<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h3><a name=\"CleanTags\"><\/a>Pulisci Tags<\/h3>\n<p>Per poter rimuovere tutti i tag precedentemente associati \u00e8 sufficiente chiamare il metodo CleanTagFilter:<\/p>\n<p><strong>CleanTagFilter()<\/strong><\/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\">Puship.CleanTagFilter();<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"GetMessages\"><\/a>Ricezione delle notifiche push<\/h2>\n<p>La ricezione delle notifiche \u00e8 gestita completamente dal phonegap-push-plugin, \u00e8 possibile trovare una guida dettagliata a <a href=\"https:\/\/github.com\/phonegap\/phonegap-plugin-push\/blob\/master\/docs\/API.md#pushonnotification-callback\">questo link<\/a>. Di norma viene inserita nel <i>onDeviceReady<\/i> dopo la chiamata al <i>PushNotification.init<\/i><\/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\">push.on('notification', data => {\n  console.log(data.message);\n  console.log(data.title);\n  console.log(data.count);\n  console.log(data.sound);\n  console.log(data.image);\n  console.log(data.additionalData);\n});<\/pre><\/div>\n\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"GetPush\"><\/a>Lettura notifiche Push<\/h2>\n<p>La lettura delle notifiche push pu\u00f2 essere effettuata sia in modalit\u00e0 semplice, sia in riferimento al device che ne sta facendo richiesta.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"GetPushSimple\"><\/a>Lettura semplice<\/h3>\n<p>La lettura semplice consente di accedere alle tutte le notifiche basandosi solamente sul filtro utilizzato (se utilizzato), questo permette di accedere a notifiche push passate, inviate cio\u00e8 prima che il device si registrasse per la ricezione.<br>Il seguente metodo ritorna le push in modalit\u00e0 semplice:<\/p>\n<p><strong>GetPushMessages(<\/strong>options<strong>)<\/strong><\/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\">Puship.GetPushMessages(\n\t{\n\t\/\/limit: 10, \/\/max limit is 50 default is 20\n\t\/\/offset: 100,\n\t\/\/includeParams: true,\n\tbyCurrentPosition: false,\n\ttag : \"Libra\",\n\tsuccessCallback: function (regresult){\n\t\tconsole.log(\"GetPushMessages done\");\n\t\t\n\t\tif (regresult.length > 0)\n\t\t{\n\t\t\tconsole.log(\"PushMessageId: \" + regresult[0].PushMessageId);\n\t\t\tconsole.log(\"Param1: \"+ regresult[0][\"Params\"].Param1); \/\/ visibile solo se includeParams \u00e8 True\n\t\t\tconsole.log(\"Param2: \"+ regresult[0][\"Params\"].Param2);\n\t\t\talert(\"Message 1 of \"+regresult.length+\": \"+regresult[0].Message);\n\t\t}else{\n\t\t\talert(\"No message found\");\n\t\t}\n\t},\n\tfailCallback: function (regresult){\n\t\talert(\"error during GetPushMessages: \"+ regresult);\n\t}\n});<\/pre><\/div>\n\n\n\n<p>L&#8217;opzione <strong>limit<\/strong> consente di limitare il numero di push ricevute dalla funzione.<br>L&#8217;opzione <strong>offset<\/strong> consente di impostare un puntatore di partenza per la query delle notifiche.<br>L&#8217;opzione <strong>includeParams<\/strong> consente di ritornare anche i parametri assegnati alla notifica corrente.<br>L&#8217;opzione <strong>byCurrentPosition<\/strong> consente di filtrare per le notifiche push in base alla posizione corrente del device.<br>L&#8217;opzione <strong>tag<\/strong> consente di filtare le notifiche in base ai tag alle quali sono state associate.<br>L&#8217;opzione <strong>addDevicePush<\/strong> 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>&nbsp;<\/p>\n<h3><a name=\"GetPushByDevice\"><\/a>Lettura per device<\/h3>\n<p>La ricezione per device \u00e8 invece pi\u00f9 restrittiva, essa ritorna solo le notifiche che sono state inviate specificatamente a questo determinato device.<br>Il seguente metodo ritorna le push in riferimento al device:<\/p>\n<p><strong>GetPushMessagesByDevice(<\/strong>options<strong>)<\/strong><\/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\">Puship.GetPushMessagesByDevice(\n\t{\n\t\/\/limit: 10, \/\/max limit is 50 default is 20\n\t\/\/offset: 100,\n\t\/\/includeParams: true,\n\tsuccessCallback: function (regresult){\n\t\tconsole.log(\"GetPushMessagesByDevice done\");\n\t\t\n\t\tif (regresult.length > 0)\n\t\t{\n\t\t\tconsole.log(\"PushMessageId: \" + regresult[0].PushMessageId);\n\t\t\tconsole.log(\"Param1: \"+ regresult[0][\"Params\"].Param1); \/\/ visibile solo se includeParams \u00e8 True\n\t\t\tconsole.log(\"Param2: \"+ regresult[0][\"Params\"].Param2);\n\t\t\talert(\"Message 1 of \"+regresult.length+\": \"+regresult[0].Message);\n\t\t}else{\n\t\t\talert(\"No message found\");\n\t\t}\n\t},\n\tfailCallback: function (regresult){\n\t\talert(\"error during GetPushMessagesByDevice: \"+ regresult);\n\t}\n});<\/pre><\/div>\n\n\n\n<p>L&#8217;opzione <strong>limit<\/strong> consente di limitare il numero di push ricevute dalla funzione.<br>L&#8217;opzione <strong>offset<\/strong> consente di impostare un puntatore di partenza per la query delle notifiche.<br>L&#8217;opzione <strong>includeParams<\/strong> consente di ritornare anche i parametri assegnati alla notifica corrente.<\/p>\n<p>Negli esempi scaricabili per la registrazione delle varie piattaforme \u00e8 possibile trovare anche il codice di esempio per la lettura delle notifiche.<\/p>\n<p>&nbsp;<\/p>\n<h2><a name=\"DeleteMessages\"><\/a>Eliminazione di una notifica<\/h2>\n<p>Chiamando questa funzione sar\u00e0 possibile eliminare una notifica dal server puship.<\/p>\n<p><strong>DeletePushMessage(<\/strong>PushMessageId<strong>)<\/strong><\/p>\n<p><strong>DeletePushMessage(<\/strong>PushMessageId<strong>, <\/strong>options<strong>)<\/strong><\/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\">Puship.DeletePushMessage(\"APKCbOd72fXKVUU_4be87030-2eda-11e4-8c21-0800200c9a66\",\n\t{\n\tsuccessCallback: function (regresult){\n\t\talert(\"Message deleted\");\n\t},\n\tfailCallback: function (regresult){\n\t\talert(\"Message delete error: \"+ regresult);\n\t}\n});<\/pre><\/div>\n\n\n\n<p>Negli esempi scaricabili per la registrazione delle varie piattaforme \u00e8 possibile trovare anche il codice di esempio per l&#8217;eliminazione di una notifica.<\/p>\n<p>&nbsp;<\/p>\n<h2><a name=\"RegPosition\"><\/a>Registrare una posizione<\/h2>\n<p>La registrazione delle posizioni pu\u00f2 essere effettuata sia in modalit\u00e0 manuale, sia in modalit\u00e0 automatica.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"RegPositionManual\"><\/a>Registrazione Manuale<\/h3>\n<p>Chiamando questa funzione sar\u00e0 possibile registrare in qualsiasi momento la posizione del dispositivo. E&#8217; buona norma aggiornare la posizione al momento dell&#8217;avvio dell&#8217;applicazione ma nulla vieta che essa sia effettuata pi\u00f9 di frequente in modo da fornire una geolocalizzazione pi\u00f9 accurata.<\/p>\n<p><strong>RegisterCurrentPosition(<\/strong><strong>)<\/strong><\/p>\n<p><strong>RegisterCurrentPosition(<\/strong>options<strong>)<\/strong><\/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\">Puship.RegisterCurrentPosition(\n\t{\n\t\/\/callMinutes: 1,\n\t\/\/enableHighAccuracy: true,\n\t\/\/minimumAccuracy: 50, \/\/Esclude le posizioni con accuratezza rilevata > 50 metri\n\tsuccessCallback: function (regresult){\n\t\talert(\"Position registration done\");\n\t},\n\tfailCallback: function (regresult){\n\t\talert(\"Position registration error: \"+ regresult);\n\t}\n});<\/pre><\/div>\n\n\n\n<p>L&#8217;opzione <strong>callMinutes<\/strong> consente di impostare il tempo fra una chiamata e la successive al server puship, per ottimizzare l&#8217;utilizzo della banda. Non \u00e8 possibile impostare un valore minore di 1 minuti.<br>L&#8217;opzione <strong>enableHighAccuracy<\/strong> consente di forzare l&#8217;utilizzo del GPS.<br>L&#8217;opzione <strong>minimumAccuracy<\/strong> consente di escludere le posizioni rilevate con una accuratezza rilevata minore di quella impostata. Se l&#8217;accuratezza rilevata \u00e8 NULL la posizione non viene mai scartata<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"RegPositionAutomatic\"><\/a>Registrazione Automatica<\/h3>\n<p>Chiamando questa funzione sar\u00e0 possibile attivare la registrazione automatica della posizione del device. Questa funzionalit\u00e0 sfrutta la funzione WatchPosition di Phonegap.<\/p>\n<p><strong>ActivateWatchPosition()<\/strong><\/p>\n<p><strong>ActivateWatchPosition(<\/strong>options<strong>)<\/strong><\/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\">Puship.ActivateWatchPosition({\n\t\/\/callMinutes: 5,\n\t\/\/enableHighAccuracy: true,\n\t\/\/minimumAccuracy: 50, \/\/Esclude le posizioni con accuratezza rilevata > 50 metri\n});<\/pre><\/div>\n\n\n\n<p>L&#8217;opzione <strong>callMinutes<\/strong> consente di impostare il tempo fra una chiamata e la successive al server puship, per ottimizzare l&#8217;utilizzo della banda. Non \u00e8 possibile impostare un valore minore di 5 minuti.<br>L&#8217;opzione <strong>enableHighAccuracy<\/strong> consente di forzare l&#8217;utilizzo del GPS.<br>L&#8217;opzione <strong>minimumAccuracy<\/strong> consente di escludere le posizioni rilevate con una accuratezza rilevata minore di quella impostata. Se l&#8217;accuratezza rilevata \u00e8 NULL la posizione non viene mai scartata<\/p>\n<p>Attenzione: Alcune versioni dei sistemi operativi disabilitano by design la geolocalizzazione quando il device viene bloccato o si esce dall&#8217;applicazione.<\/p>\n<p>&nbsp;<\/p>\n<h3><a name=\"RegPositionDisAutomatic\"><\/a>Disabilitazione Registrazione Automatica<\/h3>\n<p>Chiamando questa funzione sar\u00e0 possibile disattivare la registrazione automatica della posizione del device.<\/p>\n<p><strong>StopWatchPosition()<\/strong><\/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\">Puship.StopWatchPosition();<\/pre><\/div>\n\n\n<p>&nbsp;<\/p>\n<h2><a name=\"Unregister\"><\/a>Deregistrare un device<\/h2>\n<p>A volte pu\u00f2 essere necessario deregistrare il dispositivo, per farlo \u00e8 sufficiente uno dei seguenti metodi:<\/p>\n<p><strong>UnregisterFromPuship()<\/strong><\/p>\n<p><strong>UnregisterFromPuship(<\/strong>callbackSuccess<strong>)<\/strong><\/p>\n<p><strong>UnregisterFromPuship(<\/strong>callbackSuccess<strong>,<\/strong> callbackFail<strong>)<\/strong><\/p>\n<p>Di seguito trovate un esempio:<\/p>\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\">Puship.UnregisterFromPuship( \n\tfunction() {\n\t\talert(\"success unregistered\");\n\t},\n\tfunction(err) {\n\t\talert(\"error: \"+ err);\n\t},\n);<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Questa pagina documenta tutti i metodi comuni presenti nella libreria javascript del Puship-Plugin, questo significa che i metodi qui presenti sono compatibili con tutte le piattaforme e andranno a produrre gli stessi risultati. Tutti i metodi comuni si trovano all&#8217;interno della variabile Puship &nbsp; Registrazione&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":56,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/15983\/"}],"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=15983"}],"version-history":[{"count":48,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/15983\/revisions\/"}],"predecessor-version":[{"id":18097,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/15983\/revisions\/18097\/"}],"up":[{"embeddable":true,"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/pages\/56\/"}],"wp:attachment":[{"href":"https:\/\/www.puship.com\/it\/wp-json\/wp\/v2\/media\/?parent=15983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}