C++ ile Dinamik Bağlantılar alma

Oluşturduğunuz Firebase Dynamic Links öğesini almak için Dynamic Links SDK'sını uygulamanıza eklemeniz ve firebase::dynamic_links::Listener şunu uygulayan nesne OnDynamicLinkReceived sanal işlev

C++ SDK'sı hem Android hem iOS'te çalışır. Bazı ek kurulum işlemleri gerekir her platform için geçerli.

Başlamadan önce

Kullanmadan önce Firebase Dynamic Links Yapmanız gerekenler:

  • 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 eklediğinizde, hem Firebase konsolunda ve açık C++ projenizde (örneğin, Konsoldaki Firebase yapılandırma dosyalarını C++ projenize taşıyın).

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

Firebase Dynamic Links C++ istemci kitaplığı, şu işlemler için iOS'te özel URL şemaları kullanır: işlem bağlantılarını kullanın. Almayı desteklemek için uygulamanıza özel URL şemaları eklemeniz gerekir Dynamic Links

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

  2. HEDEFLER bölümünden uygulamanızı ve 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 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ın ve ardından web sitesindeki URL Şemaları kutusuna yapıştırın. yapılandırdığınızdan emin olun.

    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ğ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 projenin Genel sekmesinde bulabilirsiniz yapılandırma (Kimlik > Paket Tanımlayıcı).

Dynamic Link alınıyor

Uygulamayı oluşturma ve başlatma

Alınan Dynamic Links olup olmadığını kontrol edebilmek için öncelikle oluşturup başlatmanız gerekir. firebase::App nesnesi.

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 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 öğesini oluşturun:

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

Dynamic Links öğesini kontrol etmek için İşleyici'yi 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 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());
  }
};