Dynamische Links mit C++ erhalten

So erhalten Sie die Firebase Dynamic Links, die Sie erstellt haben: müssen Sie das Dynamic Links SDK in Ihre App einbinden und ein firebase::dynamic_links::Listener , mit dem das Tag OnDynamicLinkReceived virtuelle Funktion.

Das C++ SDK funktioniert sowohl für Android als auch für iOS. Für jede Plattform ist jedoch eine zusätzliche Einrichtung erforderlich.

Hinweis

Vor der Verwendung Firebase Dynamic Links, sind folgende Schritte erforderlich:

  • Registrieren Sie Ihr C++-Projekt und konfigurieren Sie es für die Verwendung von Firebase.

    Wenn Ihr C++-Projekt bereits Firebase verwendet, ist es bereits registriert und die für Firebase konfiguriert sind.

  • Fügen Sie Ihrem C++-Projekt das Firebase C++ SDK hinzu.

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C++-Projekt sowohl Aufgaben im Firebase-Konsole und in Ihrem offenen C++-Projekt, z. B. wenn Sie Firebase-Konfigurationsdateien aus der Console und verschieben Sie sie dann in Ihr C++-Projekt.

Benutzerdefinierte URL-Schemas hinzufügen (nur für iOS)

Die Firebase Dynamic Links-C++-Clientbibliothek verwendet benutzerdefinierte URL-Schemas unter iOS, um Links zu verarbeiten. Du musst deiner App benutzerdefinierte URL-Schemas hinzufügen, um den Empfang von URLs zu unterstützen Dynamic Links

  1. Doppelklicken Sie in der linken Baumansicht auf den Projektnamen, um die Projektkonfiguration zu öffnen.

  2. Wählen Sie im Bereich ZIELE Ihre App und dann den Tab Info aus. Maximieren Sie den Bereich URL-Typen.

  3. Klicken Sie auf die Schaltfläche + und fügen Sie ein URL-Schema für die umgekehrte Client-ID hinzu. Bis finden Sie diesen Wert:

    1. Öffnen Sie die Konfigurationsdatei GoogleService-Info.plist und suchen Sie nach dem REVERSED_CLIENT_ID-Taste.

    2. Kopieren Sie den Wert dieses Schlüssels und fügen Sie ihn dann in das Feld URL-Schemas auf auf der Konfigurationsseite.

    3. Lassen Sie die anderen Felder leer.

  4. Klicken Sie auf die Schaltfläche + und fügen Sie ein zweites URL-Schema hinzu. Dieser ist der gleiche wie die Bundle-ID Ihrer App.

    Wenn Ihre Set-ID beispielsweise com.example.ios lautet, geben Sie diesen Wert in das URL-Schemas.

    Sie finden die Bundle-ID Ihrer App in der Projektkonfiguration auf dem Tab Allgemein (Identität > Bundle-ID).

Dynamic Link wird empfangen

App erstellen und initialisieren

Bevor du nach empfangenen Dynamic Links suchen kannst, musst du das Gerät erstellen und initialisieren Ein firebase::App-Objekt

Fügen Sie die Headerdatei für firebase::App hinzu:

#include "firebase/app.h"

Der nächste Teil variiert je nach Plattform:

Android

Erstellen Sie die firebase::App und übergeben Sie die JNI-Umgebung und eine jobject Verweis auf die Java-Aktivität als Argumente:

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

iOS

Erstellen Sie firebase::App:

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

Listener implementieren, um auf Dynamic Links zu prüfen

Implementieren und verwenden Sie die Methode, um zu prüfen, ob ein Dynamic Link empfangen wurde. firebase::dynamic_links::Listener .

Fügen Sie die Headerdatei für den Empfang von Dynamic Links ein:

#include "firebase/dynamic_links.h"

Initialisieren Sie die Dynamic Links-Bibliothek:

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

Erstellen Sie ein Objekt, das firebase::dynamic_links::Listener, und stellen sie der Dynamic Links-Bibliothek mit SetListener(), oder es als zweites Argument an Initialisieren.

Um Dynamic Links zu empfangen, muss Ihre Listener-Klasse die Methode OnDynamicLinkReceived virtuelle Funktion. Wenn Sie die Methode überschreiben, können Sie einen Deeplink erhalten, wenn erhalten haben.

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