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 harus:

  • Mendaftarkan project C++ Anda dan mengonfigurasikannya untuk 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 melibatkan tugas di Firebase console dan di project C++ terbuka (misalnya, Anda mendownload file konfigurasi Firebase dari konsol, lalu memindahkannya ke project C++).

Menambahkan skema URL kustom (hanya untuk iOS)

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

  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 menginisialisasi Aplikasi

Sebelum dapat memeriksa Dynamic Link yang diterima, Anda harus membuat dan menginisialisasi 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"));

Menerapkan Pemroses untuk memeriksa Dynamic Link

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

Sertakan file header untuk menerima Dynamic Link:

#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 Link, class Pemroses harus menerapkan 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());
  }
};