Buka konsol

Menerima Dynamic Links dengan C++

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

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

Sebelum memulai

Sebelum dapat menggunakan Firebase Dynamic Links, Anda harus:

  • Mendaftarkan project C++ yang dimiliki, dan mengonfigurasikannya untuk menggunakan Firebase.

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

  • Tambahkan 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++ yang 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 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 ID klien Anda yang 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 paket ID Anda adalah com.example.ios, tuliskan nilai tersebut ke 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

Agar dapat memeriksa Dynamic Links 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 Java Activity 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 Listener untuk memeriksa Dynamic Link

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

Sertakan file header untuk menerima Dynamic Link:

#include "firebase/dynamic_links.h"

Inisialisasi library Dynamic Links:

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

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

Untuk menerima Dynamic Links, class Pemroses Anda harus menerapkan fungsi virtual OnDynamicLinkReceived. Dengan mengganti metode, Anda dapat menerima deep link, jika telah 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());
  }
};