Kembali ke konten utama
Mobile Panduan

Panduan Master Expo Pemberitahuan Push 2026

Panduan pengaturan pemberitahuan push Expo. Panduan ini mencakup izin, token, pengiriman, penanganan, dan praktik terbaik produksi untuk pengiriman yang dapat diandalkan.

Panduan Master Expo Pemberitahuan Push 2026

Anda mungkin sudah mencapai titik di mana aplikasi berfungsi, pengguna telah masuk, dan produk sekarang ingin aliran kembali yang terasa asli. Pengingat keranjang. Prompt tinjauan. Peringatan pesan baru. Pengumuman rilis. Insting pertama sering kali adalah untuk "menghubungkan push," lalu seminggu kemudian Anda sedang menggugurkan mengapa perangkat tertentu menerima peringatan, simulator tampaknya mendaftar dengan baik, dan tidak ada yang dapat menjelaskan mengapa sentuhan tidak membuka layar yang tepat.

Itu di mana pemberitahuan push Expo adalah sederhana atau rapuh.

Expo memberikan lapisan praktis atas APNs dan FCM, yang tepat mengapa banyak tim menggunakan itu. Namun, gap antara demo dan implementasi siap produksi nyata. Siklus token, waktu izin, pengaturan pendengar, desain payload, dan pembersihan backend semua berperan. Jika Anda juga mengirimkan perubahan logika aplikasi yang sering, kebutuhan untuk disiplin operasional menjadi lebih tajam, terutama jika pekerjaan peningkatan retensi Anda bergantung pada pesan yang dapat diandalkan dan kecepatan rilis. Itu adalah kekhawatiran yang lebih luas di balik Pengembangan Aplikasi Pengguna Retensi Mobile: Pengiriman hanya berguna jika pengalaman pengguna di sekitarnya dapat diprediksi.

Peta Kandungan

Dasar untuk Menggugah Pengguna dengan Notifikasi Push Expo

Suatu Notifikasi push Pengaturan Expo menarik karena satu alasan di atas semua. Ini menghilangkan banyak kompleksitas pesan native yang tim tidak ingin miliki pada hari pertama. Sebaliknya, Anda dapat bekerja dengan gateway Expo dan fokus pada perilaku produk, routing, UX izin, dan logika pesan backend.

Abstraksi ini tidak membuat push “kurang nyata.” Ini hanya mengubah tempat upaya insinyur Anda.

Pelayanan ini juga cukup cepat sehingga kinerja biasanya bukan hal pertama yang perlu dikhawatirkan. Dari 14 Maret 2023 hingga 12 Juni 2023, notifikasi push Expo API menunjukkan waktu respons median 42 milisekon 273 milisekon latency p99, 42 milisekon waktu respons mediandan sejumlah 0,17% per hari di seluruh context: Halaman perbandingan Capawesome. Area: Halaman perbandingan Capawesome. Peran: Paragraf pemasaran atau hukum yang panjang. Dilihat di: halaman capwesome.astro. Simpan istilah produk/brand dan istilah developer Capgo secara tepat. Kunci pesan `capwesome_diff_experience_capgo` (Capwesome Diff Experience Capgo).jutaan pesan sehari Knock’s Expo push API benchmark analysisanalisis benchmark Knock untuk __CAPGO_KEEP_0__ push Expo

. Ini akan menenangkan tim yang bertanya-tanya apakah Expo hanya cocok untuk prototipe.

Apa yang sebenarnya diabstraksi Expo

  • Ketika tim mengatakan “push Expo,” mereka sering kali berarti beberapa kekhawatiran yang terpisah yang digabungkan: Routing penyedia: Expo mengalihkan pesan ke untuk iOS dan FCM untuk Android.
  • Format token: Pelayanan server Anda menyimpan dan mengirimkan Token Push Expo daripada mengelola token spesifik platform terlebih dahulu.
  • Kontrak permintaan: Anda mengirimkan payload ke Expo’s push API bukan langsung mengintegrasikan API penyedia native.

