Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DynamicLinks 知られざる?Firebaseの秘技
Search
nacatl
November 15, 2018
Programming
2
1.3k
DynamicLinks 知られざる?Firebaseの秘技
nacatl
November 15, 2018
Tweet
Share
More Decks by nacatl
See All by nacatl
Flutterにおけるアプリ内課金実装 -Android/iOS完全なる統一 -
nacatl
2
7.3k
Navigation Componentを実戦投入した際の感動、便利さ、そしてつまづき
nacatl
0
3k
nacatl_slide_04_AAC_Navigation_Toolbar
nacatl
0
800
nacatl_slide_03_AAC_Navigation_SafeArfgs.pdf
nacatl
0
68
nacatl_slide_02_MapView_in_Recycler_view.pdf
nacatl
1
310
Other Decks in Programming
See All in Programming
CSC509 Lecture 02
javiergs
PRO
0
400
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
320
AIで開発生産性を上げる個人とチームの取り組み
taniigo
0
130
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
860
CSC509 Lecture 05
javiergs
PRO
0
290
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
180
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
480
プログラマのための作曲入門
cheebow
0
540
CSC305 Lecture 04
javiergs
PRO
0
250
エンジニアとして高みを目指す、 利益を生み出す設計の考え方 / design-for-profit
minodriven
23
12k
Le côté obscur des IA génératives
pascallemerrer
0
120
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Thoughts on Productivity
jonyablonski
70
4.9k
Rails Girls Zürich Keynote
gr2m
95
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Mobile First: as difficult as doing things right
swwweet
224
10k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A designer walks into a library…
pauljervisheath
209
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
A Tale of Four Properties
chriscoyier
160
23k
Transcript
Copyright 2018 Studyplus, Inc. All Rights Reserved. Dynamic Links ~知られざる?Firebaseの秘技~
Yuzuru Nakashima / Studyplus Inc. 2018.11.15 @ potatotips #56
自己紹介 ✎ なかてぃる affinity_robots nacatl ✎ スタディプラスのAndroidエンジニア ✎ 趣味: Magic
the Gathering
目次 ✎ DynamicLinksって何? ✎ 何ができるの? ✎ どうやって作るの? ✎ 使い方は?
DynamicLinksって何? What is this?
DynamicLinksって何? Firebaseが提供しているサービスの一つ。 簡単に言えば アプリに対する すごーい! リダイレクトリンク です。
何ができるの? What can it do?
何ができるの? Android or iOS or PC(その他) で場合分けして、リダイレクトさせられる
何ができるの? アプリのインストール有無を判定でき、 ストアからのインストールを挟んでも ディープリンクを判定できる!! - インストール済み→ディープリンク起動 - 未インストール→ストア(か任意URL)に遷移
どうやって作るの? How do I create it?
どうやって作るの? 原型。パラメータをクエリで突っ込む 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用とか広告用とか
どうやって作るの? 短縮APIに投げる POST https://firebasedynamiclinks.googleap is.com/v1/shortLinks?key={api_key} Content-Type: application/json
どうやって作るの? { "dynamicLinkInfo": { "dynamicLinkDomain": "abc123.app.goo.gl", "link": "https://example.com/", "androidInfo": {
{ "androidPackageName": "com.example.android" } }, "iosInfo": { { "iosBundleId": "com.example.ios" } } } } Jsonの中身: パラメータ別に
どうやって作るの? Jsonの中身: 長いのそのまま { "longDynamicLink": "https://abc123.app.goo.gl/?link=https://example.com/&apn=com .example.android&ibi=com.example.ios" }
どうやって作るの? FirebaseConsoleのウィザード
どうやって作るの? クエリにd=1でデバッグ
使い方は? How to use?
✎ https://{Firebaseプロジェクトの固有ドメイン}で 起動できるようにしておく - (iOS→ユニバーサルリンク、スキーム起動) - (Android→Intent Filterでスキーム起動) ✎ ディープリンク起動時にDynamicLinksの確
認 ✎ DynamicLinksからディープリンクを 取得して処理 使い方は?
作ったリンクは… ✎ 例えばSNSにシェアしてみたり ✎ 物理的にQRカード作って配ったり ✎ リンクごとにAnalyticsも取れる 使い方は?
複数のプラットフォームにまたがるアプリに、 共通のリンクで何かを共有させたい時に すごく有用だと思う。
ご静聴ありがとうございました