برای دریافت Firebase Dynamic Links که ایجاد کردهاید،
باید کیت توسعه نرمافزار Dynamic Links را در برنامهتان بگنجانید و
firebase::dynamic_links::Listener
شیئی بسازید که تابع مجازی
OnDynamicLinkReceived
را پیادهسازی کند.
«کیت توسعه نرمافزار C++» برای Android و iOS کار میکند و برای هر پلاتفرم به چند تنظیم اضافی نیاز دارد.
قبل از شروع
پیشاز اینکه بتوانید از Firebase Dynamic Links استفاده کنید، باید:
پروژه C++ خود را ثبت کنید و آن را برای استفاده از Firebase پیکربندی کنید.
اگر پروژه C++ شما ازقبل از Firebase استفاده میکند، پس ازقبل برای Firebase ثبت و پیکربندی شده است.
کیت توسعه نرمافزار Firebase C++ را به پروژه C++ خود اضافه کنید.
توجه داشته باشید که افزودن Firebase به پروژه C++ شما شامل وظایفی هم در Firebase کنسول و هم در پروژه C++ باز شما میشود (برای مثال، فایلهای پیکربندی Firebase را از کنسول بارگیری میکنید، سپس آنها را به پروژه C++ خود منتقل میکنید).
افزودن طرحهای نشانی وب سفارشی (فقط برای iOS)
کتابخانه کارخواه Firebase Dynamic Links C++ از طرحهای نشانی وب سفارشی در iOS برای پردازش پیوندها استفاده میکند. برای پشتیبانی از دریافت Dynamic Links، باید طرحهای نشانی وب سفارشی به برنامهتان اضافه کنید.
برای باز کردن پیکربندی پروژه، روی نام پروژه در نمای درختی سمت راست دوکلیک کنید.
برنامه خود را از بخش هدفها انتخاب کنید، سپس برگه اطلاعات را انتخاب کنید، سپس بخش انواع نشانی وب را ازهم باز کنید.
روی دکمه + کلیک کنید، سپس طرح نشانی وب را برای شناسه کارخواه معکوس خود اضافه کنید. برای یافتن این مقدار:
فایل پیکربندی
را باز کنید، سپس کلیدGoogleService-Info.plist REVERSED_CLIENT_IDرا پیدا کنید.مقدار آن کلید را کپی کنید، سپس آن را در چارگوش طرحهای نشانی وب در صفحه پیکربندی جایگذاری کنید.
بقیه فیلدها را خالی بگذارید.
روی دکمه + کلیک کنید، سپس طرح نشانی وب دوم را اضافه کنید. این مورد با شناسه بسته نرمافزاری برنامه شما یکسان است.
برای مثال، اگر شناسه دستهبندی شما
com.example.iosاست، این مقدار را در چارگوش طرحهای نشانی وب تایپ کنید.میتوانید شناسه دسته برنامه را در برگه کلی پیکربندی پروژه (هویت > شناسه دسته) پیدا کنید.
درحال دریافت Dynamic Link
ایجاد و مقداردهی اولیه برنامه
قبلاز اینکه بتوانید Dynamic Links دریافتی را بررسی کنید، باید
شیء firebase::App را ایجاد و مقداردهی اولیه کنید.
فایل سرایند را برای firebase::App اضافه کنید:
#include "firebase/app.h"
بخش بعدی بسته به پلاتفرم شما متفاوت است:
Android
firebase::App را ایجاد کنید و محیط JNI و مرجع jobject
«فعالیت جاوا» را بهعنوان آرگومان ارسال کنید:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
ایجاد firebase::App:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
«شنونده» را برای بررسی Dynamic Links پیادهسازی کنید
برای بررسی Dynamic Link دریافتی، کلاس
firebase::dynamic_links::Listener
را پیادهسازی و استفاده کنید.
فایل سرایند را برای دریافت Dynamic Links اضافه کنید:
#include "firebase/dynamic_links.h"
کتابخانه Dynamic Links را مقداردهی اولیه کنید:
::firebase::dynamic_links::Initialize(app, null);
شیئی ایجاد کنید که
firebase::dynamic_links::Listener را پیادهسازی کند،
و آن را با
SetListener() به کتابخانه Dynamic Links ارائه دهید،
یا آن را بهعنوان آرگومان دوم به
Initialize ارسال کنید.
برای دریافت Dynamic Links، کلاس «شنونده» شما باید تابع مجازی
OnDynamicLinkReceived
را پیادهسازی کند. با ملغی کردن روش، میتوانید پیوند عمیق دریافت کنید، اگر
پیوندی دریافت شده باشد.
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()); } };