Itu membantu, tetapi juga menciptakan kesalahpahaman umum. Tim kadang-kadang asumsi Expo menguasai setiap masalah pengiriman. Dalam prakteknya, banyak gagal datang dari aplikasi code, token yang kadaluarsa, payload yang rusak, atau aliran izin yang buruk.

Aturan praktis: Tangani Expo sebagai lapisan transportasi yang dapat diandalkan, bukan sebagai pengganti desain klien dan backend yang baik.

Apa yang sebenarnya berarti siap produksi

Demo yang berfungsi hanya membuktikan bahwa satu perangkat menerima satu payload sekali. Siap produksi berarti sesuatu yang lain:

Kesalahan Minda Demo Minda Produksi
Izin Tanyakan Langsung Tanyakan dalam Konteks, Setelah Nilai Pengguna Jelas
Token Simpan Sekali Segarkan, Duplikat, Masa Berlaku, dan Rekoncili
Isi Pantau Masukkan Semua ke data Jaga Payload Kecil dan Berorientasi Tindakan
Perilaku Aplikasi Tampilkan peringatan Berlaku dengan benar dan mengatasi keadaan latar depan
Operasi Pengujian manual Resi, pembersihan, log, dan penanganan insiden

Perbedaan antara "pengiriman pemberitahuan" dan "pemberitahuan mendukung alur kerja produk nyata."

Pengaturan Awal dan Konfigurasi Proyek

Banyak rasa sakit Expo push dimulai sebelum prompt izin pertama. Jika konfigurasi proyek Anda longgar, klien code dapat terlihat benar sementara aplikasi masih berperilaku tidak konsisten di antara build.

Fotografi modern laptop di atas meja kayu menampilkan file konfigurasi code untuk pengaturan proyek.

Mulai dengan library yang tepat terinstal dan lingkungan pengembangan yang sesuai dengan jalur build. Jika Anda bekerja di luar Expo Go, membantu untuk menyelaraskan alur kerja lokal dengan pengaturan klien pengembangan Expo yang disesuaikan Mulai dengan library yang tepat terinstal dan lingkungan pengembangan yang sesuai dengan jalur build. Jika Anda bekerja di luar Expo Go, membantu untuk menyelaraskan alur kerja lokal dengan pengaturan klien pengembangan Expo yang disesuaikanKarena perilaku notifikasi sering perlu diverifikasi dalam build yang lebih mirip produksi daripada jalankan sandbox yang cepat.

Instal paket notifikasi

Setidaknya, Anda biasanya memerlukan:

  • expo-notifications untuk permintaan izin, pengambilan token, pemantauan, dan presentasi notifikasi.
  • expo-device Karena Anda harus menjaga pengambilan token dengan Device.isDevice.

Perintah instalasi biasanya bergantung pada manajer paket Anda, tetapi kunci adalah sinkronisasi versi dengan Expo SDK. Jangan campuradukkan versi paket acak. Biarkan Expo menyelesaikan yang kompatibel.

Tambahkan konfigurasi pada tingkat proyek

Jaga konfigurasi Anda eksplisit. Minimal app.json atau app.config.js context

{
  "expo": {
    "name": "MyApp",
    "slug": "my-app",
    "plugins": ["expo-notifications"],
    "ios": {
      "bundleIdentifier": "com.example.myapp"
    },
    "android": {
      "package": "com.example.myapp"
    },
    "extra": {
      "eas": {
        "projectId": "your-project-id"
      }
    }
  }
}

Karena Anda harus menjaga pengambilan token dengan

  • Sebuah beberapa hal yang penting di sini: perlu sesuai dengan aplikasi yang sebenarnya Anda kirim.
  • The plugin notifikasi memastikan proyek native mendapatkan konfigurasi yang diperlukan selama pembangunan.
  • The ID proyek EAS berperan ketika pengambilan token menunggu aplikasi terkait dengan proyek Expo yang benar.

