Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Empfangen Sie dynamische Links mit C ++

Um die von Ihnen erstellten dynamischen Firebase-Links zu erhalten, müssen Sie das Dynamic Links SDK in Ihre App aufnehmen und ein firebase::dynamic_links::Listener Objekt erstellen, das die virtuelle Funktion OnDynamicLinkReceived implementiert.

Das C ++ SDK funktioniert sowohl für Android als auch für iOS, wobei für jede Plattform einige zusätzliche Einstellungen erforderlich sind.

Bevor Sie beginnen

Bevor Sie Firebase Dynamic Links verwenden können , müssen Sie:

  • 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 für Firebase registriert und konfiguriert.

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

Beachten Sie, dass das Hinzufügen von Firebase zu Ihrem C ++ - Projekt Aufgaben sowohl in der Firebase-Konsole als auch in Ihrem geöffneten C ++ - Projekt umfasst (Sie laden beispielsweise Firebase-Konfigurationsdateien von der Konsole herunter und verschieben sie dann in Ihr C ++ - Projekt).

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

Die C ++ - Clientbibliothek von Firebase Dynamic Links verwendet unter iOS benutzerdefinierte URL-Schemata, um Links zu verarbeiten. Sie müssen Ihrer App benutzerdefinierte URL-Schemata hinzufügen, um den Empfang dynamischer Links zu unterstützen.

  1. Doppelklicken Sie zum Öffnen Ihrer Projektkonfiguration in der linken Baumansicht auf den Projektnamen.

  2. Wählen Sie Ihre App im Abschnitt ZIELE aus , wählen Sie die Registerkarte Info und erweitern Sie den Abschnitt URL-Typen .

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

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

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

    3. Lassen Sie die anderen Felder leer.

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

    Wenn Ihre Bundle-ID beispielsweise com.example.ios , geben Sie diesen Wert in das Feld URL-Schemata ein .

    Die Bundle-ID Ihrer App finden Sie auf der Registerkarte Allgemein der Projektkonfiguration ( Identität> Bundle- ID).

Empfangen einer dynamischen Verbindung

App erstellen und initialisieren

Bevor Sie nach empfangenen dynamischen Links suchen können, müssen Sie ein firebase::App Objekt erstellen und initialisieren.

Fügen Sie die Header-Datei für firebase::App :

#include "firebase/app.h"

Der nächste Teil hängt von Ihrer Plattform ab:

Android

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

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

iOS

Erstellen Sie die firebase::App :

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

Implementieren Sie den Listener, um nach dynamischen Links zu suchen

Implementieren und verwenden Sie die Klasse firebase::dynamic_links::Listener um nach einem empfangenen dynamischen Link zu firebase::dynamic_links::Listener .

Fügen Sie die Header-Datei für den Empfang von Dynamic Links hinzu:

#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 implementiert, und stellen Sie es mit SetListener() der Dynamic Links-Bibliothek zur SetListener() , oder übergeben Sie es als zweites Argument an Initialize .

Um dynamische Links zu erhalten, muss Ihre Listener-Klasse die virtuelle Funktion OnDynamicLinkReceived implementieren. Durch Überschreiben der Methode können Sie einen Deep Link erhalten, falls einer empfangen wurde.

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