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

Oluşturduğunuz Firebase Dynamic Links'i 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 ve her platform için bazı ek kurulumlar gerekir.

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).

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

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.

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

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

    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 bulabilirsiniz ( Kimlik > Paket Tanımlayıcı ).

Dinamik Bağlantı Alma

Uygulamayı oluştur ve başlat

Alınan Dinamik Bağlantıları kontrol edebilmeniz için önce 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 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ı 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 Dinamik Bağlantılar kitaplığına sağlayın veya onu ikinci argüman olarak Başlat'a 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, eğer 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());
  }
};