{"id":36983,"date":"2024-11-01T09:53:50","date_gmt":"2024-11-01T09:53:50","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=36983"},"modified":"2024-11-01T13:01:17","modified_gmt":"2024-11-01T13:01:17","slug":"%ec%bd%94%ed%8b%80%eb%a6%b0-%ec%95%88%eb%93%9c%eb%a1%9c%ec%9d%b4%eb%93%9c-%ec%95%b1%ea%b0%9c%eb%b0%9c-%ea%b0%95%ec%a2%8c-%ec%86%8c%eb%a6%ac%ec%99%80-%ec%a7%84%eb%8f%99-%ec%95%8c%eb%a6%bc-2","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/36983\/","title":{"rendered":"Kotlin Android app development course, sound and vibration notifications"},"content":{"rendered":"<p><body><\/p>\n<article>\n<header>\n<p>Written on: October 4, 2023<\/p>\n<\/header>\n<section>\n<h2>1. Overview<\/h2>\n<p>\n                This tutorial explains how to implement sound and vibration notifications in Android apps using Kotlin. The notification system is a crucial element that allows interaction with users in Android apps, and through this course, you will understand and implement basic notification functionalities.\n            <\/p>\n<p>\n                Sound and vibration notifications can be utilized in various situations to grab the user&#8217;s attention. For example, they are used when a message or notification arrives or when a specific event occurs.<br \/>\n                This tutorial will cover not only the basic usage of notifications but also how to create custom notification channels to apply various sounds and vibration patterns.\n            <\/p>\n<\/section>\n<section>\n<h2>2. Setting Up the Development Environment<\/h2>\n<p>\n                This tutorial is based on Android Studio. Android Studio is the most widely used integrated development environment (IDE) for Android app development. You can set up the environment by following the steps below.\n            <\/p>\n<ol>\n<li>\n<strong>Install Android Studio:<\/strong> Download and install the latest version of Android Studio. Make sure to select the option to include all necessary components during installation.\n                <\/li>\n<li>\n<strong>Kotlin Support:<\/strong> Android Studio natively supports Kotlin, so you don&#8217;t need to install a Kotlin plugin. Just select the Kotlin option when creating a new project.\n                <\/li>\n<li>\n<strong>Create a Project:<\/strong> Start a new project by selecting the &#8216;Empty Activity&#8217; template. Choose the project name and package name according to your preference.\n                <\/li>\n<\/ol>\n<\/section>\n<section>\n<h2>3. Understanding the Notification System<\/h2>\n<p>\n                The notification system in Android allows users to receive information about specific events and displays notifications in the top status bar. Notifications can take various forms and can include sound, vibration, text, and images.\n            <\/p>\n<p>\n                To use notifications, you need to use the NotificationCompat.Builder class. This class allows you to set the details of the notification, which is displayed through the NotificationManager.\n            <\/p>\n<\/section>\n<section>\n<h2>4. Implementing Basic Notifications<\/h2>\n<p>\n                First, let&#8217;s look at a simple example of implementing a basic notification. In this example, we will create a simple app that displays a notification when a button is clicked.<br \/>\n                Use the code below to add to your MainActivity.kt file.\n            <\/p>\n<h3>4.1 MainActivity.kt<\/h3>\n<pre><code class=\"language-kotlin\">\n                package com.example.soundvibrationnotification\n\n                import android.app.NotificationChannel\n                import android.app.NotificationManager\n                import android.content.Context\n                import android.os.Build\n                import android.os.Bundle\n                import android.view.View\n                import android.widget.Button\n                import androidx.appcompat.app.AppCompatActivity\n                import androidx.core.app.NotificationCompat\n\n                class MainActivity : AppCompatActivity() {\n\n                    private val channelId = \"default_channel_id\"\n                    private val notificationId = 1\n\n                    override fun onCreate(savedInstanceState: Bundle?) {\n                        super.onCreate(savedInstanceState)\n                        setContentView(R.layout.activity_main)\n\n                        createNotificationChannel()\n\n                        val button: Button = findViewById(R.id.button_notify)\n                        button.setOnClickListener { sendNotification() }\n                    }\n\n                    private fun createNotificationChannel() {\n                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n                            val channel = NotificationChannel(\n                                channelId,\n                                \"Default Channel\",\n                                NotificationManager.IMPORTANCE_DEFAULT\n                            )\n                            val notificationManager: NotificationManager = getSystemService(\n                                Context.NOTIFICATION_SERVICE\n                            ) as NotificationManager\n                            notificationManager.createNotificationChannel(channel)\n                        }\n                    }\n\n                    private fun sendNotification() {\n                        val builder = NotificationCompat.Builder(this, channelId)\n                            .setSmallIcon(R.drawable.ic_notification)\n                            .setContentTitle(\"Sound and Vibration Notification\")\n                            .setContentText(\"This is a default notification.\")\n                            .setPriority(NotificationCompat.PRIORITY_DEFAULT)\n\n                        val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager\n                        notificationManager.notify(notificationId, builder.build())\n                    }\n                }\n            <\/code><\/pre>\n<p>\n                Explanation of the example code:\n            <\/p>\n<ul>\n<li>\n<strong>Channel Creation:<\/strong> For Android version 8.0 (API 26) and above, you need to create a notification channel. This allows users to group notifications and control them according to their preferences.\n                <\/li>\n<li>\n<strong>Sending Notification:<\/strong> Using NotificationCompat.Builder, set the title, content, and icon of the notification, then send the notification via the notify() method.\n                <\/li>\n<\/ul>\n<p>If you run the above code along with the activity_main.xml file, you will see that a notification appears when you click the &#8216;Sound and Vibration Notification&#8217; button.<\/p>\n<\/section>\n<section>\n<h2>5. Adding Sound Notifications<\/h2>\n<p>\n                Now, let&#8217;s add sound to the notifications. Add a sound file to the res\/raw folder and dynamically assign the sound when setting up the notification.<br \/>\n                Modify the example code below to implement sound notifications.\n            <\/p>\n<h3>5.1 Adding Sound Files<\/h3>\n<p>\n                Add a sound file to the res\/raw folder. For example, let&#8217;s assume you added a sound file named &#8216;notification_sound.mp3&#8217;.\n            <\/p>\n<h3>5.2 Modify MainActivity.kt<\/h3>\n<pre><code class=\"language-kotlin\">\n                private fun sendNotification() {\n                    val soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)\n                    val builder = NotificationCompat.Builder(this, channelId)\n                        .setSmallIcon(R.drawable.ic_notification)\n                        .setContentTitle(\"Sound and Vibration Notification\")\n                        .setContentText(\"This is a sound notification.\")\n                        .setSound(soundUri) \/\/ Add sound\n                        .setPriority(NotificationCompat.PRIORITY_DEFAULT)\n\n                    val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager\n                    notificationManager.notify(notificationId, builder.build())\n                }\n            <\/code><\/pre>\n<p>Now, a default notification sound will play when the notification is displayed.<\/p>\n<\/section>\n<section>\n<h2>6. Adding Vibration Notifications<\/h2>\n<p>\n                To add a vibration feature to the notifications, let&#8217;s learn how to set a vibration pattern and configure it using NotificationCompat.Builder.\n            <\/p>\n<h3>6.1 Adding Vibration Permission<\/h3>\n<p>\n                You need to add vibration permission to the <code>AndroidManifest.xml<\/code> file. Please declare the permission in the test code as shown below.\n            <\/p>\n<pre><code>\n                &lt;uses-permission android:name=\"android.permission.VIBRATE\" \/&gt;\n            <\/code><\/pre>\n<h3>6.2 Modify MainActivity.kt<\/h3>\n<pre><code class=\"language-kotlin\">\n                private fun sendNotification() {\n                    val vibrator = getSystemService(Context.VIBRATOR_SERVICE) as Vibrator\n                    val vibratePattern = longArrayOf(0, 200, 100, 300)\n                    \n                    \/\/ Set vibration\n                    val builder = NotificationCompat.Builder(this, channelId)\n                        .setSmallIcon(R.drawable.ic_notification)\n                        .setContentTitle(\"Sound and Vibration Notification\")\n                        .setContentText(\"This is a vibration notification.\")\n                        .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)) \/\/ Add sound\n                        .setVibrate(vibratePattern) \/\/ Add vibration pattern\n                        .setPriority(NotificationCompat.PRIORITY_DEFAULT)\n\n                    val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager\n                    notificationManager.notify(notificationId, builder.build())\n                    \n                    \/\/ Start vibration\n                    vibrator.vibrate(vibratePattern, -1)\n                }\n            <\/code><\/pre>\n<p>In this code, the vibration pattern is set, and it vibrates along with the notification.<\/p>\n<\/section>\n<section>\n<h2>7. Custom Notification Channels<\/h2>\n<p>\n                Now let&#8217;s create a custom notification channel with various options. Each channel can have sound, vibration, and notification importance settings.\n            <\/p>\n<h3>7.1 Adding a Channel<\/h3>\n<pre><code class=\"language-kotlin\">\n                private fun createNotificationChannel() {\n                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {\n                        val channel = NotificationChannel(\n                            channelId,\n                            \"Custom Channel\",\n                            NotificationManager.IMPORTANCE_HIGH\n                        )\n                        channel.description = \"Description of Custom Channel\"\n                        channel.enableLights(true)\n                        channel.lightColor = Color.RED\n                        channel.enableVibration(true)\n                        channel.vibrationPattern = longArrayOf(0, 400, 200, 400)\n\n                        val notificationManager: NotificationManager = getSystemService(\n                            Context.NOTIFICATION_SERVICE\n                        ) as NotificationManager\n                        notificationManager.createNotificationChannel(channel)\n                    }\n                }\n            <\/code><\/pre>\n<p>The above code creates a custom channel that adds various functionalities to notifications.<\/p>\n<\/section>\n<section>\n<h2>8. Conclusion<\/h2>\n<p>\n                In this tutorial, we learned the basic methods for implementing sound and vibration notifications in Android apps using Kotlin.<br \/>\n                Through the notification system, users can respond in real-time to events occurring in the application.<br \/>\n                We learned about the importance of notifications, how to implement them, and various configuration methods to enhance user experience.<br \/>\n                Based on this tutorial, try implementing a complex notification system.\n            <\/p>\n<p>\n                Additionally, explore and experiment with various notification features such as personalized notifications, actionable notifications, and notification grouping.<br \/>\n                I hope you can develop excellent Android applications that utilize a variety of features in the future.\n            <\/p>\n<\/section>\n<\/article>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Written on: October 4, 2023 1. Overview This tutorial explains how to implement sound and vibration notifications in Android apps using Kotlin. The notification system is a crucial element that allows interaction with users in Android apps, and through this course, you will understand and implement basic notification functionalities. Sound and vibration notifications can be &hellip; <a href=\"https:\/\/atmokpo.com\/w\/36983\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Kotlin Android app development course, sound and vibration notifications&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[143],"tags":[],"class_list":["post-36983","post","type-post","status-publish","format-standard","hentry","category-kotlin-android-app-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kotlin Android app development course, sound and vibration notifications - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/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:\/\/atmokpo.com\/w\/36983\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kotlin Android app development course, sound and vibration notifications - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Written on: October 4, 2023 1. Overview This tutorial explains how to implement sound and vibration notifications in Android apps using Kotlin. The notification system is a crucial element that allows interaction with users in Android apps, and through this course, you will understand and implement basic notification functionalities. Sound and vibration notifications can be &hellip; \ub354 \ubcf4\uae30 &quot;Kotlin Android app development course, sound and vibration notifications&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/36983\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:53:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T13:01:17+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/36983\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36983\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Kotlin Android app development course, sound and vibration notifications\",\"datePublished\":\"2024-11-01T09:53:50+00:00\",\"dateModified\":\"2024-11-01T13:01:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36983\/\"},\"wordCount\":710,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Kotlin Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/36983\/\",\"url\":\"https:\/\/atmokpo.com\/w\/36983\/\",\"name\":\"Kotlin Android app development course, sound and vibration notifications - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:53:50+00:00\",\"dateModified\":\"2024-11-01T13:01:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/36983\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/36983\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/36983\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kotlin Android app development course, sound and vibration notifications\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kotlin Android app development course, sound and vibration notifications - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","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:\/\/atmokpo.com\/w\/36983\/","og_locale":"ko_KR","og_type":"article","og_title":"Kotlin Android app development course, sound and vibration notifications - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Written on: October 4, 2023 1. Overview This tutorial explains how to implement sound and vibration notifications in Android apps using Kotlin. The notification system is a crucial element that allows interaction with users in Android apps, and through this course, you will understand and implement basic notification functionalities. Sound and vibration notifications can be &hellip; \ub354 \ubcf4\uae30 \"Kotlin Android app development course, sound and vibration notifications\"","og_url":"https:\/\/atmokpo.com\/w\/36983\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:53:50+00:00","article_modified_time":"2024-11-01T13:01:17+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"5\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/36983\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/36983\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Kotlin Android app development course, sound and vibration notifications","datePublished":"2024-11-01T09:53:50+00:00","dateModified":"2024-11-01T13:01:17+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/36983\/"},"wordCount":710,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Kotlin Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/36983\/","url":"https:\/\/atmokpo.com\/w\/36983\/","name":"Kotlin Android app development course, sound and vibration notifications - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:53:50+00:00","dateModified":"2024-11-01T13:01:17+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/36983\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/36983\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/36983\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Kotlin Android app development course, sound and vibration notifications"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=36983"}],"version-history":[{"count":2,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36983\/revisions"}],"predecessor-version":[{"id":38134,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/36983\/revisions\/38134"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=36983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=36983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=36983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}