Menerima Dynamic Link dengan C++

Untuk menerima Firebase Dynamic Links yang Anda buat, Anda harus menyertakan Dynamic Links SDK di aplikasi dan membuat objek firebase::dynamic_links::Listener yang mengimplementasikan fungsi virtual OnDynamicLinkReceived.

C++ SDK dapat digunakan di Android dan iOS, dengan sejumlah penyiapan tambahan di tiap platform.

Sebelum memulai

Sebelum dapat menggunakan Firebase Dynamic Links, Anda perlu:

  • Mendaftarkan project C++ Anda dan mengonfigurasinya agar menggunakan Firebase.

    Jika project C++ Anda telah menggunakan Firebase, berarti project tersebut telah terdaftar dan dikonfigurasi untuk Firebase.

  • Menambahkan Firebase C++ SDK ke project C++ Anda.

Perlu diperhatikan bahwa penambahan Firebase ke project C++ Anda memerlukan tindakan baik di Firebase console maupun di project C++ yang terbuka (misalnya, Anda mendownload file konfigurasi Firebase dari konsol, lalu memindahkannya ke project C++).

Menambahkan skema URL kustom (hanya untuk iOS)

Library klien C++ Firebase Dynamic Links menggunakan skema URL kustom di iOS untuk memproses link. Anda harus menambahkan skema URL kustom ke aplikasi Anda untuk mendukung penerimaan Dynamic Links.

  1. Untuk membuka konfigurasi project Anda, klik dua kali nama project dalam tampilan hierarki di sebelah kiri.

  2. Pilih aplikasi dari bagian TARGET, pilih tab Info, lalu perluas bagian Jenis URL.

  3. Klik tombol +, lalu tambahkan skema URL untuk client ID terbalik. Untuk menemukan nilai ini:

    1. Buka file konfigurasi GoogleService-Info.plist, lalu cari kunci REVERSED_CLIENT_ID.

    2. Salin nilai kunci tersebut, lalu tempelkan ke kotak Skema URL di halaman konfigurasi.

    3. Biarkan kolom lainnya kosong.

  4. Klik tombol +, lalu tambahkan skema URL kedua. Skema ini sama dengan ID paket aplikasi Anda.

    Misalnya, jika ID paket Anda adalah com.example.ios, ketikkan nilai tersebut ke dalam kotak Skema URL.

    Anda dapat menemukan ID paket aplikasi dalam tab Umum di konfigurasi project (Identitas > ID Paket).

Menerima Dynamic Link

Membuat dan melakukan inisialisasi Aplikasi

Sebelum dapat memeriksa Dynamic Links yang diterima, Anda harus membuat dan melakukan inisialisasi objek firebase::App.

Sertakan file header untuk firebase::App:

#include "firebase/app.h"

Bagian berikutnya bervariasi, bergantung pada platform Anda:

Android

Buat firebase::App, dengan meneruskan lingkungan JNI dan referensi jobject ke Aktivitas Java sebagai argumen:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

Buat firebase::App:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Mengimplementasikan Pemroses untuk memeriksa Dynamic Links

Untuk memeriksa Dynamic Link yang diterima, implementasikan dan gunakan class firebase::dynamic_links::Listener.

Sertakan file header untuk menerima Dynamic Links:

#include "firebase/dynamic_links.h"

Lakukan inisialisasi library Dynamic Links:

::firebase::dynamic_links::Initialize(app, null);

Buat objek yang menerapkan firebase::dynamic_links::Listener, lalu kirimkan ke library Dynamic Links dengan SetListener(), atau teruskan sebagai argumen kedua untuk Melakukan inisialisasi.

Untuk menerima Dynamic Links, class Pemroses harus mengimplementasikan fungsi virtual OnDynamicLinkReceived. Dengan mengganti metodenya, Anda dapat menerima deep link, jika ada yang diterima.

class Listener : public firebase::dynamic_links::Listener {
 public:
  // Called on the client when a dynamic link arrives.
  void OnDynamicLinkReceived(
      const firebase::dynamic_links::DynamicLink* dynamic_link) override {
    printf("Received link: %s", dynamic_link->url.c_str());
  }
};