Quickstarters
Feature Overview
How to Build a Backend for Kotlin?
36 นาที
บทนำ ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีการสร้างแบ็กเอนด์ที่สมบูรณ์สำหรับแอปพลิเคชัน android (เขียนด้วย kotlin) โดยใช้ back4app เราจะเดินผ่านการรวมฟีเจอร์ที่สำคัญของ back4app—รวมถึงการจัดการฐานข้อมูล, ฟังก์ชัน cloud code, rest และ graphql apis, การตรวจสอบสิทธิ์ผู้ใช้, และการค้นหาแบบเรียลไทม์ (live queries)—เพื่อสร้างแบ็กเอนด์ที่ปลอดภัย, ขยายขนาดได้, และแข็งแกร่งที่สื่อสารกับแอป android ของคุณได้อย่างราบรื่น คุณจะเห็นด้วยว่าการตั้งค่าอย่างรวดเร็วและสภาพแวดล้อมที่ใช้งานง่ายของ back4app สามารถลดเวลาและความพยายามได้อย่างมากเมื่อเปรียบเทียบกับการกำหนดค่าเซิร์ฟเวอร์และฐานข้อมูลด้วยตนเอง ในระหว่างทาง คุณจะได้รับประสบการณ์จริงกับฟังก์ชันการทำงานที่สำคัญ รวมถึงฟีเจอร์ความปลอดภัยขั้นสูง, การกำหนดตารางงานด้วย cloud jobs, และการตั้งค่าเว็บฮุคสำหรับการรวมภายนอก เมื่อสิ้นสุดบทเรียนนี้ คุณจะพร้อมที่จะพัฒนาการตั้งค่านี้ให้เป็นแอปพลิเคชันที่พร้อมสำหรับการผลิต หรือรวมตรรกะที่กำหนดเองและ apis ของบุคคลที่สามได้อย่างง่ายดายตามที่ต้องการ ข้อกำหนดเบื้องต้น ในการทำบทเรียนนี้ให้เสร็จสมบูรณ์ คุณจะต้องมี บัญชี back4app และโครงการ back4app ใหม่ เริ่มต้นใช้งาน back4app https //www back4app com/docs/get started/new parse app หากคุณยังไม่มีบัญชี คุณสามารถสร้างบัญชีได้ฟรี ทำตามคำแนะนำข้างต้นเพื่อเตรียมโครงการของคุณ สภาพแวดล้อมการพัฒนา android/kotlin ขั้นพื้นฐาน ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง android studio บนเครื่องของคุณแล้ว คุณสามารถทำตาม เอกสารการตั้งค่าอย่างเป็นทางการของ android studio https //developer android com/studio หากคุณยังไม่ได้ตั้งค่า android 4 0 หรือสูงกว่าใน gradle config ของแอปของคุณ โดยทั่วไปแล้ว คุณจะตั้งค่านี้ใน minsdkversion ใน build gradle ของโมดูลของคุณ ความคุ้นเคยกับ kotlin และแนวคิดพื้นฐานของ android เอกสารนักพัฒนา android https //developer android com/docs หากคุณเป็นมือใหม่ใน android หรือ kotlin ให้ตรวจสอบเอกสารอย่างเป็นทางการหรือบทเรียนสำหรับผู้เริ่มต้นก่อนเริ่ม ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นทั้งหมดนี้ก่อนที่คุณจะเริ่มต้น การตั้งค่าโปรเจกต์ back4app ของคุณและเตรียมสภาพแวดล้อม android ในเครื่องของคุณจะช่วยให้คุณติดตามได้ง่ายขึ้น ขั้นตอนที่ 1 – การตั้งค่าโปรเจกต์ back4app สร้างโปรเจกต์ใหม่ ขั้นตอนแรกในการสร้างแบ็กเอนด์ android ของคุณบน back4app คือการสร้างโปรเจกต์ใหม่ หากคุณยังไม่ได้สร้างโปรเจกต์หนึ่ง โปรดทำตามขั้นตอนเหล่านี้ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “แอปใหม่” ในแดชบอร์ด back4app ของคุณ ตั้งชื่อแอปของคุณ (เช่น “android kotlin backend tutorial”) เมื่อโปรเจกต์ถูกสร้างขึ้น คุณจะเห็นมันปรากฏในแดชบอร์ด back4app ของคุณ โปรเจกต์นี้จะเป็นพื้นฐานสำหรับการกำหนดค่าทั้งหมดที่กล่าวถึงในบทแนะนำนี้ เชื่อมต่อกับ parse sdk back4app ใช้แพลตฟอร์ม parse ในการจัดการข้อมูลของคุณ ให้ฟีเจอร์เรียลไทม์ จัดการการตรวจสอบสิทธิ์ของผู้ใช้ และอื่นๆ การรวมแอป android ของคุณกับ back4app เกี่ยวข้องกับการเพิ่มการพึ่งพา parse android sdk ลงในไฟล์ gradle ของคุณและเริ่มต้นด้วยข้อมูลรับรองจากแดชบอร์ด back4app ของคุณ ดึงคีย์ parse ของคุณ ในแดชบอร์ด back4app ของคุณ ให้ไปที่ “การตั้งค่าแอป” หรือ “ความปลอดภัย & คีย์” เพื่อค้นหา application id และ client key คุณจะพบ parse server url (มักอยู่ในรูปแบบ https //parseapi back4app com ) เพิ่ม parse sdk ลงใน build gradle ของคุณ ใน build gradle ระดับราก (ระดับโปรเจกต์) allprojects { repositories { maven { url "https //jitpack io" } } } ใน build gradle ระดับโมดูล (ปกติคือ app/build gradle ) dependencies { implementation "com github parse community parse sdk android\ parse\ latest version here" } เริ่มต้น parse ในแอปพลิเคชัน android ของคุณ สร้าง application แบบกำหนดเอง (เช่น, app kt ) หากคุณยังไม่มี package com example app import android app application import com parse parse import com parse parseinstallation class app application() { override fun oncreate() { super oncreate() // initialize parse parse initialize( parse configuration builder(this) applicationid("your app id") // from back4app dashboard clientkey("your client key") // from back4app dashboard server("https //parseapi back4app com/") build() ) // (optional) track statistics around app opens parseinstallation getcurrentinstallation() saveinbackground() } } ถัดไป, เปิด androidmanifest xml และลงทะเบียน application แบบกำหนดเอง \<?xml version="1 0" encoding="utf 8"?> \<manifest xmlns\ android="http //schemas android com/apk/res/android" package="com example app"> \<application android\ name=" app" android\ icon="@mipmap/ic launcher" android\ label="@string/app name" android\ usescleartexttraffic="true" > \</application> \</manifest> เมื่อคุณทำขั้นตอนนี้เสร็จสิ้น คุณได้สร้างการเชื่อมต่อที่ปลอดภัยระหว่างส่วนหน้าของ android (kotlin) และแบ็กเอนด์ของ back4app แล้ว ทุกคำขอและการทำธุรกรรมข้อมูลจะถูกส่งผ่าน sdk นี้อย่างปลอดภัย ลดความซับซ้อนของการเรียก rest หรือ graphql ด้วยตนเอง (แม้ว่าคุณยังสามารถใช้เมื่อจำเป็น) ขั้นตอนที่ 2 – การตั้งค่าฐานข้อมูล การบันทึกและการค้นหาข้อมูล เมื่อคุณตั้งค่าโครงการ back4app ของคุณและรวม parse sdk เข้ากับแอป android ของคุณแล้ว คุณสามารถเริ่มบันทึกและเรียกคืนข้อมูลได้ ตอนนี้มีตัวอย่างการใช้ kotlin เพื่อสร้างและดึงข้อมูล import com parse parseobject import com parse parsequery import com parse savecallback import com parse parseexception // example create a todo item fun createtodoitem(title string, iscompleted boolean) { val todo = parseobject("todo") todo put("title", title) todo put("iscompleted", iscompleted) todo saveinbackground { e parseexception? > if (e == null) { println("todo saved successfully") } else { println("error saving todo ${e localizedmessage}") } } } // example query all todo items fun fetchtodos() { val query = parsequery\<parseobject>("todo") query findinbackground { results, e > if (e == null) { println("fetched todo items ${results size}") } else { println("error fetching todos ${e localizedmessage}") } } } อีกทางเลือกหนึ่ง คุณสามารถใช้จุดสิ้นสุด rest api ของ back4app curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo back4app ยังมีอินเทอร์เฟซ graphql mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } ตัวเลือกที่หลากหลายเหล่านี้ช่วยให้คุณสามารถรวมการดำเนินการข้อมูลในวิธีที่เหมาะสมที่สุดกับกระบวนการพัฒนาของคุณ—ไม่ว่าจะเป็นผ่าน parse sdk, rest หรือ graphql การออกแบบสคีมาและประเภทข้อมูล ตามค่าเริ่มต้น parse อนุญาตให้ สร้าง schema แบบทันที , แต่คุณยังสามารถกำหนดคลาสและประเภทข้อมูลของคุณในแดชบอร์ด back4app เพื่อควบคุมได้มากขึ้น ไปที่ส่วน “ฐานข้อมูล” ในแดชบอร์ด back4app ของคุณ สร้างคลาสใหม่ (เช่น “todo”) และเพิ่มคอลัมน์ที่เกี่ยวข้อง เช่น ชื่อ (string) และ iscompleted (boolean) back4app มี ai agent ที่สามารถช่วยคุณออกแบบโมเดลข้อมูลของคุณ เปิด ai agent จากแดชบอร์ดแอปของคุณหรือในเมนู อธิบายโมเดลข้อมูลของคุณ ด้วยภาษาที่เข้าใจง่าย (เช่น “กรุณาสร้าง todo app ใหม่ที่ back4app พร้อม schema คลาสที่สมบูรณ์ ”) ให้ ai agent สร้าง schema ให้คุณ การใช้ ai agent สามารถช่วยประหยัดเวลาเมื่อคุณตั้งค่าโครงสร้างข้อมูลของคุณและรับประกันความสอดคล้องในแอปพลิเคชันของคุณ ข้อมูลเชิงสัมพันธ์ หากคุณมีข้อมูลเชิงสัมพันธ์—เช่น, category วัตถุที่ชี้ไปยังหลาย todo รายการ—คุณสามารถใช้ pointers หรือ relations ใน parse ได้ ตัวอย่างเช่น การเพิ่มพอยเตอร์ไปยัง category // linking a todo to a category with a pointer fun createtaskforcategory(categoryobjectid string, title string) { val todo = parseobject("todo") val categorypointer = parseobject("category") categorypointer objectid = categoryobjectid todo put("title", title) todo put("category", categorypointer) todo saveinbackground { e > if (e == null) { println("created task with category relationship") } else { println("error creating task ${e localizedmessage}") } } } เมื่อคุณทำการค้นหา คุณยังสามารถรวมข้อมูลพอยเตอร์ได้ val query = parsequery getquery\<parseobject>("todo") query include("category") query findinbackground { todos, e > if (e == null) { println("fetched ${todos size} todos with category data") } } การ include("category") เรียกใช้จะดึงรายละเอียดหมวดหมู่พร้อมกับ todo แต่ละรายการ ทำให้ข้อมูลเชิงสัมพันธ์ของคุณเข้าถึงได้อย่างราบรื่น การค้นหาแบบสด สำหรับการอัปเดตแบบเรียลไทม์ back4app มี live queries คุณสามารถสมัครรับการเปลี่ยนแปลงในคลาสเฉพาะจากแอป android ของคุณ เปิดใช้งาน live queries ในแดชบอร์ด back4app ของคุณภายใต้ server settings ของแอปของคุณ เริ่มต้นการสมัครสมาชิก live query ในโค้ดของคุณ import com parse parselivequeryclient import com parse parsequery import com parse subscriptionhandling val parselivequeryclient = parselivequeryclient factory getclient() val parsequery = parsequery\<parseobject>("todo") val subscriptionhandling subscriptionhandling\<parseobject> = parselivequeryclient subscribe(parsequery) subscriptionhandling handleevent(subscriptionhandling event create) { querytodo, todo > println("new todo created ${todo getstring("title")}") } subscriptionhandling handleevent(subscriptionhandling event update) { querytodo, todo > println("todo updated ${todo getstring("title")}") } subscriptionhandling handleevent(subscriptionhandling event delete) { querytodo, todo > println("todo deleted ${todo getstring("title")}") } เมื่อใดก็ตามที่ todo ใหม่ถูกสร้าง, อัปเดต, หรือถูกลบ, ไคลเอนต์จะได้รับการเรียกกลับในเวลาจริง—เหมาะสำหรับแอปพลิเคชันที่ทำงานร่วมกันหรือแอปพลิเคชันที่มีพลศาสตร์ ขั้นตอนที่ 3 – การใช้ความปลอดภัยด้วย acls และ clps กลไกความปลอดภัยของ back4app back4app ให้ความสำคัญกับความปลอดภัยโดยการจัดเตรียม access control lists (acls) และ class level permissions (clps) ฟีเจอร์เหล่านี้ช่วยให้คุณจำกัดว่าใครสามารถอ่านหรือเขียนข้อมูลได้ตามวัตถุหรือระดับคลาส, เพื่อให้แน่ใจว่าผู้ใช้ที่ได้รับอนุญาตเท่านั้นที่สามารถแก้ไขข้อมูลของคุณ access control lists (acls) acl คือ ที่ใช้กับวัตถุแต่ละชิ้นเพื่อตัดสินใจว่าผู้ใช้, บทบาท, หรือสาธารณะสามารถดำเนินการอ่าน/เขียนได้หรือไม่ ตัวอย่างเช่น fun createprivatetodo(title string, owneruser parseobject) { val todo = parseobject("todo") todo put("title", title) // create an acl granting read/write access only to the owner val acl = com parse parseacl(owneruser) acl publicreadaccess = false acl publicwriteaccess = false todo acl = acl todo saveinbackground { e > if (e == null) { println("saved private todo") } else { println("error ${e localizedmessage}") } } } การอนุญาตระดับคลาส (clps) clps กำหนดการอนุญาตเริ่มต้นของทั้งคลาส เช่น ว่าคลาสนั้นสามารถอ่านหรือเขียนได้สาธารณะหรือไม่ ไปที่แดชบอร์ด back4app ของคุณ , เลือกแอปของคุณ และเปิด ฐานข้อมูล ส่วน เลือกคลาส (เช่น “todo”) เปิดการอนุญาตระดับคลาส แท็บ กำหนดค่าเริ่มต้นของคุณ เช่น “ต้องการการตรวจสอบสิทธิ์” สำหรับการอ่านหรือเขียน หรือ “ไม่มีการเข้าถึง” สำหรับสาธารณะ ขั้นตอนที่ 4 – การเขียนฟังก์ชัน cloud code cloud code ช่วยให้คุณสามารถรันโค้ด javascript แบบกำหนดเองที่คล้ายกับ kotlin บน parse server (อัปโหลดเป็น js ไฟล์) โดยไม่ต้องจัดการโครงสร้างพื้นฐานของเซิร์ฟเวอร์ นี่เป็นสิ่งที่เหมาะสำหรับตรรกะทางธุรกิจ การตรวจสอบความถูกต้อง ทริกเกอร์ และการเรียก api ภายนอก มันทำงานอย่างไร คุณมักจะวางฟังก์ชัน javascript, ทริกเกอร์ และโมดูล npm ที่จำเป็นในไฟล์ main js ไฟล์นี้จะถูกนำไปใช้งานในโปรเจกต์ back4app ของคุณและทำงานในสภาพแวดล้อมของ parse server กรณีการใช้งานทั่วไป ตรรกะธุรกิจ การตรวจสอบข้อมูล ทริกเกอร์ (เช่น beforesave , aftersave ) การบังคับใช้ความปลอดภัย การรวม กับ api ของบุคคลที่สาม ปรับใช้ฟังก์ชันของคุณ ด้านล่างนี้คือฟังก์ชัน cloud code ที่ง่าย main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); การปรับใช้ผ่าน https //www back4app com/docs/local development/parse cli \# for linux/mac curl https //raw\ githubusercontent com/back4app/parse cli/back4app/installer sh | sudo /bin/bash \# for windows, download the exe from the releases page จากนั้นกำหนดค่าและปรับใช้ b4a configure accountkey b4a deploy เรียกใช้ฟังก์ชันของคุณ จากโค้ด android (kotlin) ของคุณผ่าน parse sdk import com parse parsecloud import com parse functioncallback import com parse parseexception fun calltextlengthfunction(sometext string) { val params = hashmapof("text" to sometext) parsecloud callfunctioninbackground\<map\<string, any>>("calculatetextlength", params) { result, e > if (e == null) { val length = result\["length"] as int println("text length $length") } else { println("error calling cloud code ${e localizedmessage}") } } } คุณยังสามารถเรียกใช้ผ่าน rest หรือ graphql ในลักษณะเดียวกันได้ ขั้นตอนที่ 5 – การกำหนดค่า authentication การตรวจสอบสิทธิ์ผู้ใช้ใน back4app back4app ใช้คลาส parse user สำหรับการตรวจสอบสิทธิ์ parse จัดการการแฮชรหัสผ่านที่ปลอดภัย โทเค็นเซสชัน และอื่น ๆ โดยอัตโนมัติ การตั้งค่าการตรวจสอบสิทธิ์ผู้ใช้ ใน kotlin คุณสามารถสร้างผู้ใช้ใหม่ import com parse parseuser fun signupuser(username string, password string, email string) { val user = parseuser() user username = username user setpassword(password) user email = email user signupinbackground { e > if (e == null) { println("user signed up successfully!") } else { println("error signing up user ${e localizedmessage}") } } } เข้าสู่ระบบผู้ใช้ที่มีอยู่ fun loginuser(username string, password string) { parseuser logininbackground(username, password) { user, e > if (user != null && e == null) { println("user logged in ${user username}") } else { println("error logging in ${e? localizedmessage}") } } } การเข้าสู่ระบบด้วยโซเชียล เช่น google, facebook และ apple ก็สามารถรวมเข้าด้วยกันได้ ตรวจสอบที่ เอกสารการเข้าสู่ระบบด้วยโซเชียล https //www back4app com/docs/platform/sign in with apple สำหรับรายละเอียด การจัดการเซสชัน parse จัดการโทเค็นเซสชันโดยอัตโนมัติ คุณสามารถเข้าถึงผู้ใช้ปัจจุบันได้ val currentuser = parseuser getcurrentuser() if (currentuser != null) { println("currently logged in user ${currentuser username}") } else { println("no user is logged in") } และออกจากระบบ parseuser logout() ขั้นตอนที่ 6 – การจัดการการจัดเก็บไฟล์ การอัปโหลดและการเรียกคืนไฟล์ parse รวมถึง parsefile คลาสสำหรับจัดการการอัปโหลดไฟล์ import com parse parsefile import com parse parseexception fun uploadimage(file java io file) { val bytes = file readbytes() val parsefile = parsefile(file name, bytes) parsefile saveinbackground { e parseexception? > if (e == null) { println("file saved ${parsefile url}") } else { println("error uploading file ${e localizedmessage}") } } } parse รวมถึง parsefile คลาสสำหรับจัดการการอัปโหลดไฟล์ ความปลอดภัยของไฟล์ คุณสามารถควบคุมว่าใครสามารถอัปโหลดหรือดาวน์โหลดไฟล์ได้โดยการปรับแต่ง acls และ clps หรือโดยการใช้การตั้งค่าเฉพาะไฟล์ในการกำหนดค่าของ parse server ขั้นตอนที่ 7 – การตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน เปิดใช้งานการตรวจสอบอีเมล ในการตั้งค่าของแดชบอร์ด back4app ของคุณ กำหนดค่า ที่อยู่จากของคุณ, เทมเพลตอีเมล, หรือโดเมนที่กำหนดเองหากต้องการ ใช้ parseuser requestpasswordresetinbackground(email, callback) เพื่อกระตุ้นการรีเซ็ตรหัสผ่านในแอปของคุณ ขั้นตอนที่ 8 – การกำหนดตารางงานด้วย cloud jobs cloud jobs ช่วยให้คุณสามารถทำงานอัตโนมัติที่เป็นกิจวัตร เช่น การทำความสะอาดข้อมูลหรือการส่งการแจ้งเตือนตามระยะเวลา parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo') const query = new parse query(todo) // e g , remove todos older than 30 days const cutoff = new date(date now() 30 24 60 60 1000) query lessthan('createdat', cutoff) const oldtodos = await query find({ usemasterkey true }) await parse object destroyall(oldtodos, { usemasterkey true }) return `deleted ${oldtodos length} old todos ` }) กำหนดตารางงานในแดชบอร์ด back4app ของคุณภายใต้ การตั้งค่าเซิร์ฟเวอร์ > งานพื้นหลัง ขั้นตอนที่ 9 – การรวม webhooks webhooks ช่วยให้แอป back4app ของคุณสามารถส่งคำขอ http ไปยังบริการภายนอกเมื่อเกิดเหตุการณ์บางอย่าง เพิ่ม webhook ในแดชบอร์ด back4app ของคุณภายใต้ เพิ่มเติม > webhooks กำหนดค่า triggers (เช่น หลังจากบันทึกวัตถุใหม่) เพิ่ม url endpoint (เช่น webhook ของ slack หรือ stripe) ขั้นตอนที่ 10 – การสำรวจแผงผู้ดูแล back4app แอป back4app admin app เป็นอินเทอร์เฟซที่เป็นมิตรต่อผู้ใช้ที่ไม่ใช่เทคนิคในการจัดการข้อมูล เปิดใช้งานมัน ภายใต้ แดชบอร์ดแอป > เพิ่มเติม > แอปผู้ดูแล สร้าง ผู้ดูแลคนแรกของคุณ เลือกซับโดเมน เพื่อเข้าถึงแผงผู้ดูแล เข้าสู่ระบบ เพื่อดู แก้ไข หรือ ลบบันทึกจากฐานข้อมูลของคุณได้อย่างง่ายดาย บทสรุป โดยการติดตามบทแนะนำที่ครอบคลุมนี้ คุณได้ สร้างแบ็กเอนด์ที่ปลอดภัย สำหรับแอป android บน back4app กำหนดค่าฐานข้อมูล ด้วยสคีมาของคลาส ประเภทข้อมูล และความสัมพันธ์ รวมการค้นหาแบบเรียลไทม์ (live queries) สำหรับการอัปเดตข้อมูลทันที ใช้มาตรการด้านความปลอดภัย โดยใช้ acls และ clps เพื่อปกป้องและจัดการการเข้าถึงข้อมูล นำฟังก์ชัน cloud code มาใช้เพื่อรันตรรกะทางธุรกิจที่กำหนดเองบนเซิร์ฟเวอร์ ตั้งค่าการตรวจสอบสิทธิ์ผู้ใช้ โดยมีการสนับสนุนการตรวจสอบอีเมลและการรีเซ็ตรหัสผ่าน จัดการการอัปโหลดไฟล์ และการเรียกคืน โดยมีการควบคุมความปลอดภัยของไฟล์เป็นตัวเลือก กำหนดตารางงาน cloud jobs สำหรับงานพื้นหลังอัตโนมัติ ใช้ webhooks เพื่อรวมกับบริการภายนอก สำรวจ back4app admin panel สำหรับการจัดการข้อมูล ด้วยส่วนหน้าของ android (kotlin) ที่มั่นคงและแบ็กเอนด์ back4app ที่แข็งแกร่ง คุณจึงพร้อมที่จะพัฒนาแอปพลิเคชันที่มีฟีเจอร์มากมาย ขยายขนาดได้ และปลอดภัย เรียนรู้ฟังก์ชันการทำงานที่ซับซ้อนมากขึ้น รวมตรรกะทางธุรกิจของคุณ และใช้พลังของ back4app เพื่อประหยัดเวลาในการจัดการเซิร์ฟเวอร์และฐานข้อมูลอย่างมากมาย ขอให้สนุกกับการเขียนโค้ด! ขั้นตอนถัดไป สร้างแอป android ที่พร้อมใช้งานในผลิตภัณฑ์ โดยการขยายแบ็กเอนด์นี้เพื่อจัดการกับโมเดลข้อมูลที่ซับซ้อนมากขึ้น กลยุทธ์การแคช และการปรับแต่งประสิทธิภาพ รวมฟีเจอร์ขั้นสูง เช่น กระบวนการตรวจสอบสิทธิ์เฉพาะทาง การควบคุมการเข้าถึงตามบทบาท หรือ api ภายนอก (เช่น เกตเวย์การชำระเงิน) ตรวจสอบเอกสารทางการของ back4app สำหรับการเจาะลึกในด้านความปลอดภัยขั้นสูง การปรับแต่งประสิทธิภาพ และการวิเคราะห์บันทึก สำรวจบทเรียนอื่นๆ เกี่ยวกับแอปพลิเคชันแชทแบบเรียลไทม์ แดชบอร์ด iot หรือบริการตามตำแหน่ง คุณสามารถรวมเทคนิคที่เรียนรู้ที่นี่กับ api ของบุคคลที่สามเพื่อสร้างแอปพลิเคชันที่ซับซ้อนในโลกจริง