{"id":37067,"date":"2024-11-01T09:54:35","date_gmt":"2024-11-01T09:54:35","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37067"},"modified":"2024-11-01T11:42:22","modified_gmt":"2024-11-01T11:42:22","slug":"kotlin-android-app-development-course-integrating-with-firebase","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37067\/","title":{"rendered":"kotlin android app development course, integrating with firebase"},"content":{"rendered":"<p>Hello! In this post, we will explore in detail how to integrate Firebase in Android app development using Kotlin. Firebase is a mobile platform provided by Google that helps developers create apps more easily with various features. It offers several services such as databases, authentication, cloud storage, and hosting, all of which can be easily integrated and used together.<\/p>\n<h2>1. What is Firebase?<\/h2>\n<p>Firebase is a backend platform for mobile and web application development. The main features of Firebase are as follows:<\/p>\n<ul>\n<li><strong>Realtime Database:<\/strong> A real-time database that allows you to store data in JSON format and synchronize it in real time.<\/li>\n<li><strong>Authentication:<\/strong> Supports social login and email\/password authentication, making it easy to handle user authentication.<\/li>\n<li><strong>Cloud Firestore:<\/strong> A highly flexible NoSQL database that can be used for structured data.<\/li>\n<li><strong>Cloud Storage:<\/strong> A service for storing images and files.<\/li>\n<li><strong>Hosting:<\/strong> A service for hosting and deploying web applications.<\/li>\n<li><strong>Crashlytics:<\/strong> A tool for monitoring app crashes.<\/li>\n<\/ul>\n<h2>2. Preparing for Firebase Integration<\/h2>\n<p>To integrate Firebase into your Android app, you first need to create a project in the Firebase Console and add it to your app. Let\u2019s follow the steps below:<\/p>\n<h3>2.1 Creating a Project in Firebase Console<\/h3>\n<ol>\n<li>Log in to Firebase Console.<\/li>\n<li>Click on &#8220;Add project&#8221; and set the project name.<\/li>\n<li>Select whether to use Firebase Analytics and continue.<\/li>\n<li>Once the project is created, go to &#8220;Project settings.&#8221;<\/li>\n<\/ol>\n<h3>2.2 Adding an Android Application<\/h3>\n<ol>\n<li>Click on the &#8220;Add app&#8221; button and select Android.<\/li>\n<li>Enter the package name and set the app nickname.<\/li>\n<li>Click the &#8220;Register app&#8221; button and download the google-services.json file.<\/li>\n<li>Copy this file to the app\/ directory of your Android project.<\/li>\n<\/ol>\n<h3>2.3 Configuring Gradle<\/h3>\n<p>Now, we need to configure various Gradle files. Perform the following tasks:<\/p>\n<ul>\n<li><strong>Project-level build.gradle:<\/strong><\/li>\n<\/ul>\n<pre><code>buildscript {\n    dependencies {\n        \/\/ Add this line\n        classpath 'com.google.gms:google-services:4.3.10' \/\/ Use the latest version.\n    }\n}\n<\/code><\/pre>\n<ul>\n<li><strong>App-level build.gradle:<\/strong><\/li>\n<\/ul>\n<pre><code>plugins {\n    id 'com.android.application'\n    id 'com.google.gms.google-services' \/\/ Added part\n}\n\nandroid {\n    compileSdk 31\n\n    defaultConfig {\n        applicationId \"com.example.myapp\"\n        minSdk 21\n        targetSdk 31\n        versionCode 1\n        versionName \"1.0\"\n    }\n}\n\ndependencies {\n    implementation platform('com.google.firebase:firebase-bom:29.0.0') \/\/ Use the latest version\n    implementation 'com.google.firebase:firebase-auth'\n    implementation 'com.google.firebase:firebase-database'\n}\n<\/code><\/pre>\n<p>Once the Gradle settings are completed, you are ready to use the Firebase SDK.<\/p>\n<h2>3. Implementing Firebase Authentication<\/h2>\n<p>In this section, we will implement user authentication functionality using Firebase. We will use email and password authentication as an example.<\/p>\n<h3>3.1 User Registration (Sign Up)<\/h3>\n<pre><code>class SignUpActivity : AppCompatActivity() {\n\n    private lateinit var auth: FirebaseAuth\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_sign_up)\n\n        auth = FirebaseAuth.getInstance()\n\n        val signUpButton: Button = findViewById(R.id.signUpButton)\n        signUpButton.setOnClickListener {\n            val email = findViewById<edittext>(R.id.emailEditText).text.toString()\n            val password = findViewById<edittext>(R.id.passwordEditText).text.toString()\n\n            signUp(email, password)\n        }\n    }\n\n    private fun signUp(email: String, password: String) {\n        auth.createUserWithEmailAndPassword(email, password)\n            .addOnCompleteListener(this) { task ->\n                if (task.isSuccessful) {\n                    \/\/ Registration successful\n                    val user = auth.currentUser\n                    Toast.makeText(this, \"Registration successful: ${user?.email}\", Toast.LENGTH_SHORT).show()\n                } else {\n                    \/\/ Registration failed\n                    Toast.makeText(this, \"Registration failed: ${task.exception?.message}\", Toast.LENGTH_SHORT).show()\n                }\n            }\n    }\n}\n<\/edittext><\/edittext><\/code><\/pre>\n<h3>3.2 User Login (Sign In)<\/h3>\n<pre><code>class SignInActivity : AppCompatActivity() {\n\n    private lateinit var auth: FirebaseAuth\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_sign_in)\n\n        auth = FirebaseAuth.getInstance()\n\n        val signInButton: Button = findViewById(R.id.signInButton)\n        signInButton.setOnClickListener {\n            val email = findViewById<edittext>(R.id.emailEditText).text.toString()\n            val password = findViewById<edittext>(R.id.passwordEditText).text.toString()\n\n            signIn(email, password)\n        }\n    }\n\n    private fun signIn(email: String, password: String) {\n        auth.signInWithEmailAndPassword(email, password)\n            .addOnCompleteListener(this) { task ->\n                if (task.isSuccessful) {\n                    \/\/ Login successful\n                    val user = auth.currentUser\n                    Toast.makeText(this, \"Login successful: ${user?.email}\", Toast.LENGTH_SHORT).show()\n                } else {\n                    \/\/ Login failed\n                    Toast.makeText(this, \"Login failed: ${task.exception?.message}\", Toast.LENGTH_SHORT).show()\n                }\n            }\n    }\n}\n<\/edittext><\/edittext><\/code><\/pre>\n<p>With the above code, users can register and log in to the app using their email and password.<\/p>\n<h2>4. Integrating Firebase Realtime Database<\/h2>\n<p>In this section, we will learn how to store user-entered data in the Firebase Realtime Database.<\/p>\n<h3>4.1 Creating a Data Model<\/h3>\n<pre><code>data class User(\n    val id: String? = \"\",\n    val name: String? = \"\",\n    val email: String? = \"\"\n)\n<\/code><\/pre>\n<h3>4.2 Storing Data<\/h3>\n<pre><code>private fun saveUserToDatabase(user: User) {\n    val database = FirebaseDatabase.getInstance().getReference(\"users\")\n    val userId = database.push().key\n\n    if (userId != null) {\n        database.child(userId).setValue(user)\n            .addOnCompleteListener { task ->\n                if (task.isSuccessful) {\n                    Toast.makeText(this, \"User saved successfully\", Toast.LENGTH_SHORT).show()\n                } else {\n                    Toast.makeText(this, \"User save failed: ${task.exception?.message}\", Toast.LENGTH_SHORT).show()\n                }\n            }\n    }\n}\n<\/code><\/pre>\n<h3>4.3 Reading Data<\/h3>\n<pre><code>private fun loadUsersFromDatabase() {\n    val database = FirebaseDatabase.getInstance().getReference(\"users\")\n\n    database.addValueEventListener(object : ValueEventListener {\n        override fun onDataChange(snapshot: DataSnapshot) {\n            for (userSnapshot in snapshot.children) {\n                val user = userSnapshot.getValue(User::class.java)\n                Log.d(\"User\", \"User Name: ${user?.name}, Email: ${user?.email}\")\n            }\n        }\n\n        override fun onCancelled(error: DatabaseError) {\n            Toast.makeText(this@MainActivity, \"Load failed: ${error.message}\", Toast.LENGTH_SHORT).show()\n        }\n    })\n}\n<\/code><\/pre>\n<h2>5. Conclusion<\/h2>\n<p>In this post, we explored how to integrate Firebase authentication and Realtime Database into an Android app using Kotlin. Firebase provides various features that make it easy to handle background tasks and securely manage user data. When developing actual apps, consider integrating other Firebase features as well.<\/p>\n<p>We will cover more topics and provide more content in the future, so please stay tuned! Thank you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello! In this post, we will explore in detail how to integrate Firebase in Android app development using Kotlin. Firebase is a mobile platform provided by Google that helps developers create apps more easily with various features. It offers several services such as databases, authentication, cloud storage, and hosting, all of which can be easily &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37067\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;kotlin android app development course, integrating with firebase&#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-37067","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, integrating with firebase - \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\/37067\/\" \/>\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, integrating with firebase - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello! In this post, we will explore in detail how to integrate Firebase in Android app development using Kotlin. Firebase is a mobile platform provided by Google that helps developers create apps more easily with various features. It offers several services such as databases, authentication, cloud storage, and hosting, all of which can be easily &hellip; \ub354 \ubcf4\uae30 &quot;kotlin android app development course, integrating with firebase&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37067\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:54:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:42:22+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=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37067\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37067\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"kotlin android app development course, integrating with firebase\",\"datePublished\":\"2024-11-01T09:54:35+00:00\",\"dateModified\":\"2024-11-01T11:42:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37067\/\"},\"wordCount\":456,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Kotlin Android app development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37067\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37067\/\",\"name\":\"kotlin android app development course, integrating with firebase - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:54:35+00:00\",\"dateModified\":\"2024-11-01T11:42:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37067\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37067\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37067\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"kotlin android app development course, integrating with firebase\"}]},{\"@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, integrating with firebase - \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\/37067\/","og_locale":"ko_KR","og_type":"article","og_title":"kotlin android app development course, integrating with firebase - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello! In this post, we will explore in detail how to integrate Firebase in Android app development using Kotlin. Firebase is a mobile platform provided by Google that helps developers create apps more easily with various features. It offers several services such as databases, authentication, cloud storage, and hosting, all of which can be easily &hellip; \ub354 \ubcf4\uae30 \"kotlin android app development course, integrating with firebase\"","og_url":"https:\/\/atmokpo.com\/w\/37067\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:54:35+00:00","article_modified_time":"2024-11-01T11:42:22+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":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37067\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37067\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"kotlin android app development course, integrating with firebase","datePublished":"2024-11-01T09:54:35+00:00","dateModified":"2024-11-01T11:42:22+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37067\/"},"wordCount":456,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Kotlin Android app development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37067\/","url":"https:\/\/atmokpo.com\/w\/37067\/","name":"kotlin android app development course, integrating with firebase - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:54:35+00:00","dateModified":"2024-11-01T11:42:22+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37067\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37067\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37067\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"kotlin android app development course, integrating with firebase"}]},{"@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\/37067","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=37067"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37067\/revisions"}],"predecessor-version":[{"id":37068,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37067\/revisions\/37068"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}