C++ ile Dinamik Bağlantılar Oluşturun

Firebase Dynamic Links API'yi kullanarak kısa veya uzun Dinamik Bağlantılar oluşturabilirsiniz. API, bağlantılar oluşturmak için çeşitli isteğe bağlı parametre yapılarını alır. Kısa bağlantılar, önceden oluşturulmuş bir uzun 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 için çalışır ve her platform için bazı ek kurulumlar gerekir.d

Sen başlamadan önce

Firebase Dynamic Links'i kullanabilmeniz için şunları yapmanız gerekir:

  • C++ projenizi kaydedin ve Firebase'i kullanacak şekilde yapılandırın.

    C++ projeniz zaten Firebase kullanıyorsa Firebase için zaten kayıtlı ve yapılandırılmış demektir.

  • Firebase C++ SDK'sını C++ projenize ekleyin.

Firebase'i C++ projenize eklemenin hem Firebase konsolundaki hem de açık C++ projenizdeki görevleri içerdiğini unutmayın (örneğin, Firebase yapılandırma dosyalarını konsoldan indirir ve ardından bunları C++ projenize taşırsınız).

Android

  1. Firebase konsolunda Dinamik Bağlantılar bölümünü açın.
  2. Hizmet şartlarını henüz kabul etmediyseniz ve Dinamik Bağlantılarınız için bir URI öneki ayarlamadıysanız istendiğinde bunu yapın.

    Zaten bir Dinamik Bağlantılar URI önekiniz varsa bunu not edin. Program aracılığıyla Dinamik Bağlantılar oluşturduğunuzda bir Dinamik Bağlantılar URI öneki sağlamanız gerekir.

  3. Önerilen : Derin bağlantılarınızda ve yedek bağlantılarınızda izin verilen URL modellerini belirtin. Bunu yaparak, yetkisiz tarafların alanınızdan kontrol etmediğiniz sitelere yönlendirme yapan Dinamik Bağlantılar oluşturmasını önlersiniz. URL kalıplarını beyaz listeye alma konusuna bakın.

iOS

  1. Firebase konsolunda Dinamik Bağlantılar bölümünü açın.
  2. Hizmet şartlarını henüz kabul etmediyseniz ve Dinamik Bağlantılarınız için bir URI öneki ayarlamadıysanız istendiğinde bunu yapın.

    Zaten bir Dinamik Bağlantılar URI önekiniz varsa bunu not edin. Programlı olarak Dinamik Bağlantılar oluşturduğunuzda bir Dinamik Bağlantılar alanı sağlamanız gerekir.

  3. Firebase Dynamic Links C++ istemci kitaplığı, bağlantıları işlemek için iOS'taki özel URL şemalarını kullanır. Dinamik Bağlantı almayı desteklemek için uygulamanıza özel URL şemaları eklemelisiniz:
    1. Proje konfigürasyonunuzu açmak için sol ağaç görünümünde proje adına ç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.
    2. + düğmesini tıklayın ve tersine çevrilen istemci kimliğiniz için bir URL şeması ekleyin. Bu değeri bulmak için GoogleService-Info.plist yapılandırma dosyasını açın ve REVERSED_CLIENT_ID anahtarını arayın. 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.
    3. + 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 bulabilirsiniz ( Kimlik > Paket Tanımlayıcı ).

Firebase konsolunu kullanma

Test amacıyla veya pazarlama ekibinizin sosyal medya gönderisi gibi bir şeyde kullanılabilecek bir bağlantıyı kolayca oluşturması için tek bir Dinamik Bağlantı oluşturmak istiyorsanız, en basit yol Firebase konsolunu ziyaret edip bir tane oluşturmak olacaktır. adım adım formu manuel olarak takip ederek.

Özel alanlar

goo.gl veya page.link alt alan adı yerine kendi alan adınızı kullanarak Dinamik Bağlantınızın markalaması üzerinde daha fazla kontrole sahip olabilirsiniz. Projeniz için özel bir alan adı oluşturmak üzere bu talimatları izleyin.

Firebase Dinamik Bağlantılar API'sini kullanma

Uygulamayı oluştur ve başlat

Dinamik Bağlantılar oluşturabilmeniz için öncelikle bir firebase::App nesnesi oluşturmanız ve başlatmanız gerekir.

firebase::App için başlık dosyasını ekleyin:

#include "firebase/app.h"

Sonraki bölüm platformunuza bağlı olarak değişir:

Android

JNI ortamını ve Java Etkinliğine bir jobject referansını argüman olarak ileterek firebase::App öğesini oluşturun:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS

firebase::App oluşturun:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

Dinamik Bağlantılar kitaplığını başlat

Dinamik Bağlantı oluşturmadan önce Dinamik Bağlantılar kitaplığını başlatmalısınız :

::firebase::dynamic_links::Initialize(app, null);

Parametrelerden uzun bir Dinamik Bağlantı 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 veyadynamic_links dynamic_links::GetLongLink iletin.

Aşağıdaki minimal örnek, Android uygulamanız com.example.android.package_name ve iOS uygulamanız com.example.ios ile açılan https://www.example.com/ adresine 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);

Kısa bir Dinamik Bağlantı oluşturma

Kısa bir Dinamik Bağlantı oluşturmak için önceden oluşturulmuş uzun bir bağlantıyı GetShortLink iletin veya DynamicLinkComponents yukarıdakiyle aynı şekilde oluşturun.

GetShortLink isteğe bağlı olarak PathLength ile ek bir DynamicLinkOptions yapılandırma parametresi alır; bu, bağlantının nasıl oluşturulması gerektiğini kontrol etmenize olanak tanır. Kısa bir bağlantı oluşturmak, Firebase arka ucuna bir ağ isteği gerektirir; bu nedenle GetShortLink eşzamansızdır 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 (ö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());
  }
}