Firebase Dynamic Links API'si ile kısa veya uzun Dynamic Links oluşturabilirsiniz. API, bağlantı oluşturmak için çeşitli isteğe bağlı parametre yapılarını kullanır. Kısa bağlantılar, daha önce oluşturulmuş uzun bir bağlantıdan da oluşturulabilir. Firebase Dynamic Links aşağıdakine benzer bir URL oluşturur:
https://example.page.link/WXYZ
C++ SDK'sı hem Android hem de iOS'ta çalışır. Ancak her platform için ek kurulum yapılması gerekir.
Başlamadan önce
Firebase Dynamic Links kullanabilmek için:
C++ projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.
C++ projeniz zaten Firebase kullanıyorsa Firebase için kaydedilmiş ve yapılandırılmış demektir.
Firebase'i C++ projenize eklemenin hem Firebase konsolda 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).
Android
- Firebase konsolunda Dynamic Links bölümünü açın.
Henüz hizmet şartlarını kabul etmediyseniz ve Dynamic Links için bir URI öneki ayarlamadıysanız istendiğinde bu işlemleri yapın.
Zaten bir Dynamic Links URI önekine sahipseniz bunu not edin. Dynamic Links'yı programatik olarak oluştururken Dynamic Links URI öneki sağlamanız gerekir.
- Önerilen: Derin bağlantılarınızda ve yedek bağlantılarınızda izin verilen URL kalıplarını belirtin. Bu sayede, yetkisiz tarafların alanınızdan kontrol etmediğiniz sitelere yönlendiren Dynamic Links oluşturmasını önlersiniz. Belirli URL kalıplarına izin verme başlıklı makaleyi inceleyin.
iOS
- Firebase konsolunda Dynamic Links bölümünü açın.
Henüz hizmet şartlarını kabul etmediyseniz ve Dynamic Links için bir URI öneki ayarlamadıysanız istendiğinde bu işlemleri yapın.
Zaten bir Dynamic Links URI önekine sahipseniz bunu not edin. Dynamic Links öğesini programatik olarak oluştururken Dynamic Links alanı sağlamanız gerekir.
- Firebase Dynamic Links C++ istemci kitaplığı, bağlantıları işlemek için iOS'te özel URL şemalarını kullanır. Dynamic Links alma desteği için uygulamanıza özel URL şemaları eklemeniz gerekir:
- Proje yapılandırmanızı açmak için sol ağaç görünümünde proje adını çift tıklayın. HEDEFLER bölümünde uygulamanızı seçin, ardından Bilgi sekmesini seçin ve URL Türleri bölümünü genişletin.
- + düğmesini tıklayın ve tersine çevrilmiş müşteri 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ın ve 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 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 girin. Uygulamanızın paket kimliğini, proje yapılandırmasının Genel sekmesinde (Kimlik > Paket Kimliği) bulabilirsiniz.
Firebase konsolunu kullanma
İster test amacıyla ister pazarlama ekibinizin sosyal medya gönderisi gibi yerlerde kullanılabilecek bir bağlantıyı kolayca oluşturması için tek bir Dynamic Link oluşturmak istiyorsanız en basit yol, Firebase konsolunu ziyaret edip adım adım formu izleyerek manuel olarak oluşturmaktır.
Özel alanlar
goo.gl
veya page.link
alt alanı yerine kendi alanınızı kullanarak Dynamic Link markanız üzerinde daha fazla kontrol sahibi olabilirsiniz. Projeniz için özel alan adı ayarlamak üzere buradaki talimatları uygulayın.
Firebase Dynamic Links API'yi kullanma
Uygulama oluşturma ve başlatma
Dynamic Links oluşturabilmek için 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 yönelik bir jobject
referansını bağımsız değişken olarak ileterek firebase::App
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 kitaplığı başlatılıyor
Dynamic Link oluşturmadan önce Dynamic Links kitaplığını başlatmanız gerekir:
::firebase::dynamic_links::Initialize(app, null);
Parametrelerden uzun Dynamic Link oluşturma
Dinamik Bağlantı oluşturmak için DynamicLinkComponents nesnesi oluşturun, ek yapılandırma için isteğe bağlı üyeleri ayarlayın ve nesneyi dynamic_links::GetShortLink
veya dynamic_links::GetLongLink
'ye iletin.
Aşağıdaki minimum örnek, https://www.example.com/ adresine yönlendiren ve com.example.android.package_name Android uygulamanız ile com.example.ios iOS uygulamanızla açılan uzun bir dinamik bağlantı oluşturur:
firebase::dynamic_links::IOSParameters ios_parameters("com.example.ios"); firebase::dynamic_links::AndroidParameters android_parameters( "com.example.android.package_name"); firebase::dynamic_links::DynamicLinkComponents components( "https://www.example.com/", "example.page.link"); components.android_parameters = &android_parameters; components.ios_parameters = &ios_parameters; firebase::dynamic_links::GeneratedDynamicLink long_link = firebase::dynamic_links::GetLongLink(components);
Shorts videosu oluşturma Dynamic Link
Kısa bir dinamik bağlantı oluşturmak için daha önce oluşturulmuş uzun bir bağlantıyı GetShortLink
iletin veya yukarıdakiyle aynı şekilde DynamicLinkComponents
oluşturun.
GetShortLink
isteğe bağlı olarak PathLength
ile birlikte ek bir DynamicLinkOptions
yapılandırma parametresi alır. Bu, bağlantının nasıl oluşturulacağını kontrol etmenizi sağlar. Kısa bağlantı oluşturmak için Firebase arka ucuna ağ isteği gönderilmesi gerekir. Bu nedenle GetShortLink
, Future<GeneratedLink>
döndüren eşzamansız bir işlemdir.
Örneğin:
firebase::dynamic_links::DynamicLinkOptions short_link_options; short_link_options.path_length = firebase::dynamic_links::kPathLengthShort; firebase::Future<firebase::dynamic_links::GeneratedDynamicLink> result = firebase::dynamic_links::GetShortLink(components, short_link_options);
Programınızda düzenli olarak çalışan bir güncelleme döngüsü varsa (örneğin, saniyede 30 veya 60 kez) sonuçları güncelleme başına bir kez kontrol edebilirsiniz:
if (result.status() == firebase::kFutureStatusComplete) { if (result.error() == firebase::dynamic_links::kErrorCodeSuccess) { firebase::dynamic_links::GeneratedDynamicLink link = *result.result(); printf("Create short link succeeded: %s\n", link.url.c_str()); } else { printf("Created short link failed with error '%s'\n", result.error_message()); } }