{"id":1426,"date":"2016-09-15T16:21:10","date_gmt":"2016-09-15T16:21:10","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=1426"},"modified":"2017-04-28T17:39:16","modified_gmt":"2017-04-28T17:39:16","slug":"ionic-native-getting-your-app-rated-and-reviewed","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed","title":{"rendered":"Ionic Native: Getting Your App Rated and Reviewed"},"content":{"rendered":"<p>There&#8217;s lots of things that can make a mobile app successful&#8211;a great user experience, an intuitive and performant UI, not crashing, and actually being useful are just a few crazy ideas that just might work. But at the end of the day, apps first need to be discovered. There&#8217;s currently something to the tune of over two million apps in the Apple App Store <em>and<\/em> two million apps in the Google Play Store, all fighting for your attention in a dystopian, Thunderdome-like scenario. Conceptually it&#8217;s something like this:<\/p>\n<p>What I&#8217;m trying to say is, there&#8217;s a lot of competition, which can make it very hard for a new app to get noticed, let alone downloaded. It&#8217;s pretty bleak. So how to triumph and rise to the top of the charts? One of the best ways to break out of the crowd is to get positive ratings and reviews from your users.<\/p>\n<p>In this post, we&#8217;ll take a look at one of the most common ways to get users to rate and review apps: by asking them to. Specifically, we&#8217;ll take a look at the App Rate plugin in Ionic Native, which makes it easy to prompt users to rate and review your app.<\/p>\n<p>It&#8217;s useful, simple, and best of all, it doesn&#8217;t require a 1980&#8217;s special effects hellscape to accomplish.<br \/>\n<!--more--><\/p>\n<h3>Why Should I Care About Ratings\/Reviews?<\/h3>\n<p>Because they make you feel loved, and everyone wants to be loved, yes? Aside from that, here are just a few reasons why you might want positive ratings\/reviews, and lots of them:<\/p>\n<ul>\n<li>Your app may appear higher in search results.<\/li>\n<li>If you make it to the top charts, your app is is more likely to stay there longer.<\/li>\n<li>Users are more likely to download your app AND try it.<\/li>\n<\/ul>\n<p>The potential bottom line? More users, more downloads, more success, more $$$$. All important things if you&#8217;re an app developer.<\/p>\n<h3>Getting Set Up<\/h3>\n<p>To start, let&#8217;s add the Cordova App Rate plugin to our project with the Ionic CLI:<\/p>\n<p><code>$ ionic plugin add cordova-plugin-apprate<\/code><\/p>\n<p>Next, let&#8217;s get a little fancy. We might want the flexibility to be able to call the App Rate plugin to prompt the user from anywhere in our app, without having to configure it multiple times. A good way to do this is to configure a single instance of the plugin in a shared service that can be injected and called from any component in our app.<\/p>\n<p>To create a new service, we can use the handy <code>generate<\/code> command in the Ionic CLI to create a template for a new <code>provider<\/code>:<\/p>\n<p><code>$ ionic generate provider rate-service<\/code><\/p>\n<p>This will create some boilerplate for us in <code>\/app\/providers\/rate-service\/rate-service.ts<\/code>, where we will import the App Rate plugin. We&#8217;re also going to import Ionic&#8217;s <code>Platform<\/code> plugin, which we&#8217;ll need a little later:<\/p>\n<pre><code class=\"typescript\">import { Injectable } from &#039;@angular\/core&#039;;\nimport { AppRate } from &#039;ionic-native&#039;;\nimport { Platform } from &#039;ionic-angular&#039;;\n<\/code><\/pre>\n<p>Next, we&#8217;ll also create an instance of <code>AppRate<\/code> and <code>Platform<\/code> in our constructor:<\/p>\n<pre><code class=\"typescript\">appRate: any = AppRate;\n\nconstructor(public platform: Platform) {\n\n}\n<\/code><\/pre>\n<h3>Configuring the Plugin<\/h3>\n<p>To make sure the user&#8217;s rating is applied to the correct app, we provide the App Rate plugin with our app&#8217;s package name for Android and App ID for iOS.<\/p>\n<p>For iOS, this is the numeric App ID that is assigned to your app when you <a href=\"https:\/\/developer.apple.com\/library\/ios\/documentation\/LanguagesUtilities\/Conceptual\/iTunesConnect_Guide\/Chapters\/CreatingiTunesConnectRecord.html\">register it with iTunes Connect<\/a>.<\/p>\n<p>For Android, this is the <code>id<\/code> attribute of the <code>&lt;widget&gt;<\/code> tag in our project&#8217;s <code>config.xml<\/code> file:<\/p>\n<p><code>&lt;widget id=&quot;com.ionicframework.apprate601311&quot; version=&quot;0.0.1&quot; ...&gt;<\/code><\/p>\n<p>When you create a new Ionic project using the Ionic CLI, this is set for you. By convention, reverse domain name format is used. You can (and should) feel free to change it to something custom before submitting your app to the App Store or Google Play Store. For iOS, this will act as the bundle identifier for your app.<\/p>\n<p>Back to configuration.<\/p>\n<p>We provide this to the App Rate plugin in our constructor. Notice that we need to wrap this in Ionic&#8217;s <code>platform.ready()<\/code>. This ensures that Cordova has loaded the plugin before we begin working with it:<\/p>\n<pre><code class=\"typescript\">constructor(public platform: Platform) {\n this.platform.ready().then(\n   () =&gt; this.appRate.preferences.storeAppURL = {\n     ios: &#039;849930087&#039;,\n     android: &#039;market:\/\/details?id=com.ionic.viewapp&#039;\n   }\n  )\n}\n<\/code><\/pre>\n<p>To make things more straightforward, I&#8217;ve configured this example to point to the <a href=\"http:\/\/view.ionic.io\">Ionic View<\/a> app, since the example app we&#8217;re building isn&#8217;t actually available in the App Store or Google Play store.<\/p>\n<p>At this point, there&#8217;s a variety of options we can set in the <code>preferences<\/code> object of <code>this.appRate<\/code>. Here&#8217;s a few of the more useful ones:<\/p>\n<ul>\n<li>usesUntilPrompt: Defers prompting the user until the <code>AppRate.promptForRating(false)<\/code> has been called a specified number of times. Note that this is persisted in local storage, so the user will be prompted again if they ever clear the app data or reinstall the app.<\/li>\n<li>promptAgainForEachNewVersion: Prompts the user again if they have installed a newer version of the app.<\/li>\n<li>customLocale: A JSON object that specifies custom strings for use in the App Rate dialog. This can also be used for <a href=\"https:\/\/github.com\/pushandplay\/cordova-plugin-apprate\/blob\/master\/www\/locales.js\">displaying different text for each language\/locale<\/a>. All of the following values must be set if you use this option:\n<ul>\n<li>title: dialog title<\/li>\n<li>message: dialog body text<\/li>\n<li>cancelButtonLabel: text for cancel button<\/li>\n<li>laterButtonLabel: text for later button<\/li>\n<li>rateButtonLabel: text for rate button<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>So let&#8217;s go ahead and take advantage of some of these by changing our constructor to this:<\/p>\n<pre><code class=\"typescript\">constructor(public platform: Platform) {\n this.platform.ready().then(\n    () =&gt; {\n      this.appRate.preferences= {\n        storeAppURL: {\n          ios: &#039;849930087&#039;,\n          android: &#039;market:\/\/details?id=com.ionic.viewapp&#039;\n        },\n        usesUntilPrompt: 2,\n        customLocale: {\n          title: &#039;Rate Us... Pretty Please?&#039;,\n          message: &#039;Without ratings we starve =(&#039;,\n          cancelButtonLabel: &#039;Pass&#039;,\n          rateButtonLabel: &#039;Rate it!&#039;,\n          laterButtonLabel: &#039;Ask Later&#039;\n        }\n      }\n    }\n  )\n}\n<\/code><\/pre>\n<p>For a full list of config options, see the <a href=\"http:\/\/ionicframework.com\/docs\/v2\/native\/app-rate\/#advanced\">Ionic Native App Rate docs<\/a>.<\/p>\n<h3>Asking for a Review<\/h3>\n<p>Ok, let&#8217;s get those reviews flowing by injecting our shared service into a component of our app:<\/p>\n<pre><code class=\"typescript\">\/\/import the service\nimport { RateService } from &#039;..\/..\/providers\/rate-service\/rate-service&#039;;\n\n\/\/inject the provider for the service\n@Component({\n  templateUrl: &#039;build\/pages\/home\/home.html&#039;,\n  providers: [RateService]\n})\n\nexport class HomePage {\n\n  \/\/inject the shared service\n  constructor(public navCtrl: NavController, public rateService: RateService) {}\n}\n\n<\/code><\/pre>\n<p>Now that we&#8217;re ready to roll, we have two options. We can ask for a rating any time by calling:<\/p>\n<p><code>this.rateService.promptForRating();<\/code><\/p>\n<p>Keep in mind that if we do this, the user will be asked to rate the app every time this code runs, every single time they use the app, and they will remember that we did that to them&#8230;which isn&#8217;t good. So it&#8217;s probably best not to do it, unless we&#8217;re careful about the application logic that determines when it&#8217;s called.<\/p>\n<p>Option two is to let the config we set up handle when to trigger the prompt for us:<\/p>\n<p><code>this.rateService.promptForRating(false);<\/code><\/p>\n<p>Passing <code>false<\/code> as an argument to the App Rate plugin tells it not to prompt the user until the conditions in our config have been met. In this case, since we set <code>usesUntilPrompt: 2<\/code>, it won&#8217;t ask until <code>promptForRating(false)<\/code> is called the second time, and <em>only<\/em> the second time.<\/p>\n<p>So where should we call it? It&#8217;s advisable to ask the user to review or rate your app after they&#8217;ve done something that leaves them with a positive impression. Here&#8217;s a couple hypothetical examples of when it might be a good time to ask:<\/p>\n<ul>\n<li>In the constructor or <a href=\"http:\/\/ionicframework.com\/docs\/v2\/api\/components\/nav\/NavController\/#lifecycle-events\"><code>ionViewDidEnter()<\/code><\/a> of a confirmation page when the user has completed an order.<\/li>\n<li>In the <code>onDidDismiss()<\/code> of a <a href=\"http:\/\/ionicframework.com\/docs\/v2\/components\/#modals\">modal<\/a> that delivered some valuable content to the user.<\/li>\n<\/ul>\n<p>Basically, we want reviews and ratings, of course, but we also want to ask when the user is happy with the app. We also want to ask in a way that interrupts the experience as little as possible.<\/p>\n<h3>Trying it Out<\/h3>\n<p>In case you weren&#8217;t following along, I&#8217;ve made a sample app that provides solid value by letting you see three pictures of puppies before it prompts you for a review.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"450\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/apprate-final.png\" alt=\"apprate-final\" class=\"aligncenter size-full wp-image-1432 lazyload\" data-srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/apprate-final.png 600w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/apprate-final-300x225.png 300w\" data-sizes=\"auto, (max-width: 600px) 100vw, 600px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 600px; --smush-placeholder-aspect-ratio: 600\/450;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"450\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/apprate-final.png\" alt=\"apprate-final\" class=\"aligncenter size-full wp-image-1432\" srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/apprate-final.png 600w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/apprate-final-300x225.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/noscript><\/p>\n<p>Now, all we have to do is test the app on a device with <a href=\"http:\/\/view.ionic.io\">Ionic View<\/a> with the App ID <code>b0c526e8<\/code>:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"534\" data-src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionic-view-appid-2.png\" alt=\"ionic-view-appid-2\" class=\"aligncenter size-full wp-image-1431 lazyload\" data-srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionic-view-appid-2.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionic-view-appid-2-169x300.png 169w\" data-sizes=\"auto, (max-width: 300px) 100vw, 300px\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/534;\" \/><noscript><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"534\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionic-view-appid-2.png\" alt=\"ionic-view-appid-2\" class=\"aligncenter size-full wp-image-1431\" srcset=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionic-view-appid-2.png 300w, https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/ionic-view-appid-2-169x300.png 169w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/noscript><\/p>\n<p>Or by <a href=\"https:\/\/github.com\/amuramoto\/ionic-app-rating-example\">downloading it from GitHub<\/a> and deploying to a device with <code>ionic run &lt;ios | android&gt; --device<\/code>.<\/p>\n<p>May your ratings always be high and your reviews plentiful.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There&#8217;s lots of things that can make a mobile app successful&#8211;a great user experience, an intuitive and performant UI, not crashing, and actually being useful are just a few crazy ideas that just might work. But at the end of the day, apps first need to be discovered. There&#8217;s currently something to the tune of [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":1427,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[43,42,23,41,27],"class_list":["post-1426","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-all","tag-app-ratings","tag-app-reviews","tag-framework","tag-ionic-cli","tag-ionic-native"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ionic Native: Getting Your App Rated and Reviewed - Ionic Blog<\/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:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ionic Native: Getting Your App Rated and Reviewed\" \/>\n<meta property=\"og:description\" content=\"There&#8217;s lots of things that can make a mobile app successful&#8211;a great user experience, an intuitive and performant UI, not crashing, and actually being useful are just a few crazy ideas that just might work. But at the end of the day, apps first need to be discovered. There&#8217;s currently something to the tune of [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-15T16:21:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-28T17:39:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"643\" \/>\n\t<meta property=\"og:image:height\" content=\"365\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Alex Muramoto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@alexmuramoto\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Muramoto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed\"},\"author\":{\"name\":\"Alex Muramoto\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7\"},\"headline\":\"Ionic Native: Getting Your App Rated and Reviewed\",\"datePublished\":\"2016-09-15T16:21:10+00:00\",\"dateModified\":\"2017-04-28T17:39:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed\"},\"wordCount\":1232,\"commentCount\":10,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg\",\"keywords\":[\"App Ratings\",\"App Reviews\",\"Framework\",\"Ionic CLI\",\"Ionic Native\"],\"articleSection\":[\"All\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed\",\"url\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed\",\"name\":\"Ionic Native: Getting Your App Rated and Reviewed - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg\",\"datePublished\":\"2016-09-15T16:21:10+00:00\",\"dateModified\":\"2017-04-28T17:39:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg\",\"width\":643,\"height\":365},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ionic Native: Getting Your App Rated and Reviewed\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7\",\"name\":\"Alex Muramoto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg\",\"caption\":\"Alex Muramoto\"},\"sameAs\":[\"https:\/\/x.com\/alexmuramoto\"],\"url\":\"https:\/\/ionic.io\/blog\/author\/alex\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ionic Native: Getting Your App Rated and Reviewed - Ionic Blog","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:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed","og_locale":"en_US","og_type":"article","og_title":"Ionic Native: Getting Your App Rated and Reviewed","og_description":"There&#8217;s lots of things that can make a mobile app successful&#8211;a great user experience, an intuitive and performant UI, not crashing, and actually being useful are just a few crazy ideas that just might work. But at the end of the day, apps first need to be discovered. There&#8217;s currently something to the tune of [&hellip;]","og_url":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed","og_site_name":"Ionic Blog","article_published_time":"2016-09-15T16:21:10+00:00","article_modified_time":"2017-04-28T17:39:16+00:00","og_image":[{"width":643,"height":365,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg","type":"image\/jpeg"}],"author":"Alex Muramoto","twitter_card":"summary_large_image","twitter_creator":"@alexmuramoto","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Alex Muramoto","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed"},"author":{"name":"Alex Muramoto","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7"},"headline":"Ionic Native: Getting Your App Rated and Reviewed","datePublished":"2016-09-15T16:21:10+00:00","dateModified":"2017-04-28T17:39:16+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed"},"wordCount":1232,"commentCount":10,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg","keywords":["App Ratings","App Reviews","Framework","Ionic CLI","Ionic Native"],"articleSection":["All"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed","url":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed","name":"Ionic Native: Getting Your App Rated and Reviewed - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg","datePublished":"2016-09-15T16:21:10+00:00","dateModified":"2017-04-28T17:39:16+00:00","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg","width":643,"height":365},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/ionic-native-getting-your-app-rated-and-reviewed#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Ionic Native: Getting Your App Rated and Reviewed"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/c5087ed0d4175ef63cbc3aca6c41bcc7","name":"Alex Muramoto","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/08\/alex-lg-150x150.jpg","caption":"Alex Muramoto"},"sameAs":["https:\/\/x.com\/alexmuramoto"],"url":"https:\/\/ionic.io\/blog\/author\/alex"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2016\/09\/Thunderdome_Photo32.jpg","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=1426"}],"version-history":[{"count":0,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/1426\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/1427"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=1426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=1426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=1426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}