Firebase Dynamic Links API ile kısa veya uzun Dynamic Links oluşturabilirsiniz. API, bağlantı oluşturmak için birkaç isteğe bağlı parametre yapısı kullanır. Daha önce oluşturulmuş uzun bir bağlantıdan da kısa bağlantı oluşturabilirsiniz. Firebase Dynamic Links aşağıdaki gibi bir URL oluşturur:
https://example.page.link/WXYZ
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).
Android
- Firebase konsolunda Dynamic Links bölümünü açın.
Hizmet şartlarını henüz kabul etmediyseniz ve Dynamic Links için bir URI ön eki ayarlamadıysanız istendiğinde bunu yapın.
Zaten bir Dynamic Links URI önekiniz varsa bunu not edin. Dynamic Links'yi programatik olarak oluştururken bir Dynamic Links URI ön eki 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ı engellemiş olursunuz. URL kalıplarını beyaz listeye ekleme başlıklı makaleyi inceleyin.
iOS
- Firebase konsolunda Dynamic Links bölümünü açın.
Hizmet şartlarını henüz kabul etmediyseniz ve Dynamic Links için bir URI ön eki ayarlamadıysanız istendiğinde bunu yapın.
Zaten bir Dynamic Links URI önekiniz varsa bunu not edin. Dynamic Links'yi programatik olarak oluştururken bir 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 alımını desteklemek 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ünden 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ş istemci kimliğiniz için bir URL şeması ekleyin. Bu değeri bulmak için
yapılandırma dosyasını açıpGoogleService-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 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.
Firebase konsolunu kullanma
Test amacıyla veya pazarlama ekibinizin sosyal medya yayını gibi bir yerde 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 talimatları uygulayarak manuel olarak bir Dynamic Link oluşturmaktır.
Özel alanlar
goo.gl
veya page.link
alt alan adı yerine kendi alan adınızı kullanarak Dynamic Link'ün marka kimliği üzerinde daha fazla kontrole sahip olabilirsiniz. Projeniz için özel bir alan oluşturmak üzere bu talimatları uygulayın.
Firebase Dynamic Links API'yi kullanma
Uygulama oluşturma ve uygulamayı başlatma
Dynamic Links oluşturmadan önce 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 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 bir Dynamic Link oluşturma
Dinamik bağlantı oluşturmak için bir DynamicLinkComponents nesnesi oluşturun, isteğe bağlı üyelerden herhangi birini ek yapılandırma için ayarlayın ve dynamic_links::GetShortLink
veya dynamic_links::GetLongLink
'a iletin.
Aşağıdaki minimal örnek, https://www.example.com/ adresine uzun bir dinamik bağlantı oluşturur. Bu bağlantı, com.example.android.package_name Android uygulamanız ve com.example.ios iOS uygulamanızla açılır:
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 önceden oluşturulmuş uzun bir bağlantıyı GetShortLink
'e iletin veya DynamicLinkComponents
'i yukarıdaki gibi 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 etmenize olanak tanır. Kısa bağlantı oluşturmak için Firebase arka ucuna bir ağ isteği gönderilmesi gerekir. Bu nedenle GetShortLink
asynkrondur ve bir Future<GeneratedLink>
döndürür.
Ö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 (ör. 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()); } }