{print("Completed.")}まとめ導入した結果としては、とても良かったと思います。イベントが通知される前提の実装になっていないか?などの、メソッドの定義をだけでなく実装の中身まで遡って見る必要がなくなったと思います。設定のおかげで間違った実装を防げるのも地味に良かったりします。ことはわかっていきますが、プロジェクトにJOINしてきた人たちにとってはWarning表示という目に見えるカタチで知らせてくれるのも良い感じです。ここまで良かった点を書いてきましたが、念のために。使用にあたっては用法/用量をまもって欲しいと思います。LinksでディープリンクAndroidFirebaseiPhoneアプリ開発みなさんこんにちは、コンテンツ・メディア第1事業部の盛岡です。発表した内容を整理して掲載します。iOSに対応したディープリンクを行うURLを生成するサービスです。ディープリンクとは主にスマートフォン端末において、ネイティブアプリの特定のコンテンツへ直接リンクするようなものを指します。FDLの便利な機能として、「リンク時にアプリがインストールされてない場合、アプリインストール後に指定したリンク先へ戻すことが可能」という機能があります。強力な機能であり、是非活用したいですね。FDLの利用は無料であり、生成したURLを短くするいわゆる”短縮URL”としての機能もあります。FDLの想定される用途ドキュメントにも記載されてますが、用途としてはEメール/SNSなど検索エンジン外からのネイティブアプリへの誘導利用を想定されてます。Indexes」、ユーザー間での招待には「Invites」が用意されてます。各プラットフォームのディープリンク基礎知識アプリケーションにFDLを対応させるために、以下のような技術について知識が必要です。Links以下で簡単に説明しますが、公式ドキュメントの一読をおすすめします。LinksAndroidにて、URLスキームに対応するのアプリケーションを起動するための仕組みです。“AndroidManifest.xml”にURLとマッピングするActivityを指定します。android:scheme="https"/></intent-filter>また、アプリケーションの証明書フィンガープリントを利用することで、起動スキームとアプリケーションを1対1で紐付けることも可能です。URLとアプリケーションをマッピングし、該当アプリケーションを起動するための仕組みです。Domains”を登録することで動作させます。(XCodeにて設定)また、マッピング対象のWebサイトルートに、”apple-app-site-association”ファイルを設置することでアプリケーションを起動するための認証を取ります。Linksを利用するくらいしか手がないためにFDLでも利用しています。Linksコンソールにおけるドメインの払い出しここからは、Firebase側での処理を確認して行きます。FDLを利用し始めるとドメインが払い出されます。ような(abcdeはサンプル)ドメインが各Firebaseプロジェクト毎に出来上がります。“app.goo.gl”は何に利用されるのでしょうか?これは、FDLのリンクのドメイン部分として記述され、リダイレクタとして利用するイメージです。Linksの設定において、登録するドメインにもなります。Linksで利用するapple-app-site-associationは、”app.goo.gl”ではどうしているのでしょうか?実際にiOSアプリケーションをFirebaseに登録後、app.goo.glを掘ってみました。app.goo.glにて動的に生成されてますね。動的に生成されるapple-app-site-associationには、Firebaseプロジェクトに複数のiOSアプリケーションがあっても、全て含めてくれます。仕組みの解説は一旦終わり、実際の組み込みについてです。Firebase自体の利用方法から、アプリケーションの登録、自社アプリへの組み込みまで公式ドキュメントの実装どおりに行えば問題無いと思います。何点か補足があるので説明します。補足1:Firebaseに登録したアプリケーションの項目設定Firebaseに登録しているネイティブアプリケーションの設定項目を埋めるという作業がありますので忘れずにやっておきましょう。以下の項目が、オプショナル扱いのものです。Linksにちゃんと対応するために必要です。Linksの設定はデバッグが難しいため注意が必要です。そのため、私は以下のようなツールを活用していました。Placeあとは、Webサーバのアクセスログを確認などして地道に動作確認を実施していきました。補足3:Androidの実装Androidにおいて、アプリケーションインストール後のリンクを再取得する処理で注意が必要です。以下にアプリケーション内で記述するサンプルソースを示します。DeepLinkを取得した後、処理をresultCallBack内に記載(下記9行目)しないとダメであり、ブロック外には制御は戻ってきません。実際のリンクサンプルと、動作確認を行った結果を示していきます。000000001リンクhttps://abcde.app.goo.gl/?link=https://pictlink.com/myPage&apn=jp.furyu.pictlink.android&ibi=jp.furyu.pictlink.ios&ius=pictlink&isi=00000001利用するパラメータを元に、公式ドキュメントに従ってリンクを組み立てましょう。iOSのアプリケーションの起動を制御出来るはずです。パラメータを用いて動作確認を行った結果、以下の機能が対象OSにて動作しました。Linksを利用することで、サービス運営者からネイティブアプリケーションへの誘導がうまく出来るようになります。これまではリダイレクタを自作したり、複雑なjsを用意したり、”あまり触れたくない”ノウハウの塊のような箇所をFirebase側でソリューションとして提供してもらっているイメージです。利用にあたり、アプリケーションの入り口となるコンテンツやページの設計には注意が必要です。アプリケーションとマッピングするサイトURLを丁寧に設計すれば「サイト→ネイティブアプリ」のシームレスな連携が可能になるでしょう。導入方法自体はそれほど困難ではないのですが、FDLの動作とアプリケーションの動作を理解していないと、想定した動きにならないことが多いので時間が取られることもあるかもしれません。Linksの利用が第一候補になっていくのでは、と考えます。本当に便利なものなので、みなさんも是非ご活用下さい。