Setelah handler notifikasi pada awalnya

Banyak tutorial dasar menunda terlalu lama untuk mendefinisikan perilaku notifikasi. Jangan. Letakkan dekat awal aplikasi sehingga perilaku latar depan dapat diprediksi.

import * as Notifications from 'expo-notifications';

Notifications.setNotificationHandler({
  handleNotification: async () => ({
    shouldShowAlert: true,
    shouldPlaySound: false,
    shouldSetBadge: true,
  }),
});

Tim memutuskan apakah notifikasi latar depan harus menampilkan peringatan, memainkan suara, atau mempengaruhi tombol. Perilaku yang tepat tergantung pada produk. Aplikasi obrolan dan aplikasi pembayaran tidak akan membuat pilihan yang sama.

Jika Anda tidak mendefinisikan perilaku latar depan secara sengaja, tim Anda akan berakhir mengdebug notifikasi yang hilang yang sebenarnya diterima tapi tidak pernah ditampilkan seperti yang diharapkan produk.

Android memerlukan konfigurasi saluran

Saluran notifikasi Android tidak optional dalam prakteknya. Jika Anda melewatinya, peringatan Anda dapat terlihat tidak konsisten atau gagal untuk sesuai dengan harapan pengguna.

import { Platform } from 'react-native';
import * as Notifications from 'expo-notifications';

export async function configureAndroidNotifications() {
  if (Platform.OS !== 'android') return;

  await Notifications.setNotificationChannelAsync('default', {
    name: 'Default',
    importance: Notifications.AndroidImportance.MAX,
  });
}

Setelah ini selama inisialisasi aplikasi. Lalu jaga ID saluran stabil. Mengubahnya secara santai membuat perilaku notifikasi lebih sulit untuk dipahami nanti.

Mengajukan Izin dan Mengambil Token Push

Bagian ini sering diambil dari kode snippet, lalu akhirnya menyesal.

Permintaan izin memerlukan waktu yang tepat, kesadaran platform, dan pengelolaan async yang disiplin. Pengambilan token harus dilakukan hanya pada perangkat fisik, hanya setelah izin diresolusi, dan hanya jika Anda siap menyimpan hasilnya di backend Anda segera.

Diagram langkah demi langkah menunjukkan proses mendapatkan dan menyimpan token push notifikasi Expo.

Fungsi klien yang harus menjadi titik awal Anda

Gunakan fungsi seperti ini sebagai titik awal Anda:

import * as Device from 'expo-device';
import * as Notifications from 'expo-notifications';
import Constants from 'expo-constants';
import { Platform } from 'react-native';

type RegisterResult =
  | { ok: true; token: string }
  | { ok: false; reason: string };

export async function registerForExpoPushNotificationsAsync(): Promise<RegisterResult> {
  if (!Device.isDevice) {
    return { ok: false, reason: 'Push notifications require a physical device.' };
  }

  if (Platform.OS === 'android') {
    await Notifications.setNotificationChannelAsync('default', {
      name: 'Default',
      importance: Notifications.AndroidImportance.MAX,
    });
  }

  const permissions = await Notifications.getPermissionsAsync();
  let finalStatus = permissions.status;

  if (finalStatus !== 'granted') {
    const request = await Notifications.requestPermissionsAsync();
    finalStatus = request.status;
  }

  if (finalStatus !== 'granted') {
    return { ok: false, reason: 'Notification permission was not granted.' };
  }

  const projectId =
    Constants.expoConfig?.extra?.eas?.projectId ??
    Constants.easConfig?.projectId;

  if (!projectId) {
    return { ok: false, reason: 'Missing EAS project ID configuration.' };
  }

  const tokenResponse = await Notifications.getExpoPushTokenAsync({ projectId });

  return { ok: true, token: tokenResponse.data };
}

