Nhận đường liên kết động bằng C++

Để nhận Firebase Dynamic Linksbạn đã tạo, bạn phải đưa SDK Dynamic Links vào ứng dụng của mình và tạo một firebase::dynamic_links::Listener đối tượng triển khai OnDynamicLinkReceived hàm ảo.

SDK C++ hoạt động cho cả Android và iOS, với một số bước thiết lập bổ sung cần thiết cho từng nền tảng.

Trước khi bắt đầu

Trước khi có thể sử dụng Firebase Dynamic Links, bạn cần:

  • Đăng ký dự án C++ và định cấu hình dự án đó để sử dụng Firebase.

    Nếu dự án C++ của bạn đã sử dụng Firebase, thì dự án đó đã được đăng ký và định cấu hình cho Firebase.

  • Thêm Firebase C++ SDK vào dự án C++.

Xin lưu ý rằng việc thêm Firebase vào dự án C++ bao gồm các tác vụ trong cả bảng điều khiển Firebase và dự án C++ đang mở (ví dụ: bạn tải tệp cấu hình Firebase xuống từ bảng điều khiển, sau đó di chuyển các tệp đó vào dự án C++).

Thêm lược đồ URL tuỳ chỉnh (chỉ dành cho iOS)

Thư viện ứng dụng C++ của Firebase Dynamic Links sử dụng lược đồ URL tuỳ chỉnh trên iOS để xử lý các đường liên kết. Bạn phải thêm lược đồ URL tuỳ chỉnh vào ứng dụng để hỗ trợ việc nhận Dynamic Links.

  1. Để mở cấu hình dự án, hãy nhấp đúp vào tên dự án trong chế độ xem cây ở bên trái.

  2. Chọn ứng dụng của bạn trong phần TARGETS (MỤC TIÊU), sau đó chọn thẻ Info (Thông tin), rồi mở rộng phần URL Types (Loại URL).

  3. Nhấp vào nút +, sau đó thêm lược đồ URL cho mã ứng dụng đảo ngược. Cách tìm giá trị này:

    1. Mở tệp cấu hình GoogleService-Info.plist, sau đó tìm khoá REVERSED_CLIENT_ID.

    2. Sao chép giá trị của khoá đó, sau đó dán vào hộp URL Schemes (Lược đồ URL) trên trang cấu hình.

    3. Để trống các trường khác.

  4. Nhấp vào nút +, sau đó thêm lược đồ URL thứ hai. Lược đồ này giống với mã nhận dạng gói của ứng dụng.

    Ví dụ: nếu mã nhận dạng gói của bạn là com.example.ios, hãy nhập giá trị đó vào hộp URL Schemes (Lược đồ URL).

    Bạn có thể tìm thấy mã nhận dạng gói của ứng dụng trong thẻ General (Chung) của cấu hình dự án (Identity > Bundle Identifier (Nhận dạng > Mã nhận dạng gói)).

Nhận Dynamic Link

Tạo và khởi chạy ứng dụng

Trước khi có thể kiểm tra các Dynamic Links đã nhận, bạn cần tạo và khởi chạy một firebase::App đối tượng.

Đưa tệp tiêu đề vào firebase::App:

#include "firebase/app.h"

Phần tiếp theo sẽ khác nhau tuỳ thuộc vào nền tảng của bạn:

Android

Tạo firebase::App, truyền môi trường JNI và tham chiếu jobject đến Hoạt động Java làm đối số:

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

iOS

Tạo firebase::App:

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

Triển khai Trình nghe để kiểm tra Dynamic Links

Để kiểm tra Dynamic Link đã nhận, hãy triển khai và sử dụng lớp firebase::dynamic_links::Listener.

Đưa tệp tiêu đề vào để nhận Dynamic Links:

#include "firebase/dynamic_links.h"

Khởi chạy thư viện Dynamic Links:

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

Tạo một đối tượng triển khai firebase::dynamic_links::Listener, và cung cấp đối tượng đó cho thư viện Dynamic Links bằng SetListener(), hoặc truyền đối tượng đó làm đối số thứ hai để Khởi chạy.

Để nhận Dynamic Links, lớp Trình nghe phải triển khai hàm ảo.OnDynamicLinkReceived Bằng cách ghi đè phương thức này, bạn có thể nhận được một đường liên kết sâu nếu đã nhận được.

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());
  }
};