Slide 1

Slide 1 text

Copyright 2018 Studyplus, Inc. All Rights Reserved. Dynamic Links ~知られざる?Firebaseの秘技~ Yuzuru Nakashima / Studyplus Inc. 2018.11.15 @ potatotips #56

Slide 2

Slide 2 text

自己紹介 ✎ なかてぃる affinity_robots nacatl ✎ スタディプラスのAndroidエンジニア ✎ 趣味: Magic the Gathering

Slide 3

Slide 3 text

目次 ✎ DynamicLinksって何? ✎ 何ができるの? ✎ どうやって作るの? ✎ 使い方は?

Slide 4

Slide 4 text

DynamicLinksって何? What is this?

Slide 5

Slide 5 text

DynamicLinksって何? Firebaseが提供しているサービスの一つ。 簡単に言えば アプリに対する すごーい! リダイレクトリンク です。

Slide 6

Slide 6 text

何ができるの? What can it do?

Slide 7

Slide 7 text

何ができるの? Android or iOS or PC(その他) で場合分けして、リダイレクトさせられる

Slide 8

Slide 8 text

何ができるの? アプリのインストール有無を判定でき、 ストアからのインストールを挟んでも ディープリンクを判定できる!! - インストール済み→ディープリンク起動 - 未インストール→ストア(か任意URL)に遷移

Slide 9

Slide 9 text

どうやって作るの? How do I create it?

Slide 10

Slide 10 text

どうやって作るの? 原型。パラメータをクエリで突っ込む https://{Firebaseプロジェクトの固有ドメイン}.app.goo.gl ?link={https://で始まるリンク。アプリのディープリンクはここを見る} &dfl={デスクトップ用フォールバックリンク} &apn={Androidアプリのパッケージ名} &afl={Android用フォールバックリンク(ストアの代わりの割り込み先)} &amv={Android用の、リンクを開ける最小のバージョンコード} &isi={iOSアプリのストアID} &ibi={iOSアプリのバンドルID} &ius={iOS用のカスタムスキーム} &ifl={iOS用フォールバックリンク} &imv={iOS用の、リンクを開ける最小のバージョンコード} ... あとiPad用とか広告用とか

Slide 11

Slide 11 text

どうやって作るの? 短縮APIに投げる POST https://firebasedynamiclinks.googleap is.com/v1/shortLinks?key={api_key} Content-Type: application/json

Slide 12

Slide 12 text

どうやって作るの? { "dynamicLinkInfo": { "dynamicLinkDomain": "abc123.app.goo.gl", "link": "https://example.com/", "androidInfo": { { "androidPackageName": "com.example.android" } }, "iosInfo": { { "iosBundleId": "com.example.ios" } } } } Jsonの中身: パラメータ別に

Slide 13

Slide 13 text

どうやって作るの? Jsonの中身: 長いのそのまま { "longDynamicLink": "https://abc123.app.goo.gl/?link=https://example.com/&apn=com .example.android&ibi=com.example.ios" }

Slide 14

Slide 14 text

どうやって作るの? FirebaseConsoleのウィザード

Slide 15

Slide 15 text

どうやって作るの? クエリにd=1でデバッグ

Slide 16

Slide 16 text

使い方は? How to use?

Slide 17

Slide 17 text

✎ https://{Firebaseプロジェクトの固有ドメイン}で 起動できるようにしておく - (iOS→ユニバーサルリンク、スキーム起動) - (Android→Intent Filterでスキーム起動) ✎ ディープリンク起動時にDynamicLinksの確 認 ✎ DynamicLinksからディープリンクを 取得して処理 使い方は?

Slide 18

Slide 18 text

作ったリンクは… ✎ 例えばSNSにシェアしてみたり ✎ 物理的にQRカード作って配ったり ✎ リンクごとにAnalyticsも取れる 使い方は?

Slide 19

Slide 19 text

複数のプラットフォームにまたがるアプリに、 共通のリンクで何かを共有させたい時に すごく有用だと思う。

Slide 20

Slide 20 text

ご静聴ありがとうございました