{"id":4849,"date":"2017-02-18T20:02:05","date_gmt":"2017-02-18T18:02:05","guid":{"rendered":"https:\/\/www.tomislavstankovic.com\/blog\/?p=4849"},"modified":"2019-01-05T19:57:50","modified_gmt":"2019-01-05T17:57:50","slug":"ionic2-push-notifikacije-android","status":"publish","type":"post","link":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/","title":{"rendered":"Ionic 2 &#8211; Push notifikacije za Android"},"content":{"rendered":"<p><em>Push<\/em> notifikacije postaju sve popularnije i nisu vi\u0161e rezervirane samo za nativne mobilne aplikacije. U ovom \u0107emo blog postu pro\u0107i kroz proces <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/uvod-u-ionic-2\/\" target=\"_blank\">postavljanja <em>Ionic 2<\/em><\/a> aplikacije za primanje <em>push<\/em> notifikacija. <\/p>\n<p>\u0160to se ti\u010de slanja <em>push<\/em> notifikacija to smo obradili u blog postu pod nazivom <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/nodejs-api-push-notifikacija\/\" target=\"_blank\">Node.js API za slanje Push notifikacija<\/a>. To je samo jedan od na\u010dina kako slati <em>push<\/em> notifikacije i ako vam djeluje komplicirano ili vam se jednostavno ne svi\u0111a uvijek mo\u017eete koristiti ne\u0161to od sljede\u0107eg: <a href=\"https:\/\/docs.ionic.io\/services\/push\/\" target=\"_blank\"><em>Ionic Cloud<\/em><\/a>, <a href=\"https:\/\/www.pushwoosh.com\/\" target=\"_blank\"><em>Pushwoosh<\/em><\/a>, <a href=\"https:\/\/onesignal.com\/\" target=\"_blank\"><em>OneSignal<\/em><\/a>,&#8230; <\/p>\n<h2>Instalacija <em>Push<\/em> plugina<\/h2>\n<p>Nakon \u0161to smo <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/uvod-u-ionic-2\/\" target=\"_blank\">postavili <em>Ionic 2<\/em> projekt<\/a> mo\u017eemo dodati <a href=\"https:\/\/ionicframework.com\/docs\/v2\/native\/push\/\" target=\"_blank\"><em>Push plugin<\/em><\/a> pomo\u0107u naredbe:  <\/p>\n<pre class=\"lang:sh decode:true \" >$ ionic plugin add phonegap-plugin-push --variable SENDER_ID=XXXXXXXXX<\/pre>\n<p><em>SENDER_ID<\/em> \u0107ete prona\u0107i u <em>Google Firebase<\/em> su\u010delju na adresi <a href=\"https:\/\/console.firebase.google.com\/\" target=\"_blank\">https:\/\/console.firebase.google.com\/<\/a>.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-SenderID.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-SenderID.jpg\" alt=\"Google Firebase SenderID\" width=\"999\" height=\"563\" class=\"aligncenter size-full wp-image-4853\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-SenderID.jpg 999w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-SenderID-300x169.jpg 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-SenderID-768x433.jpg 768w\" sizes=\"auto, (max-width: 999px) 100vw, 999px\" \/><\/a><\/p>\n<h2>API servis<\/h2>\n<p>Prije nego postavimo <em>push plugin<\/em> napravit \u0107emo servis <strong><em>api-service.ts<\/em><\/strong>. Vi\u0161e o <em>Ionic 2<\/em> servisima mo\u017eete saznati u blog postu <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-prikaz-json-podatak-api\/\" target=\"_blank\"><em>Ionic 2<\/em> \u2013 prikaz <em>JSON<\/em>-a sa <em>API<\/em>-ja<\/a>.<\/p>\n<p>Mo\u017eete primijetiti da koristimo  <span class=\"lang:sh decode:true  crayon-inline \" >https:\/\/localhost:3001\/api\/device-token<\/span> za slanje tokena u MySQL bazu. To je URL koji smo napravili u jednom od <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/nodejs-api-push-notifikacija\/\" target=\"_blank\">prethodnih blog postova<\/a>.<\/p>\n<pre class=\"lang:js decode:true \" >import { Injectable } from '@angular\/core';\r\nimport { Http } from '@angular\/http';\r\nimport 'rxjs\/add\/operator\/map';\r\n\r\n@Injectable()\r\nexport class ApiService {\r\n\r\n  constructor(public _http: Http) {\r\n    console.log('Hello ApiService');\r\n  }\r\n\r\n  sendToken(a: any){\r\n    return this._http.post('http:\/\/localhost:3001\/api\/device-token', a)\r\n      .map(res =&gt; res.json());\r\n  }\r\n\r\n}<\/pre>\n<h2>Postavljanje <em>push plugina<\/em><\/h2>\n<p>Nakon \u0161to smo instalirali <em>Push plugin<\/em> trebamo ga uklju\u010diti u projekt. <\/p>\n<p>Sve dalje navedeno dodajemo u <strong><em>app.component.ts<\/em><\/strong>.<\/p>\n<p>Za po\u010detak pozivamo <em>Push plugin<\/em> i <em>ApiService<\/em>.<\/p>\n<pre class=\"lang:js decode:true \" >import { StatusBar, Splashscreen, Push } from 'ionic-native';\r\nimport { ApiService } from '..\/providers\/api-service';<\/pre>\n<p>Dodajemo  <span class=\"lang:js decode:true  crayon-inline \">provider<\/span> za  <span class=\"lang:js decode:true  crayon-inline \" >MyApp<\/span>  komponentu <\/p>\n<pre class=\"lang:js decode:true \" >providers: [ApiService]<\/pre>\n<p>Unutar konstruktora definiramo ranije kreiran  <span class=\"lang:js decode:true  crayon-inline \" >ApiService<\/span> <\/p>\n<pre class=\"lang:js decode:true \" >public _api: ApiService<\/pre>\n<p>Sljede\u0107i dio slu\u017ei za upravljanje <em>push<\/em> notifikacijama. O ovom dijelu koda odvija se inicijalizacija <em>plugina<\/em>. <\/p>\n<pre class=\"lang:js decode:true \" >   var push = Push.init({\r\n        android: {\r\n          senderID: \"xxxxxxxxxxxx\"\r\n        },\r\n        ios: {\r\n          alert: \"true\",\r\n          badge: true,\r\n          sound: 'false'\r\n        },\r\n        windows: {}\r\n      });\r\n      push.on('registration', (data) =&gt; {\r\n        console.log(data.registrationId);\r\n        this.device_token.token = data.registrationId;             \r\n        \/\/Provjera tokena\r\n        if(localStorage.getItem('device_token')){\r\n\t\t     console.log(\"Ne \u0161alji ni\u0161ta! Token ve\u0107 postoji lokalno!\");\r\n\t       } else {\r\n\t\t    \/\/Token ne postoji, spremi novi\r\n\t\t    localStorage.setItem('device_token', this.device_token.token)\r\n\t\t    \/\/Po\u0161alji token u bazu\r\n\t\t    console.log(\"\u0160aljem token u bazu!\");\r\n\t\t    this._api.sendToken(this.device_token).subscribe(res =&gt; {\r\n          console.log(\"Rezultat: \" + res);\r\n        });\r\n\t     } \r\n      });\r\n      push.on('notification', (data) =&gt; {\r\n        console.log(data);\r\n      });\r\n      push.on('error', (e) =&gt; {\r\n        console.log(e.message);\r\n      });<\/pre>\n<p>Sve zajedno to izgleda ovako:<\/p>\n<p>P.S. Ako ne \u017eelite koristiti svoj <em>NodeJS\/Express.js<\/em> server ne morate praviti <span class=\"lang:js decode:true  crayon-inline \" >import { ApiService } from &#8216;..\/providers\/api-service;&#8217;<\/span> i mo\u017eete izbaciti dio vezan uz provjeru tokena. <\/p>\n<pre class=\"lang:js mark:3,4,10,15,18,23-57 decode:true \" title=\"app.component.ts\" >import { Component } from '@angular\/core';\r\nimport { Platform } from 'ionic-angular';\r\nimport { StatusBar, Splashscreen, Push } from 'ionic-native';\r\nimport { ApiService } from '..\/providers\/api-service';\r\n\r\nimport { HomePage } from '..\/pages\/home\/home';\r\n\r\n@Component({\r\n  templateUrl: 'app.html',\r\n  providers: [ApiService]\r\n})\r\nexport class MyApp {\r\n  rootPage = HomePage;\r\n\r\n  device_token = { token: '' };\r\n\r\n  constructor(platform: Platform,\r\n              public _api: ApiService) {\r\n    platform.ready().then(() =&gt; {\r\n      \/\/ Okay, so the platform is ready and our plugins are available.\r\n      \/\/ Here you can do any higher level native things you might need.\r\n      StatusBar.styleDefault();\r\n        \/\/Push notifikacije po\u010detak\r\n\t   var push = Push.init({\r\n        android: {\r\n          senderID: \"344715041226\"\r\n        },\r\n        ios: {\r\n          alert: \"true\",\r\n          badge: true,\r\n          sound: 'false'\r\n        },\r\n        windows: {}\r\n      });\r\n      push.on('registration', (data) =&gt; {\r\n        console.log(data.registrationId);\r\n        this.device_token.token = data.registrationId;             \r\n        \/\/Provjera tokena\r\n        if(localStorage.getItem('device_token')){\r\n\t\t     console.log(\"Ne \u0161alji ni\u0161ta! Token ve\u0107 postoji lokalno!\");\r\n\t       } else {\r\n\t\t    \/\/Token ne postoji, spremi novi\r\n\t\t    localStorage.setItem('device_token', this.device_token.token)\r\n\t\t    \/\/Po\u0161alji token u bazu\r\n\t\t    console.log(\"\u0160aljem token u bazu!\");\r\n\t\t    this._api.sendToken(this.device_token).subscribe(res =&gt; {\r\n          console.log(\"Rezultat: \" + res);\r\n        });\r\n\t     } \r\n      });\r\n      push.on('notification', (data) =&gt; {\r\n        console.log(data);\r\n      });\r\n      push.on('error', (e) =&gt; {\r\n        console.log(e.message);\r\n      });\r\n        \/\/Push notifikacije kraj\r\n      Splashscreen.hide();\r\n    });\r\n  }\r\n  \r\n}<\/pre>\n<h2>Slanje push notifikacija iz Firebase su\u010delja<\/h2>\n<p><em>Push<\/em> notifikacije tako\u0111er mo\u017eete slati direktno iz <em>Google Firebase<\/em> su\u010delja bez potrebe za izradom i pokretanjem <em>NodeJS<\/em> servera i uvozom <span class=\"lang:js decode:true  crayon-inline \" >import { ApiService } from &#8216;..\/providers\/api-service;&#8217;<\/span> u <em>Ionic 2<\/em> aplikaciju.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-Push.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-Push.jpg\" alt=\"Google Firebase Push\" width=\"991\" height=\"992\" class=\"aligncenter size-full wp-image-4884\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-Push.jpg 991w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-Push-150x150.jpg 150w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-Push-300x300.jpg 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Google-Firebase-Push-768x769.jpg 768w\" sizes=\"auto, (max-width: 991px) 100vw, 991px\" \/><\/a><\/p>\n<h2>Pokretanje aplikacije<\/h2>\n<p>Kada se aplikacija prvi put pokrene <em>token <\/em>ne postoji u lokalnoj memoriji te se u tom trenutku sprema u lokalnu memoriju ure\u0111aja i istovremeno \u0161alje u bazu podataka.<\/p>\n<p>Ako bi maknuli provjeru tokena to bi zna\u010dilo da bi se token putem <em>API<\/em>-ja poslao u <em>MySQL<\/em> bazu svaki put kada se pokrene aplikacija. To naravno ne \u017eelimo pa zato vr\u0161imo provjeru.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Send-Token.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Send-Token.jpg\" alt=\"Ionic2 Android Push Send Token\" width=\"1421\" height=\"374\" class=\"aligncenter size-full wp-image-4872\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Send-Token.jpg 1421w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Send-Token-300x79.jpg 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Send-Token-768x202.jpg 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Send-Token-1024x270.jpg 1024w\" sizes=\"auto, (max-width: 1421px) 100vw, 1421px\" \/><\/a><\/p>\n<p>Kada se aplikacija pokrene svaki sljede\u0107i put provjera \u0107e vidjeti da <em>token <\/em>ve\u0107 postoji i ne\u0107e ga ponovno slati u <em>MySQL <\/em>bazu.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Token.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Token.jpg\" alt=\"Ionic2 Android Push Token\" width=\"1422\" height=\"455\" class=\"aligncenter size-full wp-image-4874\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Token.jpg 1422w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Token-300x96.jpg 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Token-768x246.jpg 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-Token-1024x328.jpg 1024w\" sizes=\"auto, (max-width: 1422px) 100vw, 1422px\" \/><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push.png\" alt=\"Ionic2 Android Push Received\" width=\"320\" height=\"569\" class=\"aligncenter size-full wp-image-4876\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push.png 320w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/Ionic2-Android-Push-169x300.png 169w\" sizes=\"auto, (max-width: 320px) 100vw, 320px\" \/><\/p>\n<h2>Zaklju\u010dak<\/h2>\n<p>U ovom smo blog postu obradili <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/uvod-u-ionic-2\/\" target=\"_blank\">postupak postavljanja <em>Ionic 2<\/em> aplikacije<\/a> za primanje <em>push<\/em> notifikacija na <em>Android <\/em>mobilni ure\u0111aj. Kao \u0161to se mo\u017ee vidjeti postupak nije kompliciran, a sve dalje ovisi o specifi\u010dnim potrebama svake aplikacije. Razli\u010diti scenariji kada i kome slati <em>push<\/em> notifikacije trebaju se razraditi za svaku aplikaciju posebno.<\/p>\n<p>\u0160to se primanja <em>push <\/em>notifikacija na <em>iOS<\/em> ure\u0111aje ti\u010de o tome mo\u017eda nekom drugom prilikom jer postupak je kompliciraniji. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Push notifikacije postaju sve popularnije i nisu vi\u0161e rezervirane samo za nativne mobilne aplikacije. U ovom \u0107emo blog postu pro\u0107i kroz proces postavljanja Ionic 2 aplikacije za primanje push notifikacija. \u0160to se ti\u010de slanja push notifikacija to smo obradili u blog postu pod nazivom Node.js API za slanje Push notifikacija. To je samo jedan od &hellip; <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/\" class=\"more-link\">Nastavi \u010ditati <span class=\"screen-reader-text\">Ionic 2 &#8211; Push notifikacije za Android<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4881,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[564,351],"tags":[349,352,381,387],"class_list":["post-4849","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile","category-razvoj","tag-android","tag-ionic","tag-ionic-2","tag-push-notifikacije"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ionic 2 - Push notifikacije za Android - Tomislav Stankovi\u0107<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/\" \/>\n<meta property=\"og:locale\" content=\"hr_HR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ionic 2 - Push notifikacije za Android - Tomislav Stankovi\u0107\" \/>\n<meta property=\"og:description\" content=\"Push notifikacije postaju sve popularnije i nisu vi\u0161e rezervirane samo za nativne mobilne aplikacije. U ovom \u0107emo blog postu pro\u0107i kroz proces postavljanja Ionic 2 aplikacije za primanje push notifikacija. \u0160to se ti\u010de slanja push notifikacija to smo obradili u blog postu pod nazivom Node.js API za slanje Push notifikacija. To je samo jedan od &hellip; Nastavi \u010ditati Ionic 2 &#8211; Push notifikacije za Android\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta property=\"article:published_time\" content=\"2017-02-18T18:02:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-05T17:57:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/ionic2-push-notifikacije-android.png\" \/>\n\t<meta property=\"og:image:width\" content=\"825\" \/>\n\t<meta property=\"og:image:height\" content=\"510\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisao\/la\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tomislav Stankovi\u0107\" \/>\n\t<meta name=\"twitter:label2\" content=\"Procijenjeno vrijeme \u010ditanja\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/\"},\"author\":{\"name\":\"Tomislav Stankovi\u0107\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"headline\":\"Ionic 2 &#8211; Push notifikacije za Android\",\"datePublished\":\"2017-02-18T18:02:05+00:00\",\"dateModified\":\"2019-01-05T17:57:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/\"},\"wordCount\":481,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/02\\\/ionic2-push-notifikacije-android.png\",\"keywords\":[\"Android\",\"Ionic\",\"Ionic 2\",\"push notifikacije\"],\"articleSection\":[\"Mobile\",\"Razvoj\"],\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/\",\"name\":\"Ionic 2 - Push notifikacije za Android - Tomislav Stankovi\u0107\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/02\\\/ionic2-push-notifikacije-android.png\",\"datePublished\":\"2017-02-18T18:02:05+00:00\",\"dateModified\":\"2019-01-05T17:57:50+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#breadcrumb\"},\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/02\\\/ionic2-push-notifikacije-android.png\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/02\\\/ionic2-push-notifikacije-android.png\",\"width\":825,\"height\":510,\"caption\":\"ionic2 push notifikacije android\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic2-push-notifikacije-android\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna stranica\",\"item\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ionic 2 &#8211; Push notifikacije za Android\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"name\":\"Tomislav Stankovi\u0107\",\"description\":\"Sam svoj bloger\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\",\"name\":\"Tomislav Stankovi\u0107\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\",\"width\":248,\"height\":165,\"caption\":\"Tomislav Stankovi\u0107\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/10\\\/cropped-TomislavStankovic.jpg\"},\"description\":\"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.\",\"sameAs\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/tomislavstankovic\\\/\"],\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/author\\\/tomislavstankovic\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ionic 2 - Push notifikacije za Android - Tomislav Stankovi\u0107","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/","og_locale":"hr_HR","og_type":"article","og_title":"Ionic 2 - Push notifikacije za Android - Tomislav Stankovi\u0107","og_description":"Push notifikacije postaju sve popularnije i nisu vi\u0161e rezervirane samo za nativne mobilne aplikacije. U ovom \u0107emo blog postu pro\u0107i kroz proces postavljanja Ionic 2 aplikacije za primanje push notifikacija. \u0160to se ti\u010de slanja push notifikacija to smo obradili u blog postu pod nazivom Node.js API za slanje Push notifikacija. To je samo jedan od &hellip; Nastavi \u010ditati Ionic 2 &#8211; Push notifikacije za Android","og_url":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/","og_site_name":"Tomislav Stankovi\u0107","article_published_time":"2017-02-18T18:02:05+00:00","article_modified_time":"2019-01-05T17:57:50+00:00","og_image":[{"width":825,"height":510,"url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/ionic2-push-notifikacije-android.png","type":"image\/png"}],"author":"Tomislav Stankovi\u0107","twitter_card":"summary_large_image","twitter_misc":{"Napisao\/la":"Tomislav Stankovi\u0107","Procijenjeno vrijeme \u010ditanja":"4 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#article","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/"},"author":{"name":"Tomislav Stankovi\u0107","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"headline":"Ionic 2 &#8211; Push notifikacije za Android","datePublished":"2017-02-18T18:02:05+00:00","dateModified":"2019-01-05T17:57:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/"},"wordCount":481,"commentCount":0,"publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/ionic2-push-notifikacije-android.png","keywords":["Android","Ionic","Ionic 2","push notifikacije"],"articleSection":["Mobile","Razvoj"],"inLanguage":"hr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/","url":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/","name":"Ionic 2 - Push notifikacije za Android - Tomislav Stankovi\u0107","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#primaryimage"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/ionic2-push-notifikacije-android.png","datePublished":"2017-02-18T18:02:05+00:00","dateModified":"2019-01-05T17:57:50+00:00","breadcrumb":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#breadcrumb"},"inLanguage":"hr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/"]}]},{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#primaryimage","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/ionic2-push-notifikacije-android.png","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2017\/02\/ionic2-push-notifikacije-android.png","width":825,"height":510,"caption":"ionic2 push notifikacije android"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic2-push-notifikacije-android\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna stranica","item":"https:\/\/www.tomislavstankovic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ionic 2 &#8211; Push notifikacije za Android"}]},{"@type":"WebSite","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website","url":"https:\/\/www.tomislavstankovic.com\/blog\/","name":"Tomislav Stankovi\u0107","description":"Sam svoj bloger","publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tomislavstankovic.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d","name":"Tomislav Stankovi\u0107","image":{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg","width":248,"height":165,"caption":"Tomislav Stankovi\u0107"},"logo":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2019\/10\/cropped-TomislavStankovic.jpg"},"description":"Bloger \u0161irokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.","sameAs":["https:\/\/www.tomislavstankovic.com\/blog\/","https:\/\/www.linkedin.com\/in\/tomislavstankovic\/"],"url":"https:\/\/www.tomislavstankovic.com\/blog\/author\/tomislavstankovic\/"}]}},"_links":{"self":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/4849","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/comments?post=4849"}],"version-history":[{"count":35,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/4849\/revisions"}],"predecessor-version":[{"id":6438,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/4849\/revisions\/6438"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media\/4881"}],"wp:attachment":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media?parent=4849"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/categories?post=4849"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/tags?post=4849"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}