Oluşturduğunuz Firebase Dynamic Links değerini almak için uygulamanıza Dynamic Links SDK'sını eklemeniz ve OnDynamicLinkReceived
sanal işlevini uygulayan bir firebase::dynamic_links::Listener
nesnesi oluşturmanız gerekir.
C++ SDK'sı hem Android hem de iOS için çalışır. Her platform için bazı ek kurulumlar gerekir.
Başlamadan önce
Firebase Dynamic Links özelliğini kullanabilmek için:
C++ projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.
C++ projeniz zaten Firebase kullanıyorsa Firebase için kayıtlı ve yapılandırılmış demektir.
Firebase C++ SDK'sını C++ projenize ekleyin.
Firebase'i C++ projenize eklemenin hem Firebase konsolunda hem de açık C++ projenizde görevler içerdiğini unutmayın (örneğin, Firebase yapılandırma dosyalarını konsoldan indirip C++ projenize taşırsınız).
Özel URL şemaları ekleme (yalnızca iOS için)
Firebase Dynamic Links C++ istemci kitaplığı, bağlantıları işlemek için iOS'te özel URL şemalarını kullanır. Dynamic Links alımını desteklemek için uygulamanıza özel URL şemaları eklemeniz gerekir.
Proje yapılandırmanızı açmak için soldaki ağaç görünümünde proje adını çift tıklayın.
HEDEFLER bölümünden uygulamanızı seçin, ardından Bilgi sekmesini ve URL Türleri bölümünü genişletin.
+ düğmesini tıklayın ve ters çevrilmiş istemci kimliğiniz için bir URL şeması ekleyin. Bu değeri bulmak için:
yapılandırma dosyasını açın veGoogleService-Info.plist REVERSED_CLIENT_ID
anahtarını bulun.Bu anahtarın değerini kopyalayıp yapılandırma sayfasındaki URL Şemaları kutusuna yapıştırın.
Diğer alanları boş bırakın.
+ düğmesini tıklayın ve ardından ikinci bir URL şeması ekleyin. Bu, uygulamanızın paket kimliğiyle aynıdır.
Örneğin, paket kimliğiniz
com.example.ios
ise bu değeri URL Şemaları kutusuna yazın.Uygulamanızın paket kimliğini, proje yapılandırmasının Genel sekmesinde (Kimlik > Paket Tanımlayıcı) bulabilirsiniz.
Dynamic Link alınıyor
Uygulama oluşturma ve uygulamayı başlatma
Alınan Dynamic Links'leri kontrol edebilmek için bir firebase::App
nesnesi oluşturup başlatmanız gerekir.
firebase::App
için başlık dosyasını ekleyin:
#include "firebase/app.h"
Sonraki bölüm, platformunuza göre değişir:
Android
JNI ortamını ve Java etkinliğine ait bir jobject
referansını bağımsız değişken olarak ileterek firebase::App
öğesini oluşturun:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS
firebase::App
etiketini oluşturun:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Dynamic Links olup olmadığını kontrol etmek için dinleyici uygulayın
Alınan bir Dynamic Link olup olmadığını kontrol etmek için firebase::dynamic_links::Listener
sınıfını uygulayıp kullanın.
Dynamic Links almak için üstbilgi dosyasını ekleyin:
#include "firebase/dynamic_links.h"
Dynamic Links kitaplığını başlatın:
::firebase::dynamic_links::Initialize(app, null);
firebase::dynamic_links::Listener
'u uygulayan bir nesne oluşturun ve SetListener()
ile Dynamic Links kitaplığına gönderin veya Initialize işlevine ikinci bağımsız değişken olarak iletin.
Dynamic Links almak için dinleyici sınıfınızın OnDynamicLinkReceived
sanal işlevini uygulaması gerekir. Yöntemi geçersiz kılarak, gönderilmişse derin bir bağlantı alabilirsiniz.
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()); } };