Để nhận Firebase Dynamic Links mà bạn đã tạo, bạn phải thêm SDK Dynamic Links vào ứng dụng và tạo một đối tượng firebase::dynamic_links::Listener
triển khai hàm ảo OnDynamicLinkReceived
.
C++ SDK hoạt động cho cả Android và iOS, với một số chế độ thiết lập bổ sung cần thiết cho mỗi nền tảng.
Trước khi bắt đầu
Để có thể sử dụng Firebase Dynamic Links, bạn cần phải:
Đă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ì 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++ của bạn bao gồm các thao tác cả trong bảng điều khiển Firebase và trong 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++ Firebase Dynamic Links sử dụng các lược đồ URL tuỳ chỉnh trên iOS để xử lý đường liên kết. Bạn phải thêm các lược đồ URL tuỳ chỉnh vào ứng dụng để hỗ trợ việc nhận Dynamic Links.
Để 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.
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.
Nhấp vào nút +, sau đó thêm một lược đồ URL cho mã ứng dụng khách đảo ngược của bạn. Cách tìm giá trị này:
Mở tệp cấu hình
, sau đó tìm khoáGoogleService-Info.plist REVERSED_CLIENT_ID
.Sao chép giá trị của khoá đó, sau đó dán vào hộp URL Schemes (Sơ đồ URL) trên trang cấu hình.
Để trống các trường khác.
Nhấp vào nút +, sau đó thêm một 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 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ẻ Chung của cấu hình dự án (Danh tính > Mã nhận dạng gói).
Đang nhận Dynamic Link
Tạo và khởi động Ứng dụng
Trước khi có thể kiểm tra Dynamic Links đã nhận, bạn cần tạo và khởi chạy một đối tượng firebase::App
.
Thê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 đối số tham chiếu jobject
đến Hoạt động Java:
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
.
Thêm tệp tiêu đề để 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 cho Initialize.
Để nhận Dynamic Links, 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()); } };