Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Melewati Status dalam Tindakan Email

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Anda dapat meneruskan status melalui URL lanjutkan saat mengirim tindakan email untuk pengaturan ulang kata sandi atau memverifikasi email pengguna. Ini memberi pengguna kemampuan untuk kembali ke aplikasi setelah tindakan selesai. Selain itu, Anda dapat menentukan apakah akan menangani tautan tindakan email langsung dari aplikasi seluler saat diinstal, bukan dari halaman web.

Ini bisa sangat berguna dalam skenario umum berikut:

  • Seorang pengguna, yang saat ini tidak masuk, mungkin mencoba mengakses konten yang mengharuskan pengguna untuk masuk. Namun, pengguna mungkin lupa kata sandinya sehingga memicu alur setel ulang kata sandi. Di akhir alur, pengguna berharap untuk kembali ke bagian aplikasi yang ingin mereka akses.

  • Aplikasi hanya dapat menawarkan akses ke akun terverifikasi. Misalnya, buletin mungkin mengharuskan pengguna memverifikasi email mereka sebelum berlangganan. Pengguna akan melalui alur verifikasi email dan berharap untuk kembali ke aplikasi untuk menyelesaikan langganan mereka.

  • Dalam kasus lain, pengguna mungkin telah memulai aliran dari perangkat selulernya dan berharap setelah verifikasi untuk kembali ke aplikasi selulernya, bukan ke browser.

Memiliki kemampuan untuk meneruskan status melalui URL lanjutan adalah fitur canggih yang disediakan Firebase Auth dan dapat meningkatkan pengalaman pengguna secara signifikan.

Meneruskan status/lanjutkan URL dalam tindakan email

Untuk meneruskan URL lanjutan dengan aman, domain untuk URL harus dimasukkan dalam daftar putih di konsol Firebase . Ini dilakukan di bagian Autentikasi dengan menambahkan domain ini ke daftar domain Resmi di bawah tab Metode masuk jika belum ada.

Instance ActionCodeSettings perlu disediakan saat mengirim email setel ulang kata sandi atau email verifikasi. Itu dapat dibuat dengan kelas ActionCodeSettings.Builder terkait yang berisi metode berikut:

metode Keterangan
setUrl(String url)

Tetapkan tautan (sebutkan/lanjutkan URL) yang memiliki arti berbeda dalam konteks berbeda:

  • Saat tautan ditangani di widget tindakan web, ini adalah tautan dalam di parameter kueri continueUrl .
  • Saat tautan ditangani di aplikasi secara langsung, ini adalah parameter kueri continueUrl di tautan dalam dari Tautan Dinamis.
setIOSBundleId(String iOSBundleId) Menetapkan ID bundel iOS. Ini akan mencoba membuka tautan di aplikasi iOS jika diinstal. Aplikasi iOS harus didaftarkan di Konsol.
setAndroidPackageName(String androidPackageName, boolean installIfNotAvailable, String minimumVersion) Menetapkan nama paket Android. Ini akan mencoba membuka tautan di aplikasi Android jika diinstal. Jika installIfNotAvailable disetel ke true , ini menentukan apakah akan menginstal aplikasi Android jika perangkat mendukungnya dan aplikasi belum diinstal. Jika minimumVersion ditentukan, dan versi aplikasi yang lebih lama diinstal, pengguna akan dibawa ke Play Store untuk memutakhirkan aplikasi. Aplikasi Android harus didaftarkan di Konsol.
setHandleCodeInApp(boolean status) Apakah tautan tindakan email akan dibuka di aplikasi seluler atau tautan web terlebih dahulu. Nilai defaultnya salah. Jika disetel ke benar, tautan kode tindakan akan dikirim sebagai Tautan Universal atau Tautan Aplikasi Android dan akan dibuka oleh aplikasi jika diinstal. Dalam kasus yang salah, kode akan dikirim ke widget web terlebih dahulu dan kemudian dilanjutkan akan dialihkan ke aplikasi jika dipasang.
setDynamicLinkDomain(String dynamicLinkDomain) Menyetel domain tautan dinamis (atau subdomain) yang akan digunakan untuk tautan saat ini jika akan dibuka menggunakan Firebase Dynamic Links. Karena beberapa domain tautan dinamis dapat dikonfigurasi per proyek, bidang ini memberikan kemampuan untuk memilih satu secara eksplisit. Jika tidak ada yang disediakan, domain pertama akan digunakan secara default.

