برای دریافت Firebase Dynamic Links که ایجاد کردهاید ، باید Dynamic Links SDK را در برنامه خود قرار دهید و یک شی firebase::dynamic_links::Listener
ایجاد کنید که تابع مجازی OnDynamicLinkReceived
را پیادهسازی میکند.
C++ SDK هم برای اندروید و هم برای iOS کار میکند و برای هر پلتفرم نیاز به تنظیمات اضافی است.
قبل از شروع
قبل از اینکه بتوانید از Firebase Dynamic Links استفاده کنید، باید:
پروژه ++C خود را ثبت کرده و آن را برای استفاده از Firebase پیکربندی کنید.
اگر پروژه ++C شما قبلاً از Firebase استفاده میکند، پس قبلاً برای Firebase ثبت و پیکربندی شده است.
Firebase C++ SDK را به پروژه C++ خود اضافه کنید.
توجه داشته باشید که افزودن Firebase به پروژه C++ شما شامل وظایفی هم در کنسول Firebase و هم در پروژه C++ باز شما می شود (به عنوان مثال، فایل های پیکربندی Firebase را از کنسول دانلود می کنید، سپس آنها را به پروژه C++ خود منتقل می کنید).
اضافه کردن طرحهای URL سفارشی (فقط برای iOS)
کتابخانه مشتری Firebase Dynamic Links C++ از طرحهای URL سفارشی در iOS برای پردازش پیوندها استفاده میکند. برای پشتیبانی از دریافت Dynamic Links ، باید طرحهای URL سفارشی را به برنامه خود اضافه کنید.
برای باز کردن پیکربندی پروژه خود، روی نام پروژه در نمای درختی سمت چپ دوبار کلیک کنید.
برنامه خود را از بخش TARGETS انتخاب کنید، سپس برگه Info را انتخاب کنید، سپس بخش URL Types را گسترش دهید.
روی دکمه + کلیک کنید، سپس یک طرح URL برای شناسه مشتری معکوس خود اضافه کنید. برای پیدا کردن این مقدار:
فایل پیکربندی
را باز کنید، سپس به دنبال کلیدGoogleService-Info.plist REVERSED_CLIENT_ID
بگردید.مقدار آن کلید را کپی کنید، سپس آن را در کادر URL Schemes در صفحه پیکربندی قرار دهید.
فیلدهای دیگر را خالی بگذارید.
روی دکمه + کلیک کنید، سپس یک طرح URL دوم را اضافه کنید. این یکی مانند شناسه بسته برنامه شما است.
برای مثال، اگر شناسه بسته شما
com.example.ios
است، آن مقدار را در کادر URL Schemes تایپ کنید.میتوانید شناسه بسته برنامه خود را در برگه عمومی پیکربندی پروژه ( شناسه > شناسه بسته ) پیدا کنید.
دریافت Dynamic Link
ایجاد و مقداردهی اولیه برنامه
قبل از اینکه بتوانید Dynamic Links دریافتی را بررسی کنید، باید یک شی firebase::App
ایجاد و مقداردهی اولیه کنید.
شامل فایل هدر برای firebase::App
:
#include "firebase/app.h"
قسمت بعدی بسته به پلتفرم شما متفاوت است:
اندروید
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 Listener را پیاده سازی کنید
برای بررسی 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 ، کلاس Listener شما باید تابع مجازی 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()); } };