C++ ile Dinamik Bağlantılar alma

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

C++ SDK'sı hem Android hem iOS'te çalışır. Her platform için bazı ek kurulum gerekir.

Başlamadan önce

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

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

    C++ projeniz zaten Firebase'i kullanıyorsa Firebase için kaydedilmiş 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 gerektirdiğ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'teki özel URL şemalarını kullanır. Dinamik Bağlantıların alınmasını desteklemek için uygulamanıza özel URL şemaları eklemeniz gerekir.

  1. Proje yapılandırmanızı açmak için sol 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 seçin 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. 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ın ve 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 (Kimlik > Paket Tanımlayıcısı) bulabilirsiniz.

Dinamik Bağlantı alma

Uygulamayı oluşturma ve başlatma

Alınan Dinamik Bağlantıları kontrol edebilmeniz için öncelikle bir firebase::App nesnesi oluşturup başlatmanız gerekir.

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

#include "firebase/app.h"

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

Android

JNI ortamını ve Java Etkinliği için jobject referansını bağımsız değişken olarak ileterek firebase::App oluşturun:

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

iOS

firebase::App öğesini oluşturun:

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

Dinamik Bağlantıları kontrol etmek için İşleyici'yi uygulama

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

Dynamic Links 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);

firebase::dynamic_links::Listener uygulayan bir nesne oluşturun ve bunu SetListener() ile Dynamic Links kitaplığına sağlayın veya ikinci bağımsız değişken olarak Başlata geçirin.

Dynamic Links'i almak için İşleyici sınıfınızın OnDynamicLinkReceived sanal işlevini uygulaması gerekir. Yöntemi geçersiz kılarak, alınmış bir derin 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());
  }
};