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

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

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 mỗi nền tảng.

Trước khi bắt đầu

Trước khi có thể sử dụng Liên kết động của Firebase, bạn cần:

  • Đăng ký dự án C++ của bạn 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ì tức là dự án đó đã được đăng ký và định cấu hình cho Firebase.

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

Lưu ý rằng việc thêm Firebase vào dự án C++ sẽ liên quan đến các tác vụ trong cả bảng điều khiển của Firebase và trong dự án C++ đang mở (ví dụ: bạn tải các 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 giao thức URL tuỳ chỉnh (chỉ dành cho iOS)

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

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

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

  3. Nhấp vào nút dấu +, sau đó thêm lược đồ URL cho mã ứng dụng khách bị đảo ngược của bạn. 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á đó, rồi dán vào hộp 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 dấu +, sau đó thêm lược đồ URL thứ hai. Mã 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 là com.example.ios, hãy nhập giá trị đó vào hộp Lược đồ URL.

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

Nhận đường liên kết động

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

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

Bao gồm tệp tiêu đề cho 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à một tham chiếu jobject đến Hoạt động Java dưới dạng các đố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 Đường liên kết động

Để kiểm tra một Đường liên kết động đã nhận, hãy triển khai và sử dụng lớp firebase::dynamic_links::Listener.

Thêm tệp tiêu đề để nhận Đường liên kết động:

#include "firebase/dynamic_links.h"

Khởi động thư viện Đường liên kết động:

::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 Đường liên kết động bằng SetListener() hoặc truyền đối tượng đó làm đối số thứ hai để Khởi chạy.

Để nhận Đường liên kết động, lớp Trình nghe của bạn 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 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());
  }
};