{"id":46,"date":"2015-04-23T14:32:16","date_gmt":"2015-04-23T14:32:16","guid":{"rendered":"http:\/\/www.jvesoft.com\/wp\/?page_id=46"},"modified":"2017-09-19T20:39:55","modified_gmt":"2017-09-19T20:39:55","slug":"app-rating-reminder","status":"publish","type":"page","link":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/","title":{"rendered":"App Rating Reminder"},"content":{"rendered":"<div class=\"cls_013\">\n<p>File: JVE.AppStore.pas Inheritance: TComponent \u2b05 Inner Class \u2b05 TJVEAppRater<\/p>\n<p>This component tracks user behaviour and allows him to rate the app, once certain conditions are met (similarly to Appirater tool for iOS). The following properties are exposed:<\/p>\n<p><span class=\"cls_013\"><span class=\"cls_013\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-171 alignright\" src=\"http:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg\" alt=\"jveapprater\" width=\"227\" height=\"285\" srcset=\"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg 227w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater-220x276.jpg 220w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater-90x113.jpg 90w\" sizes=\"(max-width: 227px) 100vw, 227px\" \/><\/span><\/span><\/p>\n<ul>\n<li>iOSIdentifier, iOSURL, MacIdentifier, MacURL, AndroidIdentifier, AndroidURL, WindowsURL and Embed \u2013 all have the exact same function as in the TJVEAppStore<\/li>\n<li>InitialDaysDelay \u2013 number of days, which should pass before the app queries the user for the first time. Should normally be at least 1.<\/li>\n<li>InitialUsesCount \u2013 number of times the user should run the app, before the first query.<\/li>\n<li>InitialEventsCount \u2013 number of major events, which should occur, before first query.<\/li>\n<li>ReminderDaysDelay \u2013 if the user decided not to rate the app, number of days, before he is reminded again. Should normally be at least 1.<\/li>\n<li>ReminderUsesCount \u2013 number of times the app runs, before the user is reminded.<\/li>\n<li>ReminderEventsCount \u2013 number of major events, before the user is reminded.<\/li>\n<li>Question \u2013 this is the question, which will be presented to the user (the question will not be asked in Native mode in iOS 10.3 and on, due to iOS implementation choices).<\/li>\n<li>NativeiOS \u2013 indicates the GUI version to use on iOS: 10.3, if available, 6.0 or external\u00a0app store. Notice, by Apple\u2019s design, in 10.3 GUI there is no guarantee that the rating dialog\u00a0will be presented at all, thus don\u2019t use this option as a response to a button click.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>While no events are exposed by this component, the following methods are provided:<\/p>\n<ul>\n<li>Open \u2013 opens the app in app store for rating entry immediately (overriding usual delay and without a confirmation dialog). For the normal functionality, use ProcessMajorEvent.<\/li>\n<li>QueryForFeedback \u2013 if user has not requested not to be bugged, presents a dialog asking him, whether he would like to rate the app. If confirmed, you can call the Open<\/li>\n<li>ResetDontAsk \u2013 if the user chose not to ask him again, this would reset this selection. You should only use this in outstanding circumstances, for example, if you are out with a new app version and want the user to reconsider.<\/li>\n<li>ProcessMajorEvent(OpenQuery) \u2013 use this function to notify the App Rater that it is an appropriate time to show the Rate request. The popup will only be opened, if appropriate time has passed and other requires are met.<\/li>\n<\/ul>\n<p>This last method is the <strong>only<\/strong> method you should normally call in this class. Pass False in OpenQuery to check applicability without opening a query. Returns True, if the interstitial query was indeed shown (or should now be shown, if requested not to open; counters are reset anyway in this case, so this component could be used as an arbitrary counter, if needed).<\/p>\n<p>The normal use of this component is to configure it (in design time), then simply call the ProcessMajorEvent every time the user finishes a level or something similar. See also the Interstitials section for more use cases.<\/p>\n<p>&nbsp;<\/p>\n<p>The query presented to the user is similar to the screenshot below, while the app presentation generally follows the way TJVEAppStore works (except that the Rating and Reviews tab is opened by default, if supported by the platform). Example presentations are:<\/p>\n<\/div>\n<div class=\"cls_013\">\n<div class=\"cls_013\"><a href=\"http:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-437 size-full\" src=\"http:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3.png\" alt=\"\" width=\"1082\" height=\"634\" srcset=\"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3.png 1082w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3-300x176.png 300w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3-768x450.png 768w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3-1024x600.png 1024w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3-220x129.png 220w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3-355x208.png 355w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3-730x428.png 730w, https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater3-90x53.png 90w\" sizes=\"(max-width: 1082px) 100vw, 1082px\" \/><\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>File: JVE.AppStore.pas Inheritance: TComponent \u2b05 Inner Class \u2b05 TJVEAppRater This component tracks user behaviour and allows him to rate the app, once certain conditions are met (similarly to Appirater tool for iOS). The following properties are exposed: iOSIdentifier, iOSURL, MacIdentifier, &#8230; <a class=\"styledbutton\" href=\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":171,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>App Rating Reminder - JVEsuite Components<\/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.jvesoft.com\/wp\/app-rating-reminder\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"App Rating Reminder - JVEsuite Components\" \/>\n<meta property=\"og:description\" content=\"File: JVE.AppStore.pas Inheritance: TComponent \u2b05 Inner Class \u2b05 TJVEAppRater This component tracks user behaviour and allows him to rate the app, once certain conditions are met (similarly to Appirater tool for iOS). The following properties are exposed: iOSIdentifier, iOSURL, MacIdentifier, ... Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/\" \/>\n<meta property=\"og:site_name\" content=\"JVEsuite Components\" \/>\n<meta property=\"article:modified_time\" content=\"2017-09-19T20:39:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"227\" \/>\n\t<meta property=\"og:image:height\" content=\"285\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/\",\"url\":\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/\",\"name\":\"App Rating Reminder - JVEsuite Components\",\"isPartOf\":{\"@id\":\"https:\/\/www.jvesoft.com\/wp\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg\",\"datePublished\":\"2015-04-23T14:32:16+00:00\",\"dateModified\":\"2017-09-19T20:39:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#primaryimage\",\"url\":\"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg\",\"contentUrl\":\"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg\",\"width\":227,\"height\":285},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.jvesoft.com\/wp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"App Rating Reminder\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.jvesoft.com\/wp\/#website\",\"url\":\"https:\/\/www.jvesoft.com\/wp\/\",\"name\":\"JVEsuite Components\",\"description\":\"For Delphi XE4 \u2013 11.2 Alexandria (FireMonkey), but now defunct project\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.jvesoft.com\/wp\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"App Rating Reminder - JVEsuite Components","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.jvesoft.com\/wp\/app-rating-reminder\/","og_locale":"en_US","og_type":"article","og_title":"App Rating Reminder - JVEsuite Components","og_description":"File: JVE.AppStore.pas Inheritance: TComponent \u2b05 Inner Class \u2b05 TJVEAppRater This component tracks user behaviour and allows him to rate the app, once certain conditions are met (similarly to Appirater tool for iOS). The following properties are exposed: iOSIdentifier, iOSURL, MacIdentifier, ... Read More","og_url":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/","og_site_name":"JVEsuite Components","article_modified_time":"2017-09-19T20:39:55+00:00","og_image":[{"width":227,"height":285,"url":"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/","url":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/","name":"App Rating Reminder - JVEsuite Components","isPartOf":{"@id":"https:\/\/www.jvesoft.com\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#primaryimage"},"image":{"@id":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#primaryimage"},"thumbnailUrl":"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg","datePublished":"2015-04-23T14:32:16+00:00","dateModified":"2017-09-19T20:39:55+00:00","breadcrumb":{"@id":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#primaryimage","url":"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg","contentUrl":"https:\/\/www.jvesoft.com\/wp\/wp-content\/uploads\/2015\/04\/jveapprater.jpg","width":227,"height":285},{"@type":"BreadcrumbList","@id":"https:\/\/www.jvesoft.com\/wp\/app-rating-reminder\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.jvesoft.com\/wp\/"},{"@type":"ListItem","position":2,"name":"App Rating Reminder"}]},{"@type":"WebSite","@id":"https:\/\/www.jvesoft.com\/wp\/#website","url":"https:\/\/www.jvesoft.com\/wp\/","name":"JVEsuite Components","description":"For Delphi XE4 \u2013 11.2 Alexandria (FireMonkey), but now defunct project","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.jvesoft.com\/wp\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P6fFN2-K","_links":{"self":[{"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/pages\/46"}],"collection":[{"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":11,"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/pages\/46\/revisions"}],"predecessor-version":[{"id":442,"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/pages\/46\/revisions\/442"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/media\/171"}],"wp:attachment":[{"href":"https:\/\/www.jvesoft.com\/wp\/wp-json\/wp\/v2\/media?parent=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}