Quickstarters
Feature Overview
How to Build a Backend for Xamarin?
30 mnt
pendahuluan dalam tutorial ini, anda akan belajar bagaimana membangun backend untuk xamarin aplikasi mobile anda menggunakan fitur fitur kuat dari back4app kami akan mengandalkan rest api , graphql , dan opsi api web lainnya alih alih menggunakan sdk khusus pendekatan ini menjaga klien mobile anda tetap ringan dan fleksibel, memungkinkan anda untuk terhubung ke data anda melalui panggilan http sederhana kami akan membahas pembuatan model database, menerapkan keamanan, menangani otentikasi, dan melakukan operasi file dengan mengikuti langkah langkah ini, anda akan melihat bagaimana membangun backend untuk xamarin dengan cepat dan aman anda juga akan menjelajahi penjadwalan tugas otomatis dan mengintegrasikan webhooks untuk memperluas fungsionalitas aplikasi xamarin anda, sehingga anda dapat fokus pada pengkodean ui anda alih alih mengatur konfigurasi server setelah anda menyelesaikan panduan ini, anda akan memiliki template yang dapat digunakan kembali untuk membangun aplikasi seluler yang bergantung pada back4app untuk backend mereka anda juga akan memahami cara menerapkan daftar kontrol akses (acl), menulis kode cloud (jika diperlukan), dan menggabungkan alur kerja lanjutan seperti kueri langsung atau pekerjaan cloud dalam solusi akhir anda prasyarat untuk mendapatkan hasil maksimal dari tutorial ini, pastikan anda memiliki akun back4app daftar gratis di sini https //www back4app com/ proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app lingkungan pengembangan xamarin (visual studio atau visual studio untuk mac) dokumen instalasi xamarin https //docs microsoft com/en us/xamarin/get started/installation/ pengetahuan dasar tentang c# dan xamarin (termasuk cara membuat permintaan api web dari sebuah kelas publik dalam c#) dengan prasyarat ini siap, anda akan siap untuk mengikuti dan menghubungkan proyek xamarin anda ke back4app langkah 1 – membuat proyek baru di back4app dan menghubungkan buat proyek back4app di dasbor back4app anda ini adalah dasar untuk backend anda beri nama proyek anda (misalnya, “xamarin backend tutorial”) temukan kunci aplikasi anda dengan pergi ke bagian “keamanan & kunci” aplikasi anda akan melihat kunci rest, graphql, atau kunci lain yang mungkin anda gunakan saat membuat permintaan dari klien seluler anda konfigurasikan proyek xamarin anda untuk membuat permintaan http alih alih menggunakan parse sdk, anda akan menggunakan httpclient , atau pustaka jaringan lain yang anda pilih, untuk memanggil rest atau graphql aplikasi back4app anda misalnya, anda dapat menyimpan id aplikasi dan kunci api rest anda di tempat yang aman atau di file konstanta public class back4appconstants { public const string appid = "your application id"; public const string restapikey = "your rest api key"; public const string serverurl = "https //parseapi back4app com"; } saat memanggil web api , selalu sertakan kredensial ini dalam header permintaan anda ini memastikan permintaan anda diarahkan ke aplikasi yang benar dengan otorisasi yang diperlukan langkah 2 – menyiapkan database 1\ membuat model data gunakan dasbor back4app untuk mendefinisikan kelas anda atau biarkan mereka dibuat secara dinamis pada permintaan pertama misalnya, jika anda ingin kelas todo , anda dapat membuatnya di bagian database atau secara langsung melalui panggilan rest api 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 2\ membuat model data menggunakan ai agent back4app menyediakan ai agent yang dapat menghasilkan struktur kelas lengkap buka ai agent di proyek back4app anda deskripsikan model anda (misalnya, “silakan buat kelas baru bernama ‘todo’ dengan field title dan iscompleted ”) konfirmasi untuk menghasilkan skema secara otomatis 3\ membaca dan menulis data (rest) di dalam xamarin proyek anda, anda dapat menulis sebuah public class (misalnya, restclient ) yang menangani semua permintaan ke back4app using system net http; using system text; using newtonsoft json; public class restclient { private readonly httpclient client; public restclient() { client = new httpclient(); client defaultrequestheaders add("x parse application id", back4appconstants appid); client defaultrequestheaders add("x parse rest api key", back4appconstants restapikey); } public async task createtodoasync(string title, bool iscompleted) { var newtodo = new { title = title, iscompleted = iscompleted }; var content = new stringcontent(jsonconvert serializeobject(newtodo), encoding utf8, "application/json"); var response = await client postasync($"{back4appconstants serverurl}/classes/todo", content); // handle the response } public async task\<list\<todo>> gettodosasync() { var response = await client getasync($"{back4appconstants serverurl}/classes/todo"); var jsonstring = await response content readasstringasync(); // parse json into a c# model (todo) // return the result // return new list\<todo>(); // placeholder } } public class todo { public string objectid { get; set; } public string title { get; set; } public bool iscompleted { get; set; } } 4\ membaca dan menulis data (graphql) untuk kueri graphql, anda dapat mengirim permintaan ke endpoint graphql back4app curl x post \\ h "content type application/json" \\ h "x parse application id your application id" \\ h "x parse master key your master key" \\ \ data '{"query" "mutation { createtodo(input {fields {title \\"wash the car\\" iscompleted\ false}}){ todo{ objectid title }}}"}' \\ https //parseapi back4app com/graphql demikian pula, dari xamarin, anda dapat post body json dengan string graphql anda ke https //parseapi back4app com/graphql 5\ bekerja dengan live queries (opsional) meskipun anda menggunakan panggilan api web daripada parse sdk, anda masih dapat mengaktifkan live queries jika anda menginginkan pembaruan data secara real time anda akan menggunakan koneksi khusus (websockets) untuk berlangganan perubahan kelas aktifkan live queries dari pengaturan server aplikasi anda di back4app, kemudian gunakan pustaka klien yang kompatibel di xamarin, jika tersedia sebagai alternatif, anda dapat membangun solusi websocket anda sendiri atau mengandalkan polling jika dukungan real time bersifat opsional untuk aplikasi anda langkah 3 – menerapkan keamanan dengan acl dan clp 1\ ikhtisar acl dan clp keamanan back4app mencakup izin tingkat kelas (clp) dan daftar kontrol akses (acl) clp mendefinisikan pengguna atau peran mana yang dapat membaca/menulis ke seluruh kelas acl menambahkan keamanan per objek gabungkan keduanya untuk memastikan hanya pengguna yang berwenang yang dapat memanipulasi data anda 2\ mengatur izin tingkat kelas buka database di back4app pilih kelas anda (seperti todo) pergi ke izin tingkat kelas untuk mengatur aturan baca/tulis anda mungkin hanya mengizinkan pengguna yang terautentikasi untuk membaca atau menulis ini memastikan bahwa klien seluler anda harus masuk sebelum membaca data langkah 4 – menulis fungsi kode cloud 1\ mengapa kode cloud kode cloud memungkinkan anda menjalankan logika sisi server yang disesuaikan anda dapat membuat aturan bisnis, validasi, atau pemicu yang dijalankan saat data berubah ini mengurangi risiko manipulasi karena logika dijalankan di luar klien seluler 2\ contoh fungsi dan pemicu di bawah ini adalah contoh sederhana dari fungsi cloud di file main js parse cloud define('helloxamarin', async (request) => { return 'hello from xamarin cloud code!'; }); parse cloud beforesave('todo', (request) => { const todo = request object; if (!todo get('title')) { throw 'title is required'; } }); 3\ penyebaran untuk menyebarkan, anda dapat menggunakan back4app cli atau bagian kode cloud di dasbor anda setelah disebarkan, anda dapat memanggil fungsi anda dari xamarin melalui rest 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 '{}' \\ https //parseapi back4app com/functions/helloxamarin 4\ modul npm jika anda memerlukan pustaka tambahan, instal melalui npm di folder proyek cloud code anda setelah itu, require mereka di main js pendekatan ini berguna untuk memanggil api pihak ketiga dari sisi server langkah 5 – mengonfigurasi autentikasi 1\ aktifkan autentikasi pengguna di back4app, kelas user mengelola kredensial pengguna di bawah pengaturan aplikasi , anda dapat mengaktifkan autentikasi pengguna, verifikasi email, dan pengaturan reset kata sandi 2\ pendaftaran / masuk pengguna (rest) dari proyek xamarin anda, anda dapat menulis metode c# untuk menangani pendaftaran dan masuk public async task signupuserasync(string username, string password, string email) { var user = new { username = username, password = password, email = email }; var content = new stringcontent(jsonconvert serializeobject(user), encoding utf8, "application/json"); var response = await client postasync($"{back4appconstants serverurl}/users", content); // parse response } public async task loginuserasync(string username, string password) { var loginendpoint = $"{back4appconstants serverurl}/login?username={username}\&password={password}"; var response = await client getasync(loginendpoint); // parse response } anda kemudian dapat menyimpan token sesi di sisi klien untuk permintaan di masa mendatang 3\ masuk sosial untuk mengintegrasikan masuk sosial (misalnya, google, facebook), konsultasikan dengan dokumentasi masuk sosial back4app https //www back4app com/docs/platform/sign in with apple setiap penyedia memiliki alur oauth nya sendiri, yang dapat anda tangani dari klien seluler kemudian, kirimkan token yang dikembalikan ke back4app langkah 6 – menangani penyimpanan file 1\ menyiapkan penyimpanan file file dapat diunggah dengan mengirimkan permintaan post dengan data file di dalam body misalnya, untuk menyimpan gambar dari aplikasi xamarin anda, baca gambar ke dalam array byte, lalu kirim curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type image/png" \\ \ data binary "@local image png" \\ https //parseapi back4app com/files/myimage png 2\ contoh unggah dengan c# public async task\<string> uploadfileasync(byte\[] filedata, string filename) { var filecontent = new bytearraycontent(filedata); filecontent headers contenttype = new system net http headers mediatypeheadervalue("image/png"); var response = await client postasync($"{back4appconstants serverurl}/files/{filename}", filecontent); var jsonresponse = await response content readasstringasync(); // parse the response to get file url return "file url from response"; } 3\ pertimbangan keamanan untuk mengamankan unggahan file, pergi ke pengaturan server anda di back4app dan sesuaikan izin file misalnya, anda hanya dapat mengizinkan pengguna yang terautentikasi untuk mengunggah langkah 7 – verifikasi email dan reset kata sandi 1\ ikhtisar verifikasi email memastikan bahwa pengguna memiliki email yang mereka daftarkan tautan reset kata sandi memungkinkan mereka untuk mendapatkan kembali akses jika mereka lupa kata sandi mereka 2\ konfigurasi dasbor back4app aktifkan verifikasi email di bawah pengaturan email edit template reset kata sandi dan atur alamat “dari” anda juga dapat menyesuaikan konten email agar sesuai dengan merek anda 3\ implementasi setelah diaktifkan, jika seorang pengguna mendaftar dengan email, mereka akan mendapatkan tautan verifikasi panggilan reset kata sandi dilakukan ke api dasar yang sama dengan email pengguna untuk memicu email reset langkah 8 – penjadwalan tugas dengan pekerjaan cloud 1\ apa yang dilakukan pekerjaan cloud pekerjaan cloud memungkinkan anda untuk menjadwalkan tugas rutin, seperti membersihkan data lama atau mengirim email ringkasan harian, semuanya dari platform back4app 2\ contoh parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days ago = new date(now 30 24 60 60 1000); query lessthan('createdat', thirty days ago); const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old items `; }); terapkan kode cloud, lalu jadwalkan pekerjaan di bawah pengaturan aplikasi > pengaturan server > pekerjaan latar belakang langkah 9 – mengintegrasikan webhook tentukan webhook di back4app dengan menavigasi ke lainnya > webhooks dan klik “tambahkan webhook ” berikan endpoint, seperti https //your service com/webhook endpoint pilih pemicu, seperti “objek baru di kelas todo ” webhooks dapat memberi tahu layanan pihak ketiga, sehingga aplikasi xamarin anda dapat tetap ringan sementara sistem eksternal menangani logika atau notifikasi tambahan langkah 10 – menjelajahi panel admin back4app aplikasi admin back4app adalah cara yang ramah pengguna untuk menangani operasi crud tanpa menulis kueri aktifkan di dasbor aplikasi > lainnya > aplikasi admin buat pengguna admin, pilih subdomain, dan masuk aplikasi admin ini ideal untuk anggota tim non teknis yang perlu mengelola data tetapi tidak seharusnya memiliki akses langsung ke database kesimpulan anda baru saja melihat bagaimana membangun backend untuk xamarin menggunakan back4app api anda membuat kelas yang aman, menambahkan clp dan acl , menangani otentikasi, dan menjelajahi unggahan file, penjadwalan tugas, dan integrasi dengan layanan eksternal pendekatan ini memastikan aplikasi mobile anda tetap cepat dan fleksibel sambil memanfaatkan kekuatan database yang dihosting dan lingkungan cloud langkah selanjutnya kembangkan aplikasi xamarin anda untuk menangani logika yang lebih kompleks, caching, atau peran dan izin yang lebih maju selami fitur fitur canggih , seperti notifikasi push, atau integrasikan data waktu nyata dengan live queries jika anda memerlukan pembaruan kolaboratif kunjungi dokumentasi resmi back4app untuk panduan lebih dalam tentang keamanan, kinerja, dan debugging buat solusi dunia nyata dengan mencampurkan api pihak ketiga (gerbang pembayaran, analitik, media sosial) dengan backend back4app anda kombinasi ini dapat meningkatkan fungsionalitas klien mobile anda dan menjaga kode anda tetap terorganisir