{"id":539,"date":"2024-05-02T10:39:30","date_gmt":"2024-05-02T10:39:30","guid":{"rendered":"https:\/\/200oksolutionssandbox.co.uk\/blog\/?p=539"},"modified":"2024-07-30T08:29:53","modified_gmt":"2024-07-30T08:29:53","slug":"remote-and-local-notification-react-native-android","status":"publish","type":"post","link":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/","title":{"rendered":"Remote And Local Notification React-Native (Android)"},"content":{"rendered":"\n<p><strong>Structure of Content<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Setup Project into firebase console<\/li>\n\n\n\n<li>Remote Notification<\/li>\n\n\n\n<li>Local Notification<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Setup Project into firebase console<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Firebase console account must require<\/li>\n\n\n\n<li>Create a project<\/li>\n\n\n\n<li>Add android app into created project, go to <strong>android\/app\/build.gradle<\/strong> find <strong>applicationId,<\/strong> now use same <strong>applicationId <\/strong>while adding app as <strong>android package name,<\/strong> once app is added make sure download the <strong>google-services.json<\/strong> file.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Remote Notification<\/strong><\/p>\n\n\n\n<p><strong>1. Installation of remote notification module<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Using NPM command<\/strong>\n<ol class=\"wp-block-list\">\n<li>npm install &#8211;save @react-native-firebase\/app<\/li>\n\n\n\n<li>npm install &#8211;save @react-native-firebase\/messaging<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li><strong>Using YARN command<\/strong>\n<ol class=\"wp-block-list\">\n<li>yarn add @react-native-firebase\/app<\/li>\n\n\n\n<li>yarn add @react-native-firebase\/messaging<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>2. Configuration on native android<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Configure Firebase with Android credentials<\/strong>\n<ol class=\"wp-block-list\">\n<li>downloads <strong>google-services.json<\/strong> from firebase console and add into <strong>android\/app<\/strong> folder.<\/li>\n\n\n\n<li>add the <strong>google-services plugin<\/strong> as a dependency inside of your <strong>android\/build.gradle<\/strong> file.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"930\" height=\"221\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/1.png\" alt=\"\" class=\"wp-image-540\" srcset=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/1.png 930w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/1-300x71.png 300w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/1-768x183.png 768w\" sizes=\"(max-width: 930px) 100vw, 930px\" \/><\/figure>\n\n\n\n<p>              3. execute the plugin by adding the following to your <strong>android\/app\/build.gradle<\/strong> file<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"752\" height=\"77\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/2.png\" alt=\"\" class=\"wp-image-541\" srcset=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/2.png 752w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/2-300x31.png 300w\" sizes=\"(max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Permission setup<\/strong>\n<ol class=\"wp-block-list\">\n<li>On Android API level 32 and below, no need to request for permissions, by default permission will already be granted.<\/li>\n\n\n\n<li>For API level 33 and above, must request for the permission.<\/li>\n\n\n\n<li>Add use permission tag of &#8220;POST_NOTIFICATIONS&#8221; into AndroidManifest.xml<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> <strong>&lt;uses-permission android:name=\u201dandroid.permissions.POST_NOTIFICATIONS\u201d \/&gt;<\/strong><\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Notification icon generator and setup<\/strong>\n<ol class=\"wp-block-list\">\n<li>Generate notification icon from <a href=\"https:\/\/romannurik.github.io\/AndroidAssetStudio\/icons-notification.html\">AndroidAssetStudio\/icons-notification.html.<\/a><\/li>\n\n\n\n<li>Add icons into android\/app\/src\/main\/res\/mipmap-* based on size.<\/li>\n\n\n\n<li>Set custom default icon and its colour into AndroidManifest.xml and it should be within &lt;application \/&gt; tag.<\/li>\n<\/ol>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;meta-data\nandroid:name = \u201ccom.google.firebase.messaging.default_notification_icon\u201d android:resource=\u201d@mipmap\/ic_notification\u201d \/&gt;\n&lt;meta-data\n\nandroid:name=\u201dcom.google.firebase.messaging.default_notification_color\u201d\nandroid:resource=\u201d@color\/notification_color\u201d\ntools:replace=\u201dandroid:resource\u201d \/&gt;<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>3. Usage<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Requesting Permissions<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"693\" height=\"334\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/3.png\" alt=\"\" class=\"wp-image-542\" srcset=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/3.png 693w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/3-300x145.png 300w\" sizes=\"(max-width: 693px) 100vw, 693px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Create a firebase token and submit a token to backend to create notifications<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"752\" height=\"258\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/4.png\" alt=\"\" class=\"wp-image-543\" srcset=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/4.png 752w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/4-300x103.png 300w\" sizes=\"(max-width: 752px) 100vw, 752px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Handle Notifications<\/strong><\/li>\n<\/ul>\n\n\n\n<p>         Notifications will be received in 3 app state are Quit, Background and Foreground.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/5-1.png\" alt=\"\" class=\"wp-image-555\"\/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li> <strong>Quit state:<\/strong> if app in Quit state and tap on notification, <strong>getInitialNotification()<\/strong> method will be triggered with notification data.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"246\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/6.png\" alt=\"\" class=\"wp-image-545\" srcset=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/6.png 749w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/6-300x99.png 300w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/figure>\n\n\n\n<p>    <strong> 2.<\/strong> <strong>Background state<\/strong><\/p>\n\n\n\n<p>         a. To setup a background handler, call the <strong>setBackgroundMessageHandler()<\/strong> outside of your application logic as early as possible.<\/p>\n\n\n\n<p>         b. if app in Background state and tap on notification, onNotificationOpenedApp() method will be triggered with notification data.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"260\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/7.png\" alt=\"\" class=\"wp-image-546\" srcset=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/7.png 749w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/7-300x104.png 300w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"143\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/8.png\" alt=\"\" class=\"wp-image-547\" srcset=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/8.png 749w, https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/8-300x57.png 300w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>    3.Foreground state<\/strong><\/p>\n\n\n\n<p>        a. if app in Foreground state and tap on notification, onMessage() method will be triggered with notification data<\/p>\n\n\n\n<p>        b. we can create a local notification using notification data received into onMessage() method listener.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/9.png\" alt=\"\" class=\"wp-image-548\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Local Notification<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Installation of local notification module<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Using NPM command<\/strong>\n<ul class=\"wp-block-list\">\n<li>npm install &#8211;save @notifee\/react-native<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Using YARN command<\/strong>\n<ul class=\"wp-block-list\">\n<li>yarn add @notifee\/react-native<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Create local notification<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Permission setup<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>On Android, <\/strong>notification permissions are granted by default. However, a user may revoke them later through various means. In addition, a user may manage or revoke permissions at any of three levels; <strong>application-wide, channel groups and channels.<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Create a channel id<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/10.png\" alt=\"\" class=\"wp-image-549\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Create a local notification using created channel id<\/strong><\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/local-notification.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">local-notification.txt<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Handle local notification<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/11.png\" alt=\"\" class=\"wp-image-552\"\/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Learn More:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/rnfirebase.io\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/rnfirebase.io<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/rnfirebase.io\/messaging\/usage\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/rnfirebase.io\/messaging\/usage<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/notifee.app\/react-native\/docs\/overview\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/notifee.app\/react-native\/docs\/overview<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Structure of Content Setup Project into firebase console Remote Notification 1. Installation of remote notification&hellip;<\/p>\n","protected":false},"author":1,"featured_media":592,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,47],"tags":[92,48,103,102],"class_list":["post-539","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobile","category-react-native","tag-mobile-app-development","tag-react-native-development","tag-react-native-2","tag-remote-and-local-notification"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Remote And Local Notification React-Native (Android)<\/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:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Remote And Local Notification React-Native (Android)\" \/>\n<meta property=\"og:description\" content=\"Structure of Content Setup Project into firebase console Remote Notification 1. Installation of remote notification&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61552217825863\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-02T10:39:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-30T08:29:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/remote-and-local-notification-android-using-react-native.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2269\" \/>\n\t<meta property=\"og:image:height\" content=\"1316\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"BlogAdmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"BlogAdmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Remote And Local Notification React-Native (Android)","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:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/","og_locale":"en_US","og_type":"article","og_title":"Remote And Local Notification React-Native (Android)","og_description":"Structure of Content Setup Project into firebase console Remote Notification 1. Installation of remote notification&hellip;","og_url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61552217825863","article_published_time":"2024-05-02T10:39:30+00:00","article_modified_time":"2024-07-30T08:29:53+00:00","og_image":[{"width":2269,"height":1316,"url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/remote-and-local-notification-android-using-react-native.webp","type":"image\/webp"}],"author":"BlogAdmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"BlogAdmin","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#article","isPartOf":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/"},"author":{"name":"BlogAdmin","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#\/schema\/person\/ea0b72006227b3403f5ad825b82ced43"},"headline":"Remote And Local Notification React-Native (Android)","datePublished":"2024-05-02T10:39:30+00:00","dateModified":"2024-07-30T08:29:53+00:00","mainEntityOfPage":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/"},"wordCount":450,"commentCount":0,"publisher":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#organization"},"image":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#primaryimage"},"thumbnailUrl":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/remote-and-local-notification-android-using-react-native.webp","keywords":["Mobile App Development","react native development","React-Native","Remote And Local Notification"],"articleSection":["Mobile","React Native"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/","url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/","name":"Remote And Local Notification React-Native (Android)","isPartOf":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#primaryimage"},"image":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#primaryimage"},"thumbnailUrl":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/remote-and-local-notification-android-using-react-native.webp","datePublished":"2024-05-02T10:39:30+00:00","dateModified":"2024-07-30T08:29:53+00:00","breadcrumb":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#primaryimage","url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/remote-and-local-notification-android-using-react-native.webp","contentUrl":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2024\/05\/remote-and-local-notification-android-using-react-native.webp","width":2269,"height":1316,"caption":"remote-and-local-notification-android-using-react-native"},{"@type":"BreadcrumbList","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/remote-and-local-notification-react-native-android\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/200oksolutionssandbox.co.uk\/blog\/"},{"@type":"ListItem","position":2,"name":"Remote And Local Notification React-Native (Android)"}]},{"@type":"WebSite","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#website","url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/","name":"","description":"","publisher":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/200oksolutionssandbox.co.uk\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#organization","name":"Web Development Blog | Software Blog | App Blog","url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2026\/01\/200ok_logo.png","contentUrl":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-content\/uploads\/2026\/01\/200ok_logo.png","width":500,"height":191,"caption":"Web Development Blog | Software Blog | App Blog"},"image":{"@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61552217825863"]},{"@type":"Person","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#\/schema\/person\/ea0b72006227b3403f5ad825b82ced43","name":"BlogAdmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/200oksolutionssandbox.co.uk\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/53ecc99d859b4d3444ee1e076f3b5d9da9962836d1c20b3b44d73574f435740d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/53ecc99d859b4d3444ee1e076f3b5d9da9962836d1c20b3b44d73574f435740d?s=96&d=mm&r=g","caption":"BlogAdmin"},"sameAs":["http:\/\/blog.200oksolutions.com"],"url":"https:\/\/200oksolutionssandbox.co.uk\/blog\/author\/blogadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/posts\/539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/comments?post=539"}],"version-history":[{"count":4,"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/posts\/539\/revisions"}],"predecessor-version":[{"id":557,"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/posts\/539\/revisions\/557"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/media\/592"}],"wp:attachment":[{"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/media?parent=539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/categories?post=539"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/200oksolutionssandbox.co.uk\/blog\/wp-json\/wp\/v2\/tags?post=539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}