{"id":6617,"date":"2021-02-19T14:22:00","date_gmt":"2021-02-19T08:52:00","guid":{"rendered":"https:\/\/www.innovationm.com\/blog\/?p=6617"},"modified":"2021-02-19T14:22:42","modified_gmt":"2021-02-19T08:52:42","slug":"fcm-notification-with-26","status":"publish","type":"post","link":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/","title":{"rendered":"FCM Notifications with 26+"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Firebase cloud messaging is a cross-platform messaging solution from which one can notify clients about new emails and engage users with the App at no cost. This blog assumes that you have linked firebase to your android project.<\/span><\/p>\n<p><strong>Let\u2019s begin with the prerequisites:<\/strong><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Update or install the latest version of Android Studio\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Targets API level 16 and above\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Uses gradle 4.1 and higher<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Uses Jetpack (AndroidX)<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Concerning receiving fCM messages, the app should write a service which is implementing the <\/span><b>FirebaseMessagingService<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<pre class=\"lang:default decode:true \">class MyFirebaseMessagingService: FirebaseMessagingService() {}<\/pre>\n<p><span style=\"font-weight: 400;\">FCM uses tokens that are encrypted, are in alphanumeric form and are unique for a device. These tokens are generated when the user launches the app for the first time, or when it clears the app\u2019s data, or when it deletes the token.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The FCM service will be triggered when the token changes for your device or generated for the first time. To work with the new token, one has to override onNewToken of FirebaseMessagingservice.<\/span><\/p>\n<pre class=\"lang:default decode:true \">class MyFirebaseMessagingService: FirebaseMessagingService() {\r\n\r\n\u00a0 override fun onNewToken(fcmToken: String ? ) {\r\n\u00a0 \u00a0 super.onNewToken(fcmToken)\r\n\u00a0 \u00a0 Log.d(\"FCMToken\", fcmToken)\r\n\u00a0 }\r\n\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">One has to register the service in the android manifest file and must include internet permission.<\/span><\/p>\n<pre class=\"lang:default decode:true \">&lt; service\r\nandroid: exported = \"false\"\r\nandroid: name = \".notifications.MyFirebaseMessagingService\"\r\nandroid: stopWithTask = \"false\" &gt; &lt;intent - filter &gt; &lt;action android: name = \"com.google.firebase.MESSAGING_EVENT\" \/ &gt;&lt;\/intent-filter&gt;\r\n&lt;\/service &gt;\r\n\r\n&lt;uses - permission android: name = \"android.permission.INTERNET\" \/ &gt;\r\n\r\n&lt;uses - permission android: name =\"android.permission.ACCESS_NETWORK_STATE\" \/ &gt;<\/pre>\n<p><span style=\"font-size: 1rem;\">For API 26 and above, notification channel is required which allows users to modify it from device notification settings. It should be named as:<\/span><\/p>\n<pre class=\"lang:default decode:true\">private const val DEFAULT_NOTIFICATION_CHANNEL = \"default_notification_channel\"<\/pre>\n<p><span style=\"font-size: 1rem;\">The notification channel is pertinent to API 26 above and therefore include the below statement in your code:<\/span><\/p>\n<pre class=\"lang:default decode:true \">private fun buildNotificationChannel() {\r\n\u00a0 if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {\r\n\r\n}\r\n}<\/pre>\n<p><span style=\"font-size: 1rem;\">And this is how you can achieve a notification channel:<\/span><\/p>\n<pre class=\"lang:default decode:true \">val notificationChannel = NotificationChannel(DEFAULT_NOTIFICATION_CHANNEL, \"My Default Notifications\", NotificationManager.IMPORTANCE_HIGH)\r\n\/\/ Configure the notification channel.\r\nnotificationChannel.description = \"Default Channel\"\r\nnotificationChannel.enableVibration(true)\r\nnotificationChannel.vibrationPattern = longArrayOf(0, 1000, 500, 1000)\r\nnotificationManager.createNotificationChannel(notificationChannel)<\/pre>\n<p><span style=\"font-weight: 400;\">When a message is sent, onMessageReceived method of FirebaseMessagingService is triggered. For API 26+ add the following code inside the onMessageReceived method to handle the message received.<\/span><\/p>\n<pre class=\"lang:default decode:true \">notificationBuilder = NotificationCompat.Builder(this,\r\nDEFAULT_NOTIFICATION_CHANNEL)\r\nnotificationBuilder.setAutoCancel(true)\r\n.setDefaults(Notification.DEFAULT_ALL)\r\n.setWhen(System.currentTimeMillis())\r\n.setSmallIcon(R.mipmap.ic_launcher)\r\n.setTicker(\"Hearty365\")\r\n.setContentTitle(notification.title)\r\n.setContentText(notification.body)\r\n.setSound(soundUri)<\/pre>\n<p><span style=\"font-size: 1rem;\">For devices below API level 26:<\/span><\/p>\n<pre class=\"lang:default decode:true \">notificationBuilder = NotificationCompat.Builder(this)\r\nnotificationBuilder.setAutoCancel(true)\r\n.setDefaults(Notification.DEFAULT_ALL)\r\n.setWhen(System.currentTimeMillis())\r\n.setSmallIcon(R.mipmap.ic_launcher)\r\n.setTicker(\"Hearty365\")\r\n.setContentTitle(notification.title)\r\n.setContentText(notification.body)\r\n.setSound(soundUri)\r\n.setContentIntent(pendingIntent)<\/pre>\n<p><span style=\"font-weight: 400;\">Overall code covering all the API levels will look like:<\/span><\/p>\n<pre class=\"lang:default decode:true \">private fun sendNotification(notification: RemoteMessage.Notification) {\r\nval notificationBuilder:NotificationCompat.Builder\r\nval soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)\r\nval intent = Intent(this, MainActivity::class.java)\r\nintent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)\r\nval pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT)\r\nif (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.O) {\r\nnotificationBuilder = NotificationCompat.Builder(this, RECEPTION_NOTIFICATION_CHANNEL)\r\nnotificationBuilder.setAutoCancel(true)\r\n.setDefaults(Notification.DEFAULT_ALL)\r\n.setWhen(System.currentTimeMillis())\r\n.setSmallIcon(R.mipmap.ic_launcher)\r\n.setContentText(notification.body)\r\n.setSound(soundUri)\r\n} else {\r\nnotificationBuilder = NotificationCompat.Builder(this)\r\nnotificationBuilder.setAutoCancel(true)\r\n.setDefaults(Notification.DEFAULT_ALL)\r\n.setWhen(System.currentTimeMillis())\r\n.setSmallIcon(R.mipmap.ic_launcher)\r\n.setContentText(notification.body)\r\n.setSound(soundUri)\r\n.setContentIntent(pendingIntent)\r\n}\r\nnotificationManager.notify(\/*notification id*\/1, notificationBuilder.build());\r\n}<\/pre>\n<p><span style=\"font-weight: 400;\">One should check the API level of the device to choose an appropriate way to work with the notifications. Once the channel is passed to the notification manager, it is now in control of the user to modify its channels through settings, like setting for sound, priority, colour, etc. For code on how to create a channel considering Android 8 and above example, follow the link: <\/span><span style=\"font-weight: 400;\"><a style=\"font-size: 1rem;\" href=\"https:\/\/github.com\/android\/user-interface-samples\/tree\/main\/Notifications\">https:\/\/github.com\/android\/user-interface-samples\/tree\/main\/Notifications<\/a><\/span><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This is how one can achieve FCM notification for API\u00a0 26+. For testing purposes use firebase platform to send text messages which can be specific to the user(specific to the token), or to a group of devices. For more information refer to the link <\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/firebase.google.com\/docs\/cloud-messaging\/android\/client\">https:\/\/firebase.google.com\/docs\/cloud-messaging\/android\/client<\/a><\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Firebase cloud messaging is a cross-platform messaging solution from which one can notify clients about new emails and engage users with the App at no cost. This blog assumes that you have linked firebase to your android project. Let\u2019s begin with the prerequisites: Update or install the latest version of Android Studio\u00a0 Targets API level [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6618,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[580,14],"class_list":["post-6617","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","tag-fcm-notification-with-26","tag-innovationm"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>FCM Notifications with 26+ - InnovationM - 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:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FCM Notifications with 26+ - InnovationM - Blog\" \/>\n<meta property=\"og:description\" content=\"Firebase cloud messaging is a cross-platform messaging solution from which one can notify clients about new emails and engage users with the App at no cost. This blog assumes that you have linked firebase to your android project. Let\u2019s begin with the prerequisites: Update or install the latest version of Android Studio\u00a0 Targets API level [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/\" \/>\n<meta property=\"og:site_name\" content=\"InnovationM - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-02-19T08:52:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-19T08:52:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/02\/FCM.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"InnovationM Admin\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"InnovationM Admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/\"},\"author\":{\"name\":\"InnovationM Admin\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"headline\":\"FCM Notifications with 26+\",\"datePublished\":\"2021-02-19T08:52:00+00:00\",\"dateModified\":\"2021-02-19T08:52:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/\"},\"wordCount\":391,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/FCM.png\",\"keywords\":[\"FCM Notification with 26+\",\"InnovationM\"],\"articleSection\":[\"Android\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/\",\"name\":\"FCM Notifications with 26+ - InnovationM - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/FCM.png\",\"datePublished\":\"2021-02-19T08:52:00+00:00\",\"dateModified\":\"2021-02-19T08:52:42+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/FCM.png\",\"contentUrl\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/wp-content\\\/uploads\\\/2021\\\/02\\\/FCM.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/fcm-notification-with-26\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FCM Notifications with 26+\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/\",\"name\":\"InnovationM - Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/#\\\/schema\\\/person\\\/a831bf4602d69d1fa452e3de0c8862ed\",\"name\":\"InnovationM Admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g\",\"caption\":\"InnovationM Admin\"},\"sameAs\":[\"http:\\\/\\\/www.innovationm.com\\\/\"],\"url\":\"https:\\\/\\\/www.innovationm.com\\\/blog\\\/author\\\/innovationmadmin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"FCM Notifications with 26+ - InnovationM - 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:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/","og_locale":"en_US","og_type":"article","og_title":"FCM Notifications with 26+ - InnovationM - Blog","og_description":"Firebase cloud messaging is a cross-platform messaging solution from which one can notify clients about new emails and engage users with the App at no cost. This blog assumes that you have linked firebase to your android project. Let\u2019s begin with the prerequisites: Update or install the latest version of Android Studio\u00a0 Targets API level [&hellip;]","og_url":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/","og_site_name":"InnovationM - Blog","article_published_time":"2021-02-19T08:52:00+00:00","article_modified_time":"2021-02-19T08:52:42+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/02\/FCM.png","type":"image\/png"}],"author":"InnovationM Admin","twitter_misc":{"Written by":"InnovationM Admin","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#article","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/"},"author":{"name":"InnovationM Admin","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"headline":"FCM Notifications with 26+","datePublished":"2021-02-19T08:52:00+00:00","dateModified":"2021-02-19T08:52:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/"},"wordCount":391,"commentCount":0,"image":{"@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/02\/FCM.png","keywords":["FCM Notification with 26+","InnovationM"],"articleSection":["Android"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/","url":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/","name":"FCM Notifications with 26+ - InnovationM - Blog","isPartOf":{"@id":"https:\/\/www.innovationm.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#primaryimage"},"image":{"@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#primaryimage"},"thumbnailUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/02\/FCM.png","datePublished":"2021-02-19T08:52:00+00:00","dateModified":"2021-02-19T08:52:42+00:00","author":{"@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed"},"breadcrumb":{"@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#primaryimage","url":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/02\/FCM.png","contentUrl":"https:\/\/www.innovationm.com\/blog\/wp-content\/uploads\/2021\/02\/FCM.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/www.innovationm.com\/blog\/fcm-notification-with-26\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.innovationm.com\/blog\/"},{"@type":"ListItem","position":2,"name":"FCM Notifications with 26+"}]},{"@type":"WebSite","@id":"https:\/\/www.innovationm.com\/blog\/#website","url":"https:\/\/www.innovationm.com\/blog\/","name":"InnovationM - Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.innovationm.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.innovationm.com\/blog\/#\/schema\/person\/a831bf4602d69d1fa452e3de0c8862ed","name":"InnovationM Admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c99d9eece9dfbc82297cf34ddd58e9fe05bb52fe66c8f6bf6c0a45bfb6d7629?s=96&r=g","caption":"InnovationM Admin"},"sameAs":["http:\/\/www.innovationm.com\/"],"url":"https:\/\/www.innovationm.com\/blog\/author\/innovationmadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/6617","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/comments?post=6617"}],"version-history":[{"count":0,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/posts\/6617\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media\/6618"}],"wp:attachment":[{"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/media?parent=6617"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/categories?post=6617"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.innovationm.com\/blog\/wp-json\/wp\/v2\/tags?post=6617"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}