Contoh berikut mengilustrasikan cara mengirim tautan verifikasi email yang akan dibuka di aplikasi seluler terlebih dahulu sebagai Firebase Dynamic Link (aplikasi iOS com.example.ios atau aplikasi Android com.example.android ). Tautan dalam akan berisi payload URL lanjutan https://www.example.com/?email=user@example.com .

Kotlin+KTX

val auth = Firebase.auth
val user = auth.currentUser!!

val url = "http://www.example.com/verify?uid=" + user.uid
val actionCodeSettings = ActionCodeSettings.newBuilder()
        .setUrl(url)
        .setIOSBundleId("com.example.ios")
        // The default for this is populated with the current android package name.
        .setAndroidPackageName("com.example.android", false, null)
        .build()

user.sendEmailVerification(actionCodeSettings)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d(TAG, "Email sent.")
            }
        }

Java

FirebaseAuth auth = FirebaseAuth.getInstance();
FirebaseUser user = auth.getCurrentUser();

String url = "http://www.example.com/verify?uid=" + user.getUid();
ActionCodeSettings actionCodeSettings = ActionCodeSettings.newBuilder()
        .setUrl(url)
        .setIOSBundleId("com.example.ios")
        // The default for this is populated with the current android package name.
        .setAndroidPackageName("com.example.android", false, null)
        .build();

user.sendEmailVerification(actionCodeSettings)
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "Email sent.");
                }
            }
        });

Firebase Auth menggunakan Firebase Dynamic Links saat mengirim tautan yang dimaksudkan untuk dibuka di aplikasi seluler. Untuk menggunakan fitur ini, Dynamic Links perlu dikonfigurasi di Firebase Console.

  1. Aktifkan Tautan Dinamis Firebase:

    1. Di konsol Firebase , buka bagian Tautan Dinamis .
    2. Jika Anda belum menyetujui persyaratan Dynamic Links dan membuat domain Dynamic Links, lakukan sekarang.

      Jika Anda sudah membuat domain Dynamic Links, catat itu. Domain Dynamic Links biasanya terlihat seperti contoh berikut:

      example.page.link

      Anda akan memerlukan nilai ini saat mengonfigurasi aplikasi Apple atau Android untuk mencegat tautan masuk.

  2. Mengonfigurasi aplikasi Android:

    1. Jika Anda berencana menangani link ini dari aplikasi Android, nama paket Android harus ditentukan di setelan project Firebase Console. Selain itu, SHA-1 dan SHA-256 dari sertifikat aplikasi harus disediakan.
    2. Anda juga perlu mengonfigurasi filter maksud untuk tautan dalam di file AndroidManifest.xml Anda.
    3. Untuk informasi lebih lanjut tentang ini, lihat petunjuk Menerima Tautan Dinamis Android .
  3. Mengonfigurasi aplikasi iOS:

    1. Jika Anda berencana menangani tautan ini dari aplikasi iOS, ID paket iOS harus ditentukan di setelan project Firebase Console. Selain itu, ID App Store dan ID Tim Pengembang Apple juga perlu ditentukan.
    2. Anda juga perlu mengonfigurasi domain tautan universal FDL sebagai Domain Terkait dalam kemampuan aplikasi Anda.
    3. Jika Anda berencana untuk mendistribusikan aplikasi ke iOS versi 8 dan yang lebih lama, Anda perlu menyetel ID bundel iOS sebagai skema khusus untuk URL yang masuk.
    4. Untuk informasi lebih lanjut tentang ini, lihat petunjuk Menerima Tautan Dinamis iOS .

