Bab 6 dari 8 · 25 menit

Akses Fitur Perangkat, Integrasi API, dan Penyimpanan Data

Aplikasi seluler sering kali membutuhkan akses langsung ke perangkat keras ponsel. Expo SDK menyediakan puluhan modul resmi yang siap pakai, seperti expo-camera untuk menjepret foto dan membaca kode batang, expo-location untuk memperoleh koordinat GPS pengguna, expo-notifications untuk sistem pemberitahuan, serta expo-local-authentication untuk verifikasi biometrik sidik jari atau wajah. Saat memasang modul-modul ini, pastikan kamu menggunakan perintah npx expo install <nama-modul> agar versi paket yang diunduh terjamin kompatibel.

Dalam integrasi jaringan dan pemanggilan API backend, gunakan selalu protokol aman HTTPS karena sistem operasi Android dan iOS secara baku memblokir lalu lintas HTTP polos. Tangani selalu tiga status utama siklus data asinkron: kondisi sedang memuat data (loading), kondisi data berhasil didapatkan (success), dan penanganan ketika terjadi kesalahan jaringan (error).

Penyimpanan Data dan Manajemen State

Untuk urusan retensi data di perangkat, kamu harus membedakan peruntukan masing-masing media penyimpanan:

  • AsyncStorage: Penyimpanan pasangan kunci-nilai sederhana yang tidak dienkripsi, cocok untuk preferensi antarmuka pengguna seperti pilihan bahasa.
  • expo-secure-store: Media penyimpanan data terenkripsi berbasis hardware (Keychain pada iOS dan KeyStore pada Android). Gunakan selalu modul ini untuk menyimpan token otentikasi login pengguna.
  • expo-sqlite: Basis data relasional lokal terstruktur untuk mendukung fungsionalitas mode luar jaringan (offline-first).
import * as SecureStore from 'expo-secure-store';

// Menyimpan token login secara aman
await SecureStore.setItemAsync('auth_token', token);

// Mengambil kembali token saat aplikasi dimulai
const token = await SecureStore.getItemAsync('auth_token');

Alur Kerja Notifikasi Push

Untuk pengiriman notifikasi push jarak jauh, perangkat seluler harus meminta izin kepada pengguna terlebih dahulu untuk mendapatkan token unik melalui Notifications.getExpoPushTokenAsync(). Token ini kemudian dikirim ke server backend kamu untuk memicu pengiriman pesan via server Expo Push API yang akan meneruskannya ke Apple Push Notification service (APNs) dan Firebase Cloud Messaging (FCM).

Cek pemahaman

  1. 1. Pustaka penyimpanan lokal manakah yang paling aman dan disarankan untuk menyimpan access token pengguna di aplikasi?

  2. 2. Sistem operasi modern Android dan iOS secara default memblokir permintaan data API yang menggunakan protokol HTTP biasa tanpa enkripsi.

  3. 3. Fasilitas apa yang digunakan expo-notifications untuk meneruskan pesan push dari server pengembang ke layanan APNs dan FCM secara terpadu?