C++ ile Dinamik Bağlantılar alma

Firebase Dynamic Links oluşturduğunuz reklam öğelerini 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, her platform için bazı ek kurulumlar gerektirse de hem Android hem de iOS'ta çalışır.

Başlamadan önce

Firebase Dynamic Links kullanabilmek için:

Firebase'i C++ projenize eklemenin hem Firebase konsolda 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ı kullanır. Dynamic Links almayı 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ı, ardından Bilgi sekmesini seçin. Ardından URL Türleri bölümünü genişletin.

  3. + düğmesini tıklayın ve tersine ç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 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 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 girin.

    Uygulamanızın paket kimliğini, proje yapılandırmasının Genel sekmesinde (Kimlik > Paket Kimliği) bulabilirsiniz.

Dynamic Link alma

Uygulama oluşturma ve başlatma

Alınan Dynamic Links olup olmadığını kontrol edebilmek 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 göre değişir:

Android

JNI ortamını ve Java etkinliğine yönelik bir 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 etiketini oluşturun:

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

Dynamic Links için kontrol yapacak bir dinleyici uygulayın.

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

Dynamic Links alma için başlık dosyasını ekleyin:

#include "firebase/dynamic_links.h"

Dynamic Links kitaplığını ilk kullanıma hazırlayın:

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

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

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