C++ で Dynamic Links を受信する

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

Android と iOS それぞれに必要な設定を追加すれば、両方のプラットフォームで C++ SDK を機能させることができます。

準備

Android

  1. アプリを Firebase プロジェクトに接続していない場合は、Firebase コンソールで接続します。
  2. Firebase を Android プロジェクトに追加します
  3. Firebase Dynamic Links の依存関係をアプリレベルの build.gradle ファイルに次のように追加します。
    dependencies {
         compile 'com.google.firebase:firebase-invites:11.2.2'
    }
  4. C++ SDK の静的ライブラリ libapp.alibdynamic_links.a をリンクします。

iOS

  1. アプリを Firebase プロジェクトに接続していない場合は、Firebase コンソールで接続します。
  2. Firebase を iOS プロジェクトに追加します
  3. iOS では、Firebase Dynamic Links の C++ クライアント ライブラリはカスタム URL スキームを使用してリンクを処理します。ダイナミック リンクの受信に対応したアプリにするには、カスタム URL スキームをアプリに追加する必要があります。
    1. 左側のツリービューでプロジェクト名をダブルクリックしてプロジェクト設定を開きます。[ターゲット] セクションでアプリを選択し、[情報] タブを開いて [URL タイプ] セクションを展開します。
    2. [+] ボタンをクリックし、反転クライアント ID の URL スキームを追加します。この値を確認するには、GoogleService-Info.plist 設定ファイルを開いて REVERSED_CLIENT_ID キーを探します。見つかったキーの値をコピーし、設定ページの [URL スキーム] ボックスに貼り付けます。その他の入力欄は空白にしておきます。
    3. [+] ボタンをクリックし、2 個目の URL スキームを追加します。これはアプリのバンドル ID と同じものにします。たとえば、バンドル ID が com.example.app であれば、その値を [URL スキーム] ボックスに入力します。アプリのバンドル ID は [プロジェクトの設定] の [全般] タブ([ID] > [バンドル ID])で確認できます。
  4. Podfile で次のポッドをインクルードします。
    pod 'Firebase/DynamicLinks'
  5. pod install を実行します。
  6. C++ SDKfirebase.frameworkfirebase_dynamic_links.framework を Xcode プロジェクトに追加します。

ダイナミック リンクを受信する

アプリを作成して初期化する

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

firebase::App のヘッダー ファイルを追加します。

#include "firebase/app.h"

この次の手順はプラットフォームによって異なります。

Android

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

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::dynamic_links::Listener を実装するオブジェクトを作成し、SetListener() を使って Dynamic Links ライブラリに渡すか、2 番目の引数として Initialize に渡します。

ダイナミック リンクを受信するには、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());
  }
};

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。