C++ ile Dinamik Bağlantılar alma

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.

  1. Proje yapılandırmanızı açmak için soldaki ağaç görünümünde proje adını çift tıklayın.

  2. HEDEFLER bölümünden uygulamanızı seçin, ardından Bilgi sekmesini ve URL Türleri bölümünü genişletin.

  3. + düğmesini tıklayın ve ters çevrilmiş istemci kimliğiniz için bir URL şeması ekleyin. Bu değeri bulmak için:

    1. GoogleService-Info.plist yapılandırma dosyasını açın ve REVERSED_CLIENT_ID anahtarını bulun.

    2. Bu anahtarın değerini kopyalayıp yapılandırma sayfasındaki URL Şemaları kutusuna yapıştırın.

    3. Diğer alanları boş bırakın.

  4. + 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());
  }
};