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

Để nhận Liên kết động 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 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 cho từng nền tảng.

Trước khi bắt đầu

Trước khi bạn 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, có nghĩa là dự án đó đã được đăng ký và được đị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++ bao gồm 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 xuống Tệp cấu hình Firebase 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 lược đồ URL tuỳ chỉnh trên iOS để xử lý. Bạn phải thêm các giao thức URL tuỳ chỉnh vào ứng dụng của mình để có thể 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 ở bên trái chế độ xem dạng cây.

  2. Chọn ứng dụng của bạn từ mục MỤC TIÊU, sau đó chọn thẻ Thông tin. thì hãy 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. Người nhận 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. Đoạn 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 trường Hộp Lược đồ URL.

    Bạn có thể tìm thấy mã gói ứng dụng trong thẻ General (Chung) của dự án cấu hình (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 Liên kết động đã nhận, bạn cần phải 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à jobject tham chiếu đế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 Đường liên kết động

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

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

#include "firebase/dynamic_links.h"

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

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

Tạo một đối tượng giúp triển khai firebase::dynamic_links::Listener! và cung cấp nó vào thư viện Liên kết động cùng với SetListener()! hoặc truyền nó dưới dạng đối số thứ hai cho Khởi chạy.

Để nhận Liên kết động, lớp Trình nghe của bạn phải triển khai OnDynamicLinkReceived hàm ảo. 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 một mã.

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