Menangani tindakan email dalam aplikasi web

Anda dapat menentukan apakah Anda ingin menangani tautan kode tindakan dari aplikasi web terlebih dahulu, lalu mengalihkan ke halaman web lain atau aplikasi seluler setelah berhasil diselesaikan, asalkan aplikasi seluler tersedia. Ini dilakukan dengan memanggil setHandleCodeInApp(false) di objek ActionCodeSettings.Builder . Meskipun ID bundel iOS atau nama paket Android tidak diperlukan, menyediakannya akan memungkinkan pengguna untuk mengalihkan kembali ke aplikasi yang ditentukan pada penyelesaian kode tindakan email.

URL web yang digunakan di sini adalah yang dikonfigurasi di bagian template tindakan email. Yang default disediakan untuk semua proyek. Lihat menyesuaikan penangan email untuk mempelajari lebih lanjut tentang cara menyesuaikan penangan tindakan email.

Dalam hal ini, tautan dalam parameter kueri continueUrl akan menjadi tautan FDL yang muatannya adalah URL yang ditentukan dalam objek ActionCodeSettings . Meskipun Anda dapat mencegat dan menangani tautan masuk dari aplikasi Anda tanpa ketergantungan tambahan apa pun, sebaiknya gunakan pustaka klien FDL untuk mengurai tautan dalam untuk Anda.

Saat menangani tindakan email seperti verifikasi email, kode tindakan dari parameter kueri oobCode perlu diuraikan dari tautan dalam, lalu diterapkan melalui applyActionCode agar perubahan diterapkan, yaitu email yang akan diverifikasi.

Menangani tindakan email dalam aplikasi seluler

Anda dapat menentukan apakah Anda ingin menangani tautan kode tindakan di dalam aplikasi seluler Anda terlebih dahulu, asalkan sudah terinstal. Dengan aplikasi Android, Anda juga memiliki kemampuan untuk menentukan melalui boolean installIfNotAvailable bahwa aplikasi akan diinstal jika perangkat mendukungnya dan belum diinstal. Jika tautan diklik dari perangkat yang tidak mendukung aplikasi seluler, tautan tersebut akan dibuka dari halaman web. Ini dilakukan dengan memanggil setHandleCodeInApp(true) di objek ActionCodeSettings.Builder . Nama paket Android aplikasi seluler atau ID bundel iOS juga perlu ditentukan.

URL web fallback yang digunakan di sini, saat tidak ada aplikasi seluler yang tersedia, adalah URL yang dikonfigurasi di bagian template tindakan email. Yang default disediakan untuk semua proyek. Lihat menyesuaikan penangan email untuk mempelajari lebih lanjut tentang cara menyesuaikan penangan tindakan email.

Dalam hal ini, tautan aplikasi seluler yang dikirim ke pengguna akan berupa tautan FDL yang muatannya adalah URL kode tindakan, yang dikonfigurasi di Konsol, dengan parameter kueri oobCode , mode , apiKey dan continueUrl . Yang terakhir akan menjadi URL asli yang ditentukan dalam objek ActionCodeSettings . Meskipun Anda dapat mencegat dan menangani tautan masuk dari aplikasi Anda tanpa ketergantungan tambahan apa pun, sebaiknya gunakan pustaka klien FDL untuk mengurai tautan dalam untuk Anda. Kode tindakan dapat diterapkan langsung dari aplikasi seluler yang serupa dengan cara penanganannya dari alur web yang dijelaskan di bagian menyesuaikan penangan email .

Saat menangani tindakan email seperti verifikasi email, kode tindakan dari parameter kueri oobCode perlu diuraikan dari tautan dalam, lalu diterapkan melalui applyActionCode agar perubahan diterapkan, yaitu email yang akan diverifikasi.