Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

C ++で動的リンクを受信する

作成した Firebase Dynamic Links を受け取るには、アプリに Dynamic Links SDK を含め、 OnDynamicLinkReceived仮想関数を実装する firebase firebase::dynamic_links::Listenerオブジェクトを作成する必要があります。

C++ SDK は Android と iOS の両方で機能しますが、プラットフォームごとに追加の設定が必要です。

あなたが始める前に

Firebase Dynamic Linksを使用する前に、次のことを行う必要があります。

  • C++ プロジェクトを登録し、Firebase を使用するように構成します。

    C++ プロジェクトですでに Firebase を使用している場合は、Firebase 用に登録および構成されています。

  • Firebase C++ SDKを C++ プロジェクトに追加します。

Firebase を C++ プロジェクトに追加するには、 Firebase コンソールと開いている C++ プロジェクトの両方でタスクが必要になることに注意してください (たとえば、コンソールから Firebase 構成ファイルをダウンロードして、それらを C++ プロジェクトに移動します)。

カスタム URL スキームを追加する (iOS のみ)

Firebase Dynamic Links C++ クライアント ライブラリは、iOS でカスタム URL スキームを使用してリンクを処理します。 Dynamic Links の受信をサポートするには、アプリにカスタム URL スキームを追加する必要があります。

  1. プロジェクト構成を開くには、左側のツリー ビューでプロジェクト名をダブルクリックします。

  2. [ターゲット] セクションからアプリを選択し、[情報] タブを選択して、[ URL の種類] セクションを展開します。

  3. [ + ] ボタンをクリックし、反転したクライアント ID の URL スキームを追加します。この値を見つけるには:

    1. GoogleService-Info.plist構成ファイルを開き、 REVERSED_CLIENT_IDキーを探します。

    2. そのキーの値をコピーして、構成ページの [ URL スキーム]ボックスに貼り付けます。

    3. 他のフィールドは空白のままにします。

  4. +ボタンをクリックし、2 つ目の URL スキームを追加します。これはアプリのバンドル ID と同じです。

    たとえば、バンドル ID がcom.example.iosの場合、その値を [ URL スキーム]ボックスに入力します。

    アプリのバンドル ID は、プロジェクト構成の [全般] タブで確認できます ( [アイデンティティ] > [バンドル識別子] )。

ダイナミック リンクの受信

アプリの作成と初期化

受信したダイナミック リンクを確認する前に、 firebase::Appオブジェクトを作成して初期化する必要があります。

firebase::Appのヘッダー ファイルを含めます。

#include "firebase/app.h"

次の部分は、プラットフォームによって異なります。

アンドロイド

firebase firebase::Appを作成し、JNI 環境と Java アクティビティへのjobject参照を引数として渡します。

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

iOS

firebase::Appを作成します。

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

リスナーを実装して動的リンクをチェックする

受信したダイナミック リンクを確認するには、 firebase::dynamic_links::Listenerクラスを実装して使用します。

ダイナミック リンクを受信するためのヘッダー ファイルを含めます:

#include "firebase/dynamic_links.h"

Dynamic Links ライブラリを初期化します:

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

firebase firebase::dynamic_links::Listenerを実装するオブジェクトを作成し、それをSetListener()で Dynamic Links ライブラリに提供するか、それをInitializeの 2 番目の引数として渡します。

ダイナミック リンクを受信するには、Listener クラスでOnDynamicLinkReceived仮想関数を実装する必要があります。メソッドをオーバーライドすることで、ディープ リンクを受信した場合はそれを受信できます。

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

作成した Firebase Dynamic Links を受け取るには、アプリに Dynamic Links SDK を含め、 OnDynamicLinkReceived仮想関数を実装する firebase firebase::dynamic_links::Listenerオブジェクトを作成する必要があります。

C++ SDK は Android と iOS の両方で機能しますが、プラットフォームごとに追加の設定が必要です。

あなたが始める前に

Firebase Dynamic Linksを使用する前に、次のことを行う必要があります。

  • C++ プロジェクトを登録し、Firebase を使用するように構成します。

    C++ プロジェクトですでに Firebase を使用している場合は、Firebase 用に登録および構成されています。

  • Firebase C++ SDKを C++ プロジェクトに追加します。

Firebase を C++ プロジェクトに追加するには、 Firebase コンソールと開いている C++ プロジェクトの両方でタスクが必要になることに注意してください (たとえば、コンソールから Firebase 構成ファイルをダウンロードして、それらを C++ プロジェクトに移動します)。

カスタム URL スキームを追加する (iOS のみ)

Firebase Dynamic Links C++ クライアント ライブラリは、iOS でカスタム URL スキームを使用してリンクを処理します。 Dynamic Links の受信をサポートするには、アプリにカスタム URL スキームを追加する必要があります。

  1. プロジェクト構成を開くには、左側のツリー ビューでプロジェクト名をダブルクリックします。

  2. [ターゲット] セクションからアプリを選択し、[情報] タブを選択して、[ URL の種類] セクションを展開します。

  3. [ + ] ボタンをクリックし、反転したクライアント ID の URL スキームを追加します。この値を見つけるには:

    1. GoogleService-Info.plist構成ファイルを開き、 REVERSED_CLIENT_IDキーを探します。

    2. そのキーの値をコピーして、構成ページの [ URL スキーム]ボックスに貼り付けます。

    3. 他のフィールドは空白のままにします。

  4. +ボタンをクリックし、2 つ目の URL スキームを追加します。これはアプリのバンドル ID と同じです。

    たとえば、バンドル ID がcom.example.iosの場合、その値を [ URL スキーム]ボックスに入力します。

    アプリのバンドル ID は、プロジェクト構成の [全般] タブで確認できます ( [アイデンティティ] > [バンドル識別子] )。

ダイナミック リンクの受信

アプリの作成と初期化

受信したダイナミック リンクを確認する前に、 firebase::Appオブジェクトを作成して初期化する必要があります。

firebase::Appのヘッダー ファイルを含めます。

#include "firebase/app.h"

次の部分は、プラットフォームによって異なります。

アンドロイド

firebase firebase::Appを作成し、JNI 環境と Java アクティビティへのjobject参照を引数として渡します。

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

iOS

firebase::Appを作成します。

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

リスナーを実装して動的リンクをチェックする

受信したダイナミック リンクを確認するには、 firebase::dynamic_links::Listenerクラスを実装して使用します。

ダイナミック リンクを受信するためのヘッダー ファイルを含めます:

#include "firebase/dynamic_links.h"

Dynamic Links ライブラリを初期化します:

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

firebase firebase::dynamic_links::Listenerを実装するオブジェクトを作成し、それをSetListener()で Dynamic Links ライブラリに提供するか、それをInitializeの 2 番目の引数として渡します。

ダイナミック リンクを受信するには、Listener クラスでOnDynamicLinkReceived仮想関数を実装する必要があります。メソッドをオーバーライドすることで、ディープ リンクを受信した場合はそれを受信できます。

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