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

Siapkan domain khusus untuk Dynamic Links

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

Anda dapat memiliki kontrol yang lebih besar atas branding Dynamic Links dengan menggunakan domain Anda sendiri, bukan subdomain page.link . Dengan domain khusus, Anda dapat membuat Tautan Dinamis seperti contoh berikut:

https://example.com/link-suffix
https://example.com/links/promos/link-suffix
https://links.example.com/link-suffix
https://ex.amp.le/link-suffix

Bagian URL sebelum link-suffix disebut awalan URL , dan berisi domain Tautan Dinamis kustom dan awalan jalur. Anda harus memberikan awalan URL saat membuat Tautan Dinamis.

Menyiapkan domain khusus memerlukan izin Editor atau Pemilik di proyek Firebase Anda.

Menggunakan domain web Anda untuk Tautan Dinamis

Anda dapat menggunakan domain yang sama untuk Dynamic Links dan halaman web Anda, Universal Links, dan App Links, tetapi jika Anda melakukannya, Anda harus berhati-hati agar URL Dynamic Links Anda tidak bentrok dengan URL web Anda. Saat Anda mengonfigurasi Dynamic Links untuk menggunakan awalan URL tertentu, semua URL yang diawali dengan awalan tersebut diperlakukan sebagai Dynamic Links, sehingga Anda tidak dapat menggunakan URL dengan awalan tersebut untuk mengarah ke konten yang dihosting biasa.

Misalnya, jika Anda ingin membuat Dynamic Link ke sumber daya https://example.com/my-resource (halaman web, Universal Link, atau App Link), Anda tidak dapat menggunakan https://example.com/ sebagai awalan URL Tautan Dinamis, karena hal itu akan menyebabkan https://example.com/my-resource diperlakukan sebagai Tautan Dinamis. Sebagai gantinya, Anda harus menggunakan awalan URL dengan domain yang berbeda atau awalan jalur yang berbeda.

Jadi, Dynamic Link bentuk panjang berikut (dan link pendek yang setara) tidak akan berfungsi sebagaimana mestinya karena URL yang ditentukan oleh parameter link dimulai dengan awalan URL Dynamic Link, https://example.com/ :

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

Namun Dynamic Link bentuk panjang berikut (dan link pendek yang setara) dapat berfungsi, karena awalan URL tidak bertentangan dengan URL link :

 https://link.example.com/?link=https://example.com/my-resource
 https://example.com/links/?link=https://example.com/my-resource
 https://ex.amp.le/?link=https://example.com/my-resource

Siapkan domain khusus di Firebase console

Anda biasanya dapat menyiapkan domain khusus sepenuhnya di konsol Firebase. Untuk melakukannya:

  1. Jika Anda belum menyiapkan Firebase Hosting untuk proyek Anda, buka halaman Hosting di Firebase console, klik Mulai , dan klik petunjuk penyiapan. Anda tidak harus menyelesaikan langkah-langkah yang ditunjukkan saat ini.

  2. Buka halaman Dynamic Links di Firebase console.

  3. Jika Anda belum pernah menggunakan Tautan Dinamis sebelumnya, klik Mulai . Jika tidak, klik Tambahkan awalan URL dari menu drop-down.

    Kemudian, selesaikan wisaya penyiapan, tentukan awalan domain dan jalur yang ingin Anda gunakan saat diminta.

  4. Khusus iOS : Dalam file Info.plist proyek Xcode Anda, buat kunci bernama FirebaseDynamicLinksCustomDomains dan setel ke prefiks URL Tautan Dinamis aplikasi Anda. Sebagai contoh:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

Siapkan domain khusus secara manual

Dalam beberapa situasi, seperti saat Anda sudah menyiapkan domain kustom untuk Dynamic Links dan ingin menambahkan domain lain, atau saat Anda menambahkan domain yang sudah terhubung ke situs Hosting, Anda harus menyiapkan domain kustom secara manual.

