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
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
400
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
160
CSC509 Lecture 04
javiergs
PRO
0
300
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
930
品質ワークショップをやってみた
nealle
0
380
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
130
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
11
6.8k
Catch Up: Go Style Guide Update
andpad
0
230
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
株式会社 Sun terras カンパニーデック
sunterras
0
320
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
280
(Extension DC 2025) Actor境界を越える技術
teamhimeh
1
260
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
33
2.3k
RailsConf 2023
tenderlove
30
1.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Site-Speed That Sticks
csswizardry
12
900
KATA
mclloyd
32
15k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Raft: Consensus for Rubyists
vanstee
140
7.1k
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も取れる 使い方は?
複数のプラットフォームにまたがるアプリに、 共通のリンクで何かを共有させたい時に すごく有用だと思う。
ご静聴ありがとうございました