Mendukung deep link

Mulai versi 1.2.0, Navigation 3 mendukung deep linking ke tujuan di aplikasi Anda menggunakan class DeepLinkRequest dan DeepLinkMatcher.

Untuk mendukung deep link di aplikasi Anda, selesaikan langkah-langkah berikut:

  1. Tentukan filter intent di AndroidManifest.xml untuk menentukan URI yang dapat ditangani aplikasi Anda.
  2. Buat instance DeepLinkMatcher untuk memetakan permintaan masuk ke kunci navigasi Anda.
  3. Cocokkan permintaan masuk dalam metode onCreate atau onNewIntent aktivitas Anda dan perbarui tumpukan kembali Anda.

Membuat DeepLinkRequest

DeepLinkRequest mewakili deep link masuk. Link ini berisi DeepLinkUri dan RequestExtras opsional dengan informasi tambahan, seperti tindakan intent atau jenis MIME.

Menyediakan tambahan DeepLinkRequest

Untuk menyimpan informasi tambahan terkait deep link, gunakan class RequestExtras. Untuk membuat penentuan dan pembuatan instance tambahan yang aman, library ini menyediakan antarmuka RequestExtrasKey dan requestExtras DSL.

Selain itu, library ini menyediakan dua kunci tambahan dan helper terkait:

Untuk menentukan tambahan kustom Anda sendiri, implementasikan antarmuka RequestExtrasKey dengan generik yang diketik:

Anda juga dapat menggunakan emptyRequestExtras() untuk membuat instance kosong, atau menggabungkan tambahan menggunakan operator + (plus) dan - (minus).

Membuat DeepLinkRequest dari Intent

Di Android, Anda dapat membuat DeepLinkRequest langsung dari Intent. Jika dibuat dengan cara ini, DeepLinkRequest akan dibuat sebagai berikut:

A DeepLinkMatcher memetakan instance DeepLinkRequest masuk ke kunci navigasi yang dapat ditambahkan ke tumpukan kembali aplikasi Anda. Navigation 3 menyediakan tiga pencocok bawaan: UriDeepLinkMatcher untuk pencocokan URI berbasis pola, StaticKeyDeepLinkMatcher untuk link dasar, dan BackStackMatcher untuk membuat tumpukan kembali sintetis. Library ini juga mendukung pencocok kustom untuk kasus penggunaan yang tidak tercakup oleh pencocok bawaan.

Untuk mengetahui informasi selengkapnya, lihat Membuat DeepLinkMatchers.

Menambahkan filter intent

Untuk mengaktifkan deep link untuk memulai aktivitas Anda, Anda harus menentukan elemen yang cocok <intent-filter> di AndroidManifest.xml aplikasi Anda. Untuk mengetahui informasi selengkapnya, lihat Menambahkan filter intent untuk link masuk.

Mencocokkan permintaan masuk

Setelah Anda membuat instance DeepLinkMatcher Anda, Anda dapat mencocokkan permintaan masuk di aktivitas Anda.

Untuk mencocokkan permintaan masuk, selesaikan langkah-langkah berikut:

  1. Buat instance DeepLinkMatcher Anda.
  2. Kumpulkan semua instance DeepLinkMatcher Anda, baik secara eksplisit maupun menggunakan multibinding.
  3. Buat DeepLinkRequest dari Intent masuk.
  4. Cocokkan permintaan dengan semua pencocok dan temukan kecocokan terbaik.
  5. Buat tumpukan kembali dari hasil kecocokan.