Urutan penting. Anda memeriksa jenis perangkat terlebih dahulu, mengatur perilaku kanal Android, menyelesaikan izin, memvalidasi konfigurasi proyek, kemudian meminta token Expo.

Mengapa Device.isDevice tidak boleh diabaikan

Hal ini salah satu kesalahan yang menciptakan banyak kebisingan sementara terlihat tidak berbahaya. Tim ahli hanya meminta izin kondisional ketika Device.isDevice adalah benar, dan salah satu kelemahan umum adalah melewatkan guard tersebut, yang menyebabkan pengembang mengirim notifikasi ke token simulator yang tidak valid dan menyalahkan Expo ketika masalah sebenarnya adalah konfigurasi aplikasi, seperti yang dijelaskan di Eagerworks’ Implementasi Notifikasi Expo Catatan.

Alasan itu, periksaan dilakukan di atas fungsi. Jangan sembunyikan di bantuan. Buatlah jelas.

Hasil simulator berguna untuk tes UI. Mereka tidak dapat dipercaya untuk memvalidasi pendaftaran token push.

Berikan izin pada saat yang tepat

Jangan bertanya pada layar splash. Jangan bertanya sebelum pengguna memahami nilai. Waktu yang terbaik biasanya setelah aksi pengguna yang membuat manfaat notifikasi konkrit, seperti mengaktifkan update pengiriman, bergabung dalam percakapan, atau menyimpan item yang ditonton.

Implementasi yang baik biasanya mengikuti alur ini:

  1. Pengguna mencapai batasan fitur yang bermakna.
  2. Aplikasi menjelaskan nilai notifikasi dalam UI sendiri.
  3. Aplikasi meminta izin sistem.
  4. Aplikasi menyimpan token di backend segera jika izin diberikan.

Langkah terakhir itu adalah di mana banyak aplikasi gagal. Mereka mengambil token, merekamnya secara lokal, dan menunda registrasi backend. Kemudian, dukungan tidak dapat mengetahui perangkat mana yang memiliki token mana pada saat tertentu.

Contoh sederhana dari menyimpan token setelah registrasi:

export async function enablePushForCurrentUser(userId: string) {
  const result = await registerForExpoPushNotificationsAsync();

  if (!result.ok) {
    return result;
  }

  await fetch('https://api.example.com/push-tokens', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      Authorization: 'Bearer user-session-token',
    },
    body: JSON.stringify({
      userId,
      token: result.token,
      platform: Platform.OS,
    }),
  });

  return result;
}

Di bagian workflow yang lebih lanjut, panduan ini adalah referensi visual yang membantu:

Untuk tim yang membangun aplikasi dengan perilisan yang berat, juga membantu untuk berpikir bahwa pendaftaran token sebagai bagian dari keadaan operasional aplikasi, bukan hanya bagian dari proses onboarding. Mindset ini sesuai dengan alur kerja aplikasi Expo yang lebih luas, di mana perilaku aplikasi dapat berubah sering dan keadaan backend harus tetap sinkron.Mengirimkan Pemberitahuan dari Server Anda

Setelah backend Anda memiliki token push Expo yang valid, mengirimkan pemberitahuan menjadi lebih mudah. Bagian yang sulit bukanlah permintaan itu sendiri. Itu adalah menentukan apa yang harus ada di payload dan seberapa banyak kepercayaan yang Anda berikan pada keadaan klien.

Contoh Minimal dengan Node

Contoh di atas menggunakan fetch:

type ExpoPushMessage = {
  to: string;
  title: string;
  body: string;
  sound?: 'default' | null;
  data?: Record<string, unknown>;
};

