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'i kullanıyorsa zaten kayıtlıdır ve Firebase için yapılandırıldı.

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

ziyaret edin.

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, ardından ters çevrilmiş istemci kimliğiniz için bir URL şeması ekleyin. Alıcı: şu değeri bulun:

    1. GoogleService-Info.plist yapılandırma dosyasını açın, ardından REVERSED_CLIENT_ID tuşu.

    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ği.

    Örneğin, paket kimliğiniz com.example.ios ise bu değeri URL Şemaları kutusuna bir sayı 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"

Bir sonraki kısım platformunuza bağlı olarak değişiklik gösterir:

Android

JNI ortamını ve bir jobject ileterek firebase::App öğesini oluşturun Java Etkinliği'ne bağımsız değişken olarak atıfta bulunulması:

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ı kullanır.

Dynamic Links öğesini almak için başlık dosyasını ekleyin:

#include "firebase/dynamic_links.h"

Dynamic Links kitaplığını başlatın:

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

Şunları uygulayan bir nesne oluşturun: firebase::dynamic_links::Listener, ve Dynamic Links kitaplığına şu kaynakla sağlayabilirsiniz: SetListener(), veya bunu, kullanıcıya ikinci bağımsız değişken olarak Başlat.

Dynamic Links almak için Dinleyici sınıfınızın şunu uygulaması gerekir: OnDynamicLinkReceived sanal işlev Yöntemi geçersiz kılarak alındı.

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