Untuk melakukannya:

  1. Hubungkan domain Anda ke Firebase Hosting jika Anda belum melakukannya.

    Menyiapkan domain Anda dengan Firebase Hosting termasuk membuat file konfigurasi firebase.json di direktori proyek lokal Anda.

  2. Perbarui ke versi terbaru Firebase CLI (v6.5.0 atau lebih baru).

  3. Konfigurasikan situs Hosting Anda untuk Dynamic Links di file firebase.json proyek Anda. Jika proyek Anda memiliki banyak situs, pastikan untuk mengonfigurasi situs yang terhubung ke domain yang ingin Anda gunakan.

    • Setel appAssociation ke AUTO . Dengan pengaturan ini, Hosting secara dinamis membuat assetlinks.json dan apple-app-site-association saat diminta.

    • Tentukan prefiks jalur yang ingin Anda gunakan untuk Dynamic Links dengan menyetel aturan penulisan ulang dengan dynamicLinks disetel ke true . Permintaan ke jalur ini diproksikan ke Dynamic Links.

      Tidak seperti aturan yang menulis ulang jalur ke URL, aturan penulisan ulang Dynamic Link tidak boleh berisi ekspresi reguler.

      Jika Anda memiliki beberapa aturan penulisan ulang untuk situs Anda, ketahuilah bahwa Hosting menjalankan aturan penulisan ulang pertama yang sesuai dengan permintaan.

    Sebagai contoh:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    Dengan konfigurasi di atas, Anda dapat membuat Tautan Dinamis dengan prefiks URL seperti contoh berikut:

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    Jika Anda menggunakan domain ini hanya untuk Dynamic Links, Anda dapat menggunakan jalur sumber /** untuk membuat Dynamic Links tanpa awalan jalur:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    Dengan aturan di atas, Anda dapat membuat Dynamic Links seperti contoh berikut:

    https://your-domain/link-suffix

  4. Terapkan perubahan konfigurasi Hosting Anda:

    firebase deploy --only hosting

    (opsional) Anda dapat memeriksa konten firebase.json yang diterapkan menggunakan Hosting REST API .

  5. Khusus iOS : Dalam file Info.plist proyek Xcode Anda, buat kunci bernama FirebaseDynamicLinksCustomDomains dan setel ke prefiks URL Tautan Dinamis aplikasi Anda. Sebagai contoh:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

Urutan prioritas untuk Dynamic Links dan Hosting

Untuk Tautan Dinamis, perhatikan urutan prioritas hosting .

  • Pastikan awalan URL Tautan Dinamis Anda tidak bertentangan dengan konfigurasi hosting dengan prioritas lebih tinggi (misalnya, konten statis yang dihosting selalu lebih diprioritaskan daripada penulisan ulang).
  • Di dalam atribut rewrites , respons Hosting akan mematuhi aturan yang ditentukan oleh glob source pertama yang menangkap jalur yang diminta .

Misalnya, jika Anda menyiapkan Dynamic Link untuk your-domain / source-path / link-suffix tetapi Anda juga memiliki konten statis di your-domain / source-path /index.html , konten statis akan diutamakan. Pengguna akhir akan melihat index.html daripada Tautan Dinamis. Demikian pula, jika Anda memiliki konten statis di your-domain / source-path / link-suffix , pengguna akhir akan melihat konten statis daripada Dynamic Link.

Jika Anda ingin menggunakan branding yang sama untuk Dynamic Links dan Hosting, pertimbangkan salah satu opsi berikut untuk awalan URL Dynamic Links Anda:

  • Setel atribut source Anda agar cocok dengan awalan jalur. Misalnya, jika Anda memiliki domain khusus example.com , aturan penulisan ulang Anda dapat berupa:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • Siapkan subdomain yang akan digunakan untuk Dynamic Links, lalu setel atribut source agar cocok dengan subdomain tersebut. Misalnya, jika Anda memiliki subdomain dari links.example.com , aturan penulisan ulang Anda adalah:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]