export async function sendExpoPushNotification(token: string) {
  const message: ExpoPushMessage = {
    to: token,
    title: 'New review received',
    body: 'Tap to open the order details.',
    sound: 'default',
    data: {
      type: 'new_review',
      orderId: 'ord_123',
      screen: 'OrderDetails',
    },
  };

  const response = await fetch('https://exp.host/--/api/v2/push/send', {
    method: 'POST',
    headers: {
      Accept: 'application/json',
      'Accept-encoding': 'gzip, deflate',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(message),
  });

  const result = await response.json();
  return result;
}

Apakah setiap bidang payload harus melakukan apa?

Jangan biarkan payload menjadi tempat sampah. Pastikan setiap bidang memiliki tujuan.

Tujuan Konsultasi Praktis Konsultasi
to Token Push Expo Target Pastikan itu milik rekaman perangkat saat ini
title Judul Notifikasi Jadikan singkat dan dapat dibaca manusia
body Tekst yang terlihat utama Jadikan aksi jelas
sound Perilaku suara sistem Gunakan dengan berhati-hati untuk peringatan berharga tinggi
data Metadata aplikasi khusus Lebih baik gunakan ID dan petunjuk jalur daripada konten yang kaya

Objek ini adalah di mana alur kerja produk menjadi berguna. Anda dapat melewatkan jenis dan ID rekaman, kemudian biarkan aplikasi mengambil data terbaru ketika pengguna mengetuk. Itu lebih aman daripada menyematkan blob besar atau sensitif secara langsung ke dalam muatan. data Ini

Jaga ukuran payload kecil dan membosankan

Mengikuti panduan Courier untuk pemberitahuan Expo, Token Push Expo harus dianggap sebagai sementara, payload yang melebihi batasan ukuran sekitar 4 KB dapat ditolak, dan pola yang dapat diandalkan adalah mengirimkan payload metadata kecil seperti { "type": "new_review", "id": 123 } daripada JSON besar atau media inline. Saran itu sesuai dengan apa yang berfungsi di sistem nyata. Payload kecil gagal kurang sering dan bertahan lebih baik ketika logika aplikasi berubah.

Kirimkan cukup data untuk menentukan pengguna. Ambil sisa data setelah aplikasi dibuka.

Hal-hal berguna di server

Fungsi kirim dasar cukup untuk tes. Fungsi produksi biasanya menambahkan beberapa tanggung jawab:

Before debugging client listeners, send a manual test push first. If a token receives a plain notification with a tiny payload, your transport path is probably healthy. If not, don’t start by changing navigation code. Start by validating the token, payload shape, and permission state.

Pengelolaan Notifikasi Masuk di Aplikasi Anda

Pengiriman hanya setengah fitur. Aplikasi harus melakukan sesuatu yang kohesif ketika notifikasi datang dan ketika pengguna mengetuknya.

Artinya, menangani dua momen yang berbeda:

  • pemberitahuan tiba ketika aplikasi terbuka
  • pengguna berinteraksi dengan pemberitahuan dari tray sistem atau layar kunci

Diagram alir yang menggambarkan siklus pemberitahuan push untuk aplikasi mobile dalam keadaan latar depan dan belakang.

Penerimaan dan respons pengguna dalam keadaan depan adalah dua kejadian yang berbeda.

Konfigurasi yang dapat diandalkan biasanya mencakup kedua pendengar:

import { useEffect } from 'react';
import * as Notifications from 'expo-notifications';

export function useNotificationObservers(
  onForegroundMessage: (notification: Notifications.Notification) => void,
  onNotificationTap: (response: Notifications.NotificationResponse) => void
) {
  useEffect(() => {
    const receivedSub = Notifications.addNotificationReceivedListener(
      (notification) => {
        onForegroundMessage(notification);
      }
    );

    const responseSub = Notifications.addNotificationResponseReceivedListener(
      (response) => {
        onNotificationTap(response);
      }
    );

    return () => {
      receivedSub.remove();
      responseSub.remove();
    };
  }, [onForegroundMessage, onNotificationTap]);
}

addNotificationReceivedListener berjalan ketika aplikasi aktif. addNotificationResponseReceivedListener berjalan ketika pengguna mengetuk pemberitahuan yang telah dikirim. Jangan kombinasikan mereka secara mental. Mereka berfungsi pada jalur UX yang berbeda.

Baca payload data dan navigasikan secara sengaja.

Berikut adalah pola praktis untuk menangani ketukan:

type NotificationData = {
  type?: string;
  orderId?: string;
  screen?: string;
};

export function handleNotificationTap(
  response: Notifications.NotificationResponse,
  navigation: any
) {
  const data =
    response.notification.request.content.data as NotificationData;

  if (data.screen === 'OrderDetails' && data.orderId) {
    navigation.navigate('OrderDetails', { orderId: data.orderId });
    return;
  }

  if (data.type === 'new_review') {
    navigation.navigate('Inbox');
    return;
  }

  navigation.navigate('Home');
}

Pola ini tetap stabil karena payload berisi petunjuk navigasi, bukan dokumen utuh. Jika urutan telah berubah sejak pemberitahuan dikirim, aplikasi dapat mengambil status server saat ini setelah navigasi.

Pemberitahuan yang diketuk harus menuju satu tujuan yang jelas. Jika jalur cadangan Anda tidak jelas, pengguna akan menyadari segera.

Perilaku latar belakang harus sesuai dengan konteks pengguna

Jika aplikasi sudah terbuka, menampilkan peringatan sistem secara acak dapat terasa tidak nyaman. Terkadang langkah yang tepat adalah menampilkan banner aplikasi, memperbarui badge, atau memperbarui secara diam-diam. Layar inbox dukungan mungkin tidak memerlukan peringatan yang terlihat ketika pengguna sedang membaca percakapan tersebut.

Itulah mengapa pendengar latar belakang Anda harus bercabang berdasarkan rute dan jenis notifikasi. Misalnya:

  • Layar chat terbuka: tambahkan pesan dan hindari menampilkan banner yang tidak perlu
  • Layar dashboard terbuka: tampilkan notifikasi ringan di dalam aplikasi
  • Kegiatan akun kritis: tampilkan perawatan UI yang lebih kuat

Sistem sederhana seperti ini:

export function handleForegroundNotification(
  notification: Notifications.Notification,
  currentRouteName: string
) {
  const data = notification.request.content.data as { type?: string };

  if (currentRouteName === 'ChatThread' && data.type === 'new_message') {
    // refresh local thread state
    return;
  }

  // otherwise show your own in-app UI or update badges
}

Jika aplikasi Anda tidak membedakan konteks-konteks ini, pengguna akan merasa lelah dengan notifikasi lebih cepat, bahkan jika pengiriman teknisnya benar.

Praktik Terbaik Produksi dan Kesalahan Umum

Jangan terlalu percaya bahwa Expo push notification yang rusak tidak gagal karena Expo terlalu terbatas. Mereka gagal karena tim asumsi token yang permanen, payload dapat membawa apa saja, dan pembaruan aplikasi tidak akan mempengaruhi logika notifikasi.

Asumsi itu tidak bertahan di produksi.

Infografis checklist yang menjelaskan delapan praktik terbaik untuk mengelola notifikasi push produksi untuk aplikasi mobile.

Token adalah sementara, bukan catatan identitas.

Token Expo Push sebaiknya dianggap seperti sewa, bukan identitas perangkat seumur hidup. Token dapat berputar setelah reinstall, perubahan OS, atau kejadian siklus lainnya. Jika token akhirnya kembali DeviceNotRegistered, backend Anda harus berhenti menganggapnya sebagai aktif.

Model backend yang praktis menyimpan:

  • ID pengguna
  • platform
  • metadata instalasi yang dipisahkan
  • token saat ini
  • timestamp terakhir dilihat
  • status seperti aktif, kadaluarsa, atau dibatalkan

Tidak menyimpan satu lapangan token di tabel pengguna dan menganggapnya sudah selesai. Pengguna memiliki beberapa perangkat, dan perangkat berubah status.

Strategi refresh lebih penting daripada yang sebagian besar tutorial akui

Panduan ekosistem resmi meninggalkan celah operasional nyata di sini. Konten push Expo yang ada sering tidak menjelaskan bagaimana menjaga kevalidan token di seluruh siklus ulasan App Store dan pembaruan OTA , yang sangat penting bagi tim yang mengirimkan perubahan hidup karena keandalan push bergantung pada status token saat ini dan sinkronisasi backend, seperti yang disebutkan didocumentasi push Expo Yang mempengaruhi cara Anda merancang trigger refresh. Waktu yang baik untuk membenahi status token termasuk:.

Launch aplikasi setelah pembaruan

  • Masuk pengguna
  • Perubahan pengaturan izin
  • Kerja rotasi kredential di proses rilis Anda
  • status seperti aktif, kadaluarsa, atau dibatalkan
  • Alur pemulihan setelah tiket dukungan terkait push

Keamanan dan kinerja tidak boleh berada di akhir sprint

Banyak tutorial Expo fokus pada mekanisme dan mengabaikan risiko operasional. Itu baik untuk aplikasi hobi. Tidak baik untuk produk-produk yang berhubungan dengan kesehatan, fintech, atau perdagangan yang terregulasi.

Diskusi Courier yang berfokus pada bisnis enterprise tentang celah notifikasi Expo menunjukkan kekurangan panduan praktis seputar pencatatan persetujuan, jejak audit, dan pengurangan paparan payload sensitif. Pengambilan sisi teknis langsung adalah sederhana:

  • Tidak masukkan data bisnis sensitif ke dalam teks atau metadata notifikasi.
  • Catat perubahan persetujuan di server.
  • Rekam notifikasi apa yang dikirimkan ke token mana.
  • Gunakan ID di payload dan ambil konten yang dilindungi setelah aplikasi dibuka.

Untuk tim yang mengatur operasi rilis dengan disiplin yang lebih luas app store compliance and API security practices__CAPGO_KEEP_0__

Peringatan push adalah pesan yang menghadap pengguna, tetapi juga merupakan masalah sistem yang terdistribusi. Berikan perhatian yang sama seperti yang Anda berikan pada keadaan autentikasi dan event pembayaran.

Apakah yang biasanya berhasil dan apa yang biasanya gagal

Biasanya berhasil Biasanya gagal
Mengajukan izin setelah penjelasan nilai yang jelas Mengajukan pada frame pertama
Menguji pada perangkat nyata Mengandalkan registrasi simulator
Menyimpan token dengan konteks perangkat Satu token per catatan pengguna
Mengirimkan payload metadata kecil Mengintegrasikan besar atau blob sensitif
Menangani event latar depan dan sentuhan secara terpisah Memahami semua notifikasi mengikuti satu jalur
Mengakhiri token yang ketinggalan dengan agresif Mengulangi token yang mati selamanya

Konfigurasi push Expo yang solid tidak rumit. Ini adalah disiplin.


Jika tim Anda mengirimkan perubahan logika aplikasi yang sering dan membutuhkan kontrol yang lebih ketat atas perilaku rilis, pengembalian, dan visibilitas pengiriman, Capgo Pertimbangkan untuk menggunakan Capgo. Ini membantu tim mobile mengirimkan pembaruan dengan cepat tanpa harus menunggu tinjauan toko, yang sangat berguna ketika aliran notifikasi, logika routing, atau perbaikan sisi klien harus mencapai pengguna dengan cepat.

Pembaruan langsung untuk aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan pembaruan di latar belakang sementara perubahan native tetap berada di jalur review normal.

Bantuan manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi mobile profesional yang sebenarnya.