{"id":4413,"date":"2016-11-26T22:17:07","date_gmt":"2016-11-26T20:17:07","guid":{"rendered":"https:\/\/www.tomislavstankovic.com\/blog\/?p=4413"},"modified":"2019-01-05T19:58:43","modified_gmt":"2019-01-05T17:58:43","slug":"ionic-aplikacija-google-play-store","status":"publish","type":"post","link":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/","title":{"rendered":"Priprema i objava Ionic aplikacije na Google Play Store"},"content":{"rendered":"<p>Ako \u010ditate ovaj blog post vjerojatno ve\u0107 imate gotovu <em>Ionic<\/em> aplikaciju koju jo\u0161 samo \u017eelite postaviti na <em>Google Play Store<\/em>. Na pravom ste mjestu. U ovom blog postu mo\u017eete vidjeti koje je sve korake potrebno napraviti kako bi <em>Ionic<\/em> aplikacija bila spremna za objavu. <\/p>\n<p>Ovaj blog post pokriva scenarij objave besplatne <em>Android<\/em> aplikacije tj. aplikacije koja ne sadr\u017eava <em>in-app purchase<\/em> ili neke druge specijalne uvjete, a <em>Google <\/em>\u0107e va\u0161u aplikaciju odobriti kroz nekoliko sati ili najvi\u0161e nekoliko dana. <\/p>\n<blockquote><p>Ovakve sli\u010dne upute ve\u0107 postoje <a href=\"https:\/\/ionicframework.com\/docs\/guide\/publishing.html\" target=\"_blank\">na slu\u017ebenim <em>Ionic Framework<\/em> web stranicama<\/a>, ali one govore samo kako ne\u0161to napraviti, ali ne i za\u0161to pa sam primjetio da se ve\u0107ina novih developera \u010de\u0161e po glavi prate\u0107i sve te silne korake, a da pri tome ne znaju za\u0161to ne\u0161to rade. Ovdje \u0107ete dobiti \u0161iru sliku i imati mogu\u0107nost postaviti pitanje u slu\u010daju da negdje zapnete. <\/p><\/blockquote>\n<h2>Uvod<\/h2>\n<p>Priprema i objava aplikacije, neovisno o tome o kojoj platformi je rije\u010d u osnovi sadr\u017eava iste korake:<\/p>\n<ul>\n<li><strong>Mehanizam za potpisivanje aplikacije<\/strong> &#8211; za <em>Android <\/em>se koristi <em>keystore<\/em>, a za <em>iOS<\/em> se koristi <em>signing identity<\/em>. Razli\u010diti nazivi, ali ista svrha, a to je omogu\u0107iti vam potvrdu da ste autor neke aplikacije. Ta \u0107e vam potvrda trebati svaki put kada budete htjeli napraviti nadogradnju (<em>update<\/em>) aplikacije na trgovini aplikacijama.<\/li>\n<li><strong>Mjesto za unos detalja o aplikaciji<\/strong> &#8211; \u010dak i prije nego zavr\u0161ite s izradom aplikacije za pretpostaviti je da ve\u0107 znate koje \u0107ete joj ime dati, koja joj je namjena i vjerovatno ve\u0107 imate ostale promotivne materijale pomo\u0107u kojih \u0107ete se potencijalnim korisnicima poku\u0161ati \u0161to vi\u0161e pribli\u017eiti kako bi preuzeli aplikaciju. <\/li>\n<li><strong>Izrada i optimizacija izvr\u0161ne datoteke koja \u0107e se pokretati na mobilnom ure\u0111aju<\/strong> &#8211; za <em>Android <\/em>se ta izvr\u0161na datoteka tj. APK postavlja direktno na <em>Google Play Store<\/em> stranici dok se za <em>iOS<\/em> (<em>IPA<\/em>) obavlja koriste\u0107i <em>Xcode<\/em>.<\/li>\n<\/ul>\n<p>Prije izrade produkcijske verzije <em>Ionic<\/em> aplikacije:<\/p>\n<ul>\n<li>uklonite nepotrebne datoteke koje ste tijekom razvoja aplikacije koristili <\/li>\n<li>uklonite nepotrebne pluginove i ostale dodatke<\/li>\n<li>umanjite slike kori\u0161tene u aplikaciji tj. kompresirajte ih<\/li>\n<li>kreirajte <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ikona-pocetni-zaslon-ionic-aplikacija\/\" target=\"_blank\">ikonu aplikacije i po\u010detni zaslon<\/a><\/li>\n<\/ul>\n<h2>Priprema Android aplikacije<\/h2>\n<p>1.) <strong>Uklonite<\/strong> <em>Cordova Console plugin<\/em><\/p>\n<p>Ovaj vam <a href=\"https:\/\/cordova.apache.org\/docs\/en\/latest\/reference\/cordova-plugin-console\/\" target=\"_blank\">plugin<\/a> omogu\u0107ava testiranje aplikacije tijekom izrade i nije vam potreban u produkciji. Uklonit \u0107ete ga pomo\u0107u naredbe:<\/p>\n<pre class=\"lang:sh decode:true \" >$ cordova plugin rm cordova-plugin-console<\/pre>\n<p>2.) <strong>Kreirajte privatni klju\u010d<\/strong> s kojim \u0107ete potpisati aplikaciju<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Ionic-Android-Keytool.gif\" alt=\"Ionic Android Keytool\" width=\"982\" height=\"435\" class=\"aligncenter size-full wp-image-4437\" \/><\/p>\n<p>Bez privatnog klju\u010da aplikaciju niti ne mo\u017eete postaviti na <em>Google Play Store<\/em> i zbog toga je jasno koliko je ovaj korak bitan. Ovaj \u0107ete klju\u010d koristiti kroz cijeli \u017eivotni vijek aplikacije tj. prilikom dodavanja nadogradnji (<em>updatea<\/em>). Kako bi kreirali privatni klju\u010d koristit \u0107ete <em>keystore<\/em> unutar naredbenog retka (<em>command-line utility<\/em>). Privatni klju\u010d vrijedi 10 000 dana \u0161to bi trebalo biti vi\u0161e nego dovoljno da pokrije \u017eivotni vijek aplikacije. <\/p>\n<pre class=\"lang:sh decode:true \" >$ keytool -genkey -v -keystore NazivAplikacije.keystore -alias NazivAplikacije -keyalg \r\nRSA -keysize 2048 -validity 10000<\/pre>\n<p>Ova \u0107e naredba stvoriti MojaAplikacija.keystore datoteku koju mo\u017eete smjestiti bilo gdje na ra\u010dunalo i koju morate \u010duvati jer \u0107e vam trebati prilikom prvog potpisivanja aplikacije, ali i prilikom svake nadogradnje. Svaka  verzija aplikacije mora biti potpisana sa istim privatnim klju\u010dem.<\/p>\n<p>P.S. Ako dobijete poruku \u201e <span class=\"lang:sh decode:true  crayon-inline \" >bash: keytool: command not found<\/span> \u201c zna\u010di da niste dobro <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/android-platforma-ionic-aplikacija\/\" target=\"_blank\">postavili razvojnu okolinu<\/a> tj. da morate dodati novu varijablu okru\u017eenja \u201e<em>C:\\Program Files\\Java\\jdk1.8.0_111\\bin<\/em>\u201c pod <em>Environment Variables<\/em> \u2013 <em>System variables<\/em> \u2013 <em>Path<\/em>. <\/p>\n<p>3.) <strong>Kreirajte<\/strong> nepotpisani <strong>APK<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Ionic-Android-Build.gif\" alt=\"Ionic Android Build\" width=\"977\" height=\"433\" class=\"aligncenter size-full wp-image-4441\" \/><\/p>\n<p>Pomo\u0107u naredbe  <span class=\"lang:sh decode:true  crayon-inline \" >build<\/span>  izradite nepotpisani APK. <\/p>\n<pre class=\"lang:sh decode:true \" >$ cordova build --release android<\/pre>\n<p>Novi APK \u0107ete mo\u0107i prona\u0107i u <em>platforms\/android\/build\/outputs\/apk\/android-release-unsigned.apk <\/em>. Kako bi si olak\u0161ali idu\u0107i korak APK mo\u017eete odmah preimenovati u <strong>NazivAplikacije.apk<\/strong>.<\/p>\n<p>4.)<strong> Potpi\u0161ite APK<\/strong> koriste\u0107i privatni klju\u010d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Android-Jarsigner.gif\" alt=\"Android Jarsigner\" width=\"1020\" height=\"618\" class=\"aligncenter size-full wp-image-4444\" \/><\/p>\n<p>Potpisivanje APK-a obavlja se pomo\u0107u alata <em>jarsigner<\/em>. Kopirajte privatni klju\u010d <strong>NazivAplikacije.keystore<\/strong> (morate znati lozinku privatnog klju\u010da) i APK <strong>NazivAplikacije.apk<\/strong> u istu mapu te pokrenite naredbu:<\/p>\n<pre class=\"lang:sh decode:true \" >jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore \r\nNazivApliakcije.keystore NazivAplikacije.apk NazivAplikacije<\/pre>\n<p>Ako dobijete poruku o gre\u0161ci ponovite prija\u0161nje korake. <\/p>\n<p>5.) <strong>Optimizacija APK-a<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Ionic-Android-Zipalign.gif\" alt=\"Ionic Android Zipalign\" width=\"1020\" height=\"620\" class=\"aligncenter size-full wp-image-4447\" \/><\/p>\n<p>Ovo je zadnji korak u pripremi va\u0161eg APK-a za objavu. Alat  <span class=\"lang:sh decode:true  crayon-inline \" >zipalign<\/span>  \u0107e optimizirati va\u0161 APK tako da bolje iskori\u0161tava resurse mobilnog ure\u0111aja. <\/p>\n<p>Pokrenite naredbu:<\/p>\n<pre class=\"lang:sh decode:true \" >$ zipalign -v 4 NazivAplikacije.apk NazivAplikacijeObjava.apk<\/pre>\n<p>U ovom primjeru novi APK koji \u0107ete postaviti na <em>Google Play Store<\/em> zove se <strong>NazivAplikacijeObjava.apk<\/strong>.<\/p>\n<p>P.S. Ako dobijete poruku \u201e <span class=\"lang:sh decode:true  crayon-inline \" >bash: zipalign: command not found<\/span> \u201c zna\u010di da niste dobro <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/android-platforma-ionic-aplikacija\/\">postavili razvojnu okolinu<\/a> tj. da morate dodati novu varijablu okru\u017eenja \u201e<em>C:\\Users\\Tomislav\\AppData\\Local\\Android\\android-sdk\\build-tools\\24.0.3<\/em>\u201c pod <em>Environment Variables<\/em> \u2013 <em>System variables<\/em> \u2013 <em>Path<\/em>.<\/p>\n<h2>Postavljanje APK-a na Google Play Store<\/h2>\n<p>1.) <strong>Registracija<\/strong><\/p>\n<p>Posjetite <em><a href=\"https:\/\/play.google.com\/apps\/publish\/signup\/\" target=\"_blank\">Google Play Developer Console<\/a><\/em> i registrirajte se.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console.jpg\" alt=\"Google Play Developer Console\" width=\"1063\" height=\"678\" class=\"aligncenter size-full wp-image-4452\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console.jpg 1063w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-300x191.jpg 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-768x490.jpg 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-1024x653.jpg 1024w\" sizes=\"auto, (max-width: 1063px) 100vw, 1063px\" \/><\/p>\n<p>2.) Prijavite se u <em>Google Developer Console<\/em> i <strong>dodajte aplikaciju<\/strong> klikom na  <em>Add new application<\/em> te navedite jezik i naziv aplikacije pa odaberite <em>Upload APK<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Add-new-application.png\" alt=\"Google Play Developer Console: Add new application\" width=\"616\" height=\"359\" class=\"aligncenter size-full wp-image-4454\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Add-new-application.png 616w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Add-new-application-300x175.png 300w\" sizes=\"auto, (max-width: 616px) 100vw, 616px\" \/><\/p>\n<p>3.) <strong>Dodajte APK<\/strong><\/p>\n<p>APK mo\u017eete odmah poslati u produkciju, ali isto tako mo\u017eete pokrenuti i <a href=\"https:\/\/support.google.com\/googleplay\/android-developer\/answer\/3131213?hl=en&#038;ref_topic=7071528\" target=\"_blank\">alfta tj. beta test<\/a> ako \u017eelite aplikaciju testirati me\u0111u kontroliranom grupom osoba prije objave produkcijske verzije koja bi bila dostupna svima. Kada pokrenete alfa tj. beta test korisnike mo\u017eete pozvati unosom njihove adresa elektroni\u010dke po\u0161te ili im poslati URL na alfa tj. beta verziju aplikacije. <\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Upload-apk.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Upload-apk.png\" alt=\"Google Play Developer Console: Upload apk\" width=\"1340\" height=\"627\" class=\"aligncenter size-full wp-image-4462\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Upload-apk.png 1340w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Upload-apk-300x140.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Upload-apk-768x359.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Upload-apk-1024x479.png 1024w\" sizes=\"auto, (max-width: 1340px) 100vw, 1340px\" \/><\/a><\/p>\n<p>3.) Odaberite <em>Store Listing<\/em> kako bi dodali <strong>osnovne informacije o aplikaciji<\/strong><\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing.png\" alt=\"Google Play Developer Console: Prepare Store Listing\" width=\"1890\" height=\"951\" class=\"aligncenter size-full wp-image-4456\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing.png 1890w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-300x151.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-768x386.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-1024x515.png 1024w\" sizes=\"auto, (max-width: 1890px) 100vw, 1890px\" \/><\/a><\/p>\n<p>4.) <strong>Unesite grafi\u010dke elemente<\/strong><\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Image.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Image.png\" alt=\"Google Play Developer Console: Prepare Store Listing Image\" width=\"1448\" height=\"949\" class=\"aligncenter size-full wp-image-4458\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Image.png 1448w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Image-300x197.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Image-768x503.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Image-1024x671.png 1024w\" sizes=\"auto, (max-width: 1448px) 100vw, 1448px\" \/><\/a><\/p>\n<p>5.) <strong>Unesite ostale detalje<\/strong> i kliknite na <em>Save draft<\/em> u gornjem densom uglu ekrana kako bi sve ranije uneseno spremili<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Categorization.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Categorization.png\" alt=\"Google Play Developer Console Prepare Store Listing Categorization\" width=\"1038\" height=\"799\" class=\"aligncenter size-full wp-image-4460\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Categorization.png 1038w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Categorization-300x231.png 300w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Categorization-768x591.png 768w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Prepare-Store-Listing-Categorization-1024x788.png 1024w\" sizes=\"auto, (max-width: 1038px) 100vw, 1038px\" \/><\/a><\/p>\n<p>6.) <strong>Ispunite kratak upitnik<\/strong> kako bi va\u0161a aplikacija dobila pripadaju\u0107u ocjenu (<em>Content Rating<\/em>) te <strong>navedite koje dr\u017eave \u017eelite pokriti svojom aplikacijom<\/strong> te eventualno dodajte cijenu (<em>Pricing &#038; Distribution<\/em>). Svaka stavka iz ovog izbornika mora biti zelena.<\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-1.jpg\" alt=\"Google Play Developer Console\" width=\"240\" height=\"307\" class=\"aligncenter size-full wp-image-4466\" srcset=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-1.jpg 240w, https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-1-235x300.jpg 235w\" sizes=\"auto, (max-width: 240px) 100vw, 240px\" \/><\/a><\/p>\n<p>7.) <strong>Objavite aplikaciju<\/strong><\/p>\n<p>Kada ste ispunili sve navedeno, <em>Ready to publish<\/em>,  spremni ste za objavu aplikacije <em>Publish app<\/em>. <\/p>\n<p><a href=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Publish-app.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/Google-Play-Developer-Console-Publish-app.png\" alt=\"Google Play Developer Console: Publish app\" width=\"1438\" height=\"720\" class=\"aligncenter size-full wp-image-4468\" \/><\/a><\/p>\n<h2>Nadogradnja (<em>update<\/em>)<\/h2>\n<p>Svaki sljede\u0107i put kada \u017eelite nadograditi aplikaciju morate pro\u0107i gore navedene korake od 1 do 5 osim koraka 2 jer <em>keystore<\/em> ve\u0107 imate.<\/p>\n<p>Prije nego ponovite taj proces pobrinite se da u <strong>config.xml<\/strong> navedete novi <strong><em>version<\/em><\/strong> broj koji mora biti ve\u0107i od onoga koji se u tom trenutku nalazi na <em>Google Play Store<\/em>.<\/p>\n<pre class=\"lang:xhtml mark:2 decode:true \" >&lt;?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?&gt;\r\n&lt;widget id=\"com.tomislavstankovic.nazivaplikacije\" version=\"0.0.2\" xmlns=\"https:\/\/www.w3.org\/ns\/widgets\" xmlns:cdv=\"https:\/\/cordova.apache.org\/ns\/1.0\"&gt;\r\n  &lt;name&gt;myApp&lt;\/name&gt;\r\n  &lt;description&gt;\r\n        Primjer Ionic aplikacije.\r\n    &lt;\/description&gt;\r\n  &lt;author email=\"you@example.com\" href=\"https:\/\/example.com.com\/\"&gt;\r\n     Tomislav Stankovi\u0107\r\n    &lt;\/author&gt;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Ako \u010ditate ovaj blog post vjerojatno ve\u0107 imate gotovu Ionic aplikaciju koju jo\u0161 samo \u017eelite postaviti na Google Play Store. Na pravom ste mjestu. U ovom blog postu mo\u017eete vidjeti koje je sve korake potrebno napraviti kako bi Ionic aplikacija bila spremna za objavu. Ovaj blog post pokriva scenarij objave besplatne Android aplikacije tj. aplikacije &hellip; <a href=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/\" class=\"more-link\">Nastavi \u010ditati <span class=\"screen-reader-text\">Priprema i objava Ionic aplikacije na Google Play Store<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":4421,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[564,351],"tags":[367,348,370,371,368,369],"class_list":["post-4413","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile","category-razvoj","tag-google-play-store","tag-ionic-framework","tag-jarsigner","tag-keystore","tag-objava-aplikacije","tag-zipalign"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Priprema i objava Ionic aplikacije na Google Play Store - 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\/ionic-aplikacija-google-play-store\/\" \/>\n<meta property=\"og:locale\" content=\"hr_HR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Priprema i objava Ionic aplikacije na Google Play Store - Tomislav Stankovi\u0107\" \/>\n<meta property=\"og:description\" content=\"Ako \u010ditate ovaj blog post vjerojatno ve\u0107 imate gotovu Ionic aplikaciju koju jo\u0161 samo \u017eelite postaviti na Google Play Store. Na pravom ste mjestu. U ovom blog postu mo\u017eete vidjeti koje je sve korake potrebno napraviti kako bi Ionic aplikacija bila spremna za objavu. Ovaj blog post pokriva scenarij objave besplatne Android aplikacije tj. aplikacije &hellip; Nastavi \u010ditati Priprema i objava Ionic aplikacije na Google Play Store\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/\" \/>\n<meta property=\"og:site_name\" content=\"Tomislav Stankovi\u0107\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-26T20:17:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-01-05T17:58:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/ionic-aplikacija-google-play-store.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=\"5 minuta\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/\"},\"author\":{\"name\":\"Tomislav Stankovi\u0107\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"headline\":\"Priprema i objava Ionic aplikacije na Google Play Store\",\"datePublished\":\"2016-11-26T20:17:07+00:00\",\"dateModified\":\"2019-01-05T17:58:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/\"},\"wordCount\":974,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#\\\/schema\\\/person\\\/0329c549c57700034ea77f5d3d78396d\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/ionic-aplikacija-google-play-store.png\",\"keywords\":[\"Google Play Store\",\"Ionic Framework\",\"jarsigner\",\"keystore\",\"objava aplikacije\",\"zipalign\"],\"articleSection\":[\"Mobile\",\"Razvoj\"],\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/\",\"name\":\"Priprema i objava Ionic aplikacije na Google Play Store - Tomislav Stankovi\u0107\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/ionic-aplikacija-google-play-store.png\",\"datePublished\":\"2016-11-26T20:17:07+00:00\",\"dateModified\":\"2019-01-05T17:58:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#breadcrumb\"},\"inLanguage\":\"hr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hr\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/ionic-aplikacija-google-play-store.png\",\"contentUrl\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/11\\\/ionic-aplikacija-google-play-store.png\",\"width\":825,\"height\":510,\"caption\":\"Priprema i objava Ionic aplikacije na Google Play Store\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/ionic-aplikacija-google-play-store\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna stranica\",\"item\":\"https:\\\/\\\/www.tomislavstankovic.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Priprema i objava Ionic aplikacije na Google Play Store\"}]},{\"@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":"Priprema i objava Ionic aplikacije na Google Play Store - 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\/ionic-aplikacija-google-play-store\/","og_locale":"hr_HR","og_type":"article","og_title":"Priprema i objava Ionic aplikacije na Google Play Store - Tomislav Stankovi\u0107","og_description":"Ako \u010ditate ovaj blog post vjerojatno ve\u0107 imate gotovu Ionic aplikaciju koju jo\u0161 samo \u017eelite postaviti na Google Play Store. Na pravom ste mjestu. U ovom blog postu mo\u017eete vidjeti koje je sve korake potrebno napraviti kako bi Ionic aplikacija bila spremna za objavu. Ovaj blog post pokriva scenarij objave besplatne Android aplikacije tj. aplikacije &hellip; Nastavi \u010ditati Priprema i objava Ionic aplikacije na Google Play Store","og_url":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/","og_site_name":"Tomislav Stankovi\u0107","article_published_time":"2016-11-26T20:17:07+00:00","article_modified_time":"2019-01-05T17:58:43+00:00","og_image":[{"width":825,"height":510,"url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/ionic-aplikacija-google-play-store.png","type":"image\/png"}],"author":"Tomislav Stankovi\u0107","twitter_card":"summary_large_image","twitter_misc":{"Napisao\/la":"Tomislav Stankovi\u0107","Procijenjeno vrijeme \u010ditanja":"5 minuta"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#article","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/"},"author":{"name":"Tomislav Stankovi\u0107","@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"headline":"Priprema i objava Ionic aplikacije na Google Play Store","datePublished":"2016-11-26T20:17:07+00:00","dateModified":"2019-01-05T17:58:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/"},"wordCount":974,"commentCount":0,"publisher":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#\/schema\/person\/0329c549c57700034ea77f5d3d78396d"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/ionic-aplikacija-google-play-store.png","keywords":["Google Play Store","Ionic Framework","jarsigner","keystore","objava aplikacije","zipalign"],"articleSection":["Mobile","Razvoj"],"inLanguage":"hr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/","url":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/","name":"Priprema i objava Ionic aplikacije na Google Play Store - Tomislav Stankovi\u0107","isPartOf":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#primaryimage"},"image":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#primaryimage"},"thumbnailUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/ionic-aplikacija-google-play-store.png","datePublished":"2016-11-26T20:17:07+00:00","dateModified":"2019-01-05T17:58:43+00:00","breadcrumb":{"@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#breadcrumb"},"inLanguage":"hr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/"]}]},{"@type":"ImageObject","inLanguage":"hr","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#primaryimage","url":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/ionic-aplikacija-google-play-store.png","contentUrl":"https:\/\/www.tomislavstankovic.com\/blog\/wp-content\/uploads\/2016\/11\/ionic-aplikacija-google-play-store.png","width":825,"height":510,"caption":"Priprema i objava Ionic aplikacije na Google Play Store"},{"@type":"BreadcrumbList","@id":"https:\/\/www.tomislavstankovic.com\/blog\/ionic-aplikacija-google-play-store\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna stranica","item":"https:\/\/www.tomislavstankovic.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Priprema i objava Ionic aplikacije na Google Play Store"}]},{"@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\/4413","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=4413"}],"version-history":[{"count":54,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/4413\/revisions"}],"predecessor-version":[{"id":4482,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/posts\/4413\/revisions\/4482"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media\/4421"}],"wp:attachment":[{"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/media?parent=4413"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/categories?post=4413"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tomislavstankovic.com\/blog\/wp-json\/wp\/v2\/tags?post=4413"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}