Quickstarters
Feature Overview
How to Build a Backend for tvOS?
43 mnt
pendahuluan dalam tutorial ini, anda akan belajar cara membangun backend untuk tvos aplikasi menggunakan back4app kami akan membahas integrasi fitur fitur penting back4app—seperti manajemen database, cloud code functions, rest dan graphql apis, otentikasi pengguna, dan real time (live queries)—untuk membuat backend yang aman dan dapat diskalakan yang berkomunikasi dengan mulus dengan aplikasi apple tv anda yang dibangun dengan parse swift sdk anda akan melihat bagaimana lingkungan back4app yang efisien dan pengaturan cepat secara drastis mengurangi waktu dibandingkan dengan mengonfigurasi server dan database secara manual sepanjang jalan, anda akan mendapatkan pengalaman langsung dengan fungsionalitas kunci, termasuk fitur keamanan tingkat lanjut, penjadwalan pekerjaan cloud, dan integrasi webhook pada akhir tutorial ini, anda akan siap untuk meningkatkan struktur dasar ini menjadi aplikasi tvos yang siap produksi atau dengan mudah menyertakan logika kustom dan api pihak ketiga panduan ini juga akan membantu menjaga pengalaman pengguna yang tinggi di apple tv , memanfaatkan proyek xcode anda dan pengetahuan pengembangan ios yang ada prasyarat untuk menyelesaikan tutorial ini, anda akan membutuhkan akun back4app dan proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app jika anda tidak memiliki akun, anda dapat membuat satu secara gratis ikuti panduan di atas untuk menyiapkan proyek anda xcode (versi stabil terbaru) terinstal anda akan membangun aplikasi tvos anda dengan swift atau swiftui pastikan anda memiliki xcode terbaru dari mac app store parse swift sdk siapkan parse swift sdk https //github com/netreconlab/parse swift untuk menghubungkan aplikasi tvos anda keterampilan dalam swift dan konsep dasar pengembangan ios/tvos jika anda baru mengenal apple tv, tinjau dokumentasi apple tvos https //developer apple com/tvos/ atau tutorial pemula terlebih dahulu pastikan anda memiliki semua prasyarat ini sebelum anda mulai memiliki proyek back4app anda siap dan proyek xcode tvos lokal yang diatur akan membantu anda mengikuti lebih mudah langkah 1 – membuat proyek baru di back4app dan menghubungkan buat proyek baru langkah pertama dalam membangun backend aplikasi tvos anda di back4app adalah membuat proyek baru jika anda belum melakukannya, ikuti langkah langkah ini masuk ke akun back4app anda klik tombol “aplikasi baru” di dasbor back4app anda beri nama aplikasi anda (misalnya, “tvos backend tutorial”) setelah dibuat, anda akan melihat proyek tersebut terdaftar di dasbor back4app anda proyek back4app baru ini adalah inti dari semua konfigurasi backend yang dibahas dalam tutorial ini hubungkan sdk parse swift back4app memanfaatkan parse untuk menangani penyimpanan data, otentikasi pengguna, fitur real time, dan lainnya untuk menghubungkan aplikasi tvos anda ke back4app, instal dan konfigurasikan parse swift sdk di proyek xcode anda ambil kunci parse anda di dasbor back4app anda, pergi ke “pengaturan aplikasi” atau “keamanan & kunci” untuk menemukan id aplikasi dan kunci klien anda juga akan melihat url server parse —umumnya https //parseapi back4app com instal parse swift sdk di proyek tvos anda pengelola paket swift (direkomendasikan) di xcode, pilih file → tambahkan paket masukkan url github parse swift https //github com/netreconlab/parse swift git pilih versi yang sesuai atau cabang utama cocoapods jika anda lebih suka cocoapods, tambahkan yang berikut ke podfile anda pod 'parseswiftog' kemudian jalankan pod install inisialisasi parse di appdelegate anda atau @main struct import parseswift import swiftui @main struct mytvosapp app { init() { task { do { try await parseswift initialize( applicationid "your app id", clientkey "your client key", serverurl url(string "https //parseapi back4app com")! ) } catch { print("error initializing parse \\\\(error)") } } } var body some scene { windowgroup { contentview() } } } ini memastikan aplikasi tvos anda dibangun untuk berkomunikasi dengan backend back4app, memungkinkan anda menyimpan data, menjalankan kueri, mengautentikasi pengguna, dan banyak lagi langkah 2 – menyiapkan database membuat model data dengan aplikasi tvos anda sekarang terhubung ke back4app, anda dapat membuat dan mengelola data di parse swift, anda mendefinisikan parseobject structs struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom fields var score int? var playername string? } struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom fields var score int? var playername string? } struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom fields var score int? var playername string? } struct gamescore parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // custom fields var score int? var playername string? } anda juga dapat mendefinisikan kelas secara manual di dasbor back4app anda pergi ke “database” di konsol back4app buat kelas baru (misalnya, “gamescore”) tambahkan kolom yang relevan (skor, namapemain, dll ) membuat model data menggunakan ai agent ai agent back4app dapat secara otomatis merancang skema anda buka ai agent di dasbor back4app anda deskripsikan model anda (misalnya, “buat kelas todo dengan judul dan field iscompleted”) terapkan dan biarkan ai agent menghasilkan skema membaca dan menulis data menggunakan sdk func savescore() async { var gamescore = gamescore() gamescore score = 1337 gamescore playername = "tvos fan" do { try await gamescore save() print("score saved successfully ") } catch { print("error saving score \\\\(error)") } } func fetchscores() async { let query = gamescore query() do { let results = try await query find() print("fetched scores \\\\(results)") } catch { print("error fetching scores \\\\(error)") } } membaca dan menulis data menggunakan rest api curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"score" 9000, "playername" "applefan"}' \\ https //parseapi back4app com/classes/gamescore membaca dan menulis data menggunakan graphql api mutation { creategamescore(input { fields { score 420 playername "swiftie" } }) { gamescore { objectid score playername } } } bekerja dengan live queries (opsional) live queries dapat memberikan pembaruan waktu nyata di apple tv antarmuka anda—sangat berguna untuk aplikasi multi pemain atau papan peringkat aktifkan live queries di pengaturan server aplikasi anda di back4app inisialisasi sebuah langganan let subscription = gamescore query("score" > 1000) subscribecallback { event in switch event { case created(let score) print("new high score created \\\\(score)") case updated(let score) print("high score updated \\\\(score)") case deleted(let score) print("high score removed \\\\(score)") default break } } langkah 3 – menerapkan keamanan dengan acl dan clp ikhtisar back4app mengamankan data anda dengan acl (daftar kontrol akses) dan clp (izin tingkat kelas) gunakan mereka untuk mendefinisikan aturan baca/tulis di tingkat objek atau kelas izin tingkat kelas pergi ke database , pilih kelas (misalnya, gamescore) klik “keamanan” atau “izin tingkat kelas” tetapkan siapa yang dapat membaca, menulis, atau menghapus (misalnya, hanya pengguna yang terautentikasi) acl dalam kode var gamescore = gamescore() gamescore score = 500 // restrict read/write to only the current user var acl = parseacl() if let user = try? await user current() { acl setreadaccess(user user, value true) acl setwriteaccess(user user, value true) } gamescore acl = acl langkah 4 – menulis fungsi cloud code mengapa cloud code? cloud code memungkinkan anda untuk memindahkan logika penting dari klien anda ke kode sisi server yang aman ini sangat baik untuk aturan bisnis, validasi data, atau integrasi pihak ketiga tanpa mengekspos rahasia dalam aplikasi tvos anda contoh fungsi di main js parse cloud define("awardbonus", async (request) => { const { objectid, bonus } = request params; const query = new parse query("gamescore"); const gamescore = await query get(objectid, { usemasterkey true }); gamescore increment("score", bonus); await gamescore save(null, { usemasterkey true }); return gamescore; }); penerapan back4app cli b4a configure accountkey b4a deploy atau gunakan back4app dashboard → cloud code → functions → main js memanggil dari swift import parseswift func awardbonusscore(objectid string, bonus int) async { do { let result = try await parsecloud callfunction("awardbonus", with \[ "objectid" objectid, "bonus" bonus ]) print("updated score \\\\(result)") } catch { print("error awarding bonus \\\\(error)") } } modul npm di dalam package json , tambahkan dependensi { "dependencies" { "axios" "^0 27 0" } } kemudian minta atau impor mereka di main js untuk digunakan dalam cloud code langkah 5 – mengonfigurasi autentikasi autentikasi pengguna di back4app aplikasi tvos sering memerlukan sinkronisasi data pengguna atau login parseuser menyediakan pendaftaran yang aman, login, sesi, dan akses berbasis peran struct user parseuser { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? // essential var username string? var email string? var emailverified bool? var password string? var authdata \[string \[string string]?]? } daftar / masuk func signupuser() async { var newuser = user() newuser username = "tvuser" newuser password = "secret" newuser email = "user\@example com" do { try await newuser signup() print("sign up successful ") } catch { print("error signing up \\\\(error)") } } func loginuser() async { do { let loggedin = try await user login(username "tvuser", password "secret") print("logged in as \\\\(loggedin username ?? "")") } catch { print("login error \\\\(error)") } } login sosial konfigurasi masuk dengan facebook atau apple https //www back4app com/docs/platform/sign in with apple kemudian tautkan akun try await user link(with apple(idtoken "token", rawnonce "nonce")) langkah 6 – menangani penyimpanan file mengatur penyimpanan file unggah gambar pengguna, replay permainan, atau aset aplikasi menggunakan parsefile let filedata = data( ) // e g image bytes let file = parsefile(name "preview\ png", data filedata) do { let savedfile = try await file save() print("file uploaded \\\\(savedfile url)") } catch { print("error uploading file \\\\(error)") } contoh lampirkan file ke objek struct gamemedia parseobject { var objectid string? var createdat date? var updatedat date? var acl parseacl? var originaldata data? var screenshot parsefile? } pertimbangan keamanan gunakan clp atau acl untuk mengamankan referensi file url langsung dari file dapat diakses publik kecuali anda mengaktifkan keamanan file https //www back4app com/docs/security/parse security langkah 7 – verifikasi email dan reset kata sandi ikhtisar verifikasi email membantu mengonfirmasi kepemilikan akun email oleh pengguna reset kata sandi menawarkan cara yang aman dan ramah pengguna untuk mendapatkan kembali akses akun konfigurasi dasbor back4app di aplikasi anda → pengaturan aplikasi → email aktifkan verifikasi email atau reset kata sandi sesuaikan template email implementasi kode func requestpasswordreset(for email string) async { do { try await user passwordreset(email email) print("password reset link sent ") } catch { print("error requesting password reset \\\\(error)") } } langkah 8 – penjadwalan tugas dengan pekerjaan cloud pekerjaan cloud otomatisasi tugas berulang, seperti membersihkan data lama atau mengirim pembaruan bulanan parse cloud job("cleanupoldscores", async (request) => { const now = new date(); const thirtydaysago = new date(now 30 24 60 60 1000); const query = new parse query("gamescore"); query lessthan("createdat", thirtydaysago); const oldscores = await query find({ usemasterkey true }); await parse object destroyall(oldscores, { usemasterkey true }); return `deleted ${oldscores length} old scores `; }); di dasbor back4app → pengaturan aplikasi → pengaturan server → pekerjaan latar belakang , jadwalkan “cleanupoldscores” untuk dijalankan setiap hari langkah 9 – mengintegrasikan webhook definisi webhook memungkinkan aplikasi back4app anda untuk mengirimkan peristiwa ke layanan eksternal ini bisa berupa mengirim notifikasi ke slack, pembaruan pembayaran ke stripe, atau data analitik ke server anda konfigurasi di dasbor back4app anda, pergi ke lainnya → webhook → tambahkan webhook tentukan endpoint (seperti https //myserver com/webhook endpoint ) dan pemicu (pembaruan objek, catatan baru, dll ) contoh beri tahu slack ketika skor tinggi baru dibuat parse cloud aftersave("gamescore", async (request) => { const score = request object get("score"); await sendtoslack(`a new high score of ${score} was posted!`); }); langkah 10 – menjelajahi panel admin back4app di mana menemukannya aplikasi back4app admin adalah dasbor yang ramah pengguna, berbasis model untuk mengelola data, melakukan crud, atau mengedit kelas—tanpa perlu kueri database langsung aktifkan melalui dasbor aplikasi → lainnya → aplikasi admin fitur setelah diaktifkan, anda dapat mengundang anggota tim atau klien untuk mengelola data, memeriksa log, atau menyesuaikan notifikasi push—pada dasarnya memberi mereka portal langsung ke backend dari aplikasi tvos anda kesimpulan dengan mengikuti tutorial komprehensif ini, anda telah membuat backend yang aman untuk aplikasi tvos anda menggunakan back4app mengonfigurasi database dengan kelas, tipe data, dan hubungan menyiapkan kueri waktu nyata untuk mencerminkan perubahan segera menerapkan keamanan melalui acl dan clp mengimplementasikan cloud code untuk logika bisnis dan integrasi kustom mengaktifkan otentikasi dengan verifikasi email dan pengaturan ulang kata sandi menangani unggahan file dengan kontrol keamanan opsional menjadwalkan cloud jobs untuk tugas rutin menggunakan webhook untuk mengintegrasikan dengan layanan eksternal menjelajahi panel admin untuk mengelola dan memantau data anda sekarang sudah siap untuk membangun pengalaman apple tv yang kaya dan berkualitas tinggi aplikasi anda dibangun di atas fondasi yang kuat—nikmati mengubah ide aplikasi tvos anda menjadi kenyataan! langkah selanjutnya perbaiki ui tvos anda gabungkan navigasi berbasis fokus, alur pengguna layar besar, dan praktik terbaik app store tingkatkan keamanan tambahkan acl berbasis peran, otentikasi multi faktor, atau enkripsi lanjutan perdalam keterampilan anda jelajahi fitur parse swift yang lebih canggih seperti caching offline atau analitik kustom periksa dokumen resmi dokumen back4app https //www back4app com/docs dan dokumen apple tvos https //developer apple com/tvos/ untuk pengetahuan yang lebih dalam monetisasi pertimbangkan langganan atau bayar per tayang untuk memperluas potensi bisnis streaming anda dengan dasar dasar dari panduan ini, anda dapat terus berinovasi dan mengintegrasikan fitur baru semoga sukses membawa aplikasi tvos anda ke tingkat berikutnya!