C++ ile Dinamik Bağlantılar Alın

Oluşturduğunuz Firebase Dynamic Links'i almak için Dynamic Links SDK'yı uygulamanıza dahil etmeniz ve OnDynamicLinkReceived sanal işlevini uygulayan bir firebase::dynamic_links::Listener nesnesi oluşturmanız gerekir.

C++ SDK, hem Android hem de iOS için çalışır ve her platform için bazı ek kurulumlar gerekir.

Sen başlamadan önce

Firebase Dynamic Links'i kullanmadan önce yapmanız gerekenler:

  • 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ıştır.

  • Firebase C++ SDK'yı 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 indirir, ardından bunları C++ projenize taşırsınız).

Özel URL şemaları ekleyin (yalnızca iOS için)

Firebase Dynamic Links C++ istemci kitaplığı, bağlantıları işlemek için iOS'ta özel URL şemaları kullanır. Dinamik Bağlantıların alınmasını desteklemek için uygulamanıza özel URL şemaları eklemelisiniz.

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

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

  3. + düğmesini tıklayın, ardından tersine çevrilmiş müşteri 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, ardından REVERSED_CLIENT_ID anahtarını arayın.

    2. Bu anahtarın değerini kopyalayın, ardından 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, 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 bulabilirsiniz ( Identity > Bundle Identifier ).

Dinamik Bağlantı Alma

Uygulama oluştur ve başlat

Alınan Dinamik Bağlantıları kontrol etmeden önce, 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"

Bir sonraki kısı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 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ı kontrol etmek için Dinleyiciyi uygulayın

Alınan bir Dinamik Bağlantıyı kontrol etmek için firebase::dynamic_links::Listener sınıfını uygulayın ve kullanın.

Dinamik Bağlantıları almak için başlık dosyasını ekleyin:

#include "firebase/dynamic_links.h"

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

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

firebase::dynamic_links::Listener uygulayan bir nesne oluşturun ve bunu SetListener() ile Dynamic Links kitaplığına sağlayın veya bunu, Initialize öğesine ikinci bağımsız değişken olarak iletin.

Dinamik Bağlantıları almak için Listener sınıfınızın OnDynamicLinkReceived sanal işlevini uygulaması gerekir. Yöntemi geçersiz kılarak, alınmışsa 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());
  }
};