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.2k
DynamicLinks 知られざる?Firebaseの秘技
nacatl
November 15, 2018
Tweet
Share
More Decks by nacatl
See All by nacatl
Flutterにおけるアプリ内課金実装 -Android/iOS完全なる統一 -
nacatl
2
5.4k
Navigation Componentを実戦投入した際の感動、便利さ、そしてつまづき
nacatl
0
2.6k
nacatl_slide_04_AAC_Navigation_Toolbar
nacatl
0
720
nacatl_slide_03_AAC_Navigation_SafeArfgs.pdf
nacatl
0
57
nacatl_slide_02_MapView_in_Recycler_view.pdf
nacatl
1
290
Other Decks in Programming
See All in Programming
GoのIteratorに詳しくなってしまう
inatonix
1
190
Some more adventure of Happy Eyeballs
coe401_
2
160
暴走のウホーレン 〜想いってのはvimrcにしないと伝わらないんだぜ〜 / iosdc_japan_2024
uhooi
1
240
Core_Audio徹底解剖.pdf
entaku
3
100
仮想ファイルシステムを導入して開発環境のストレージ課題を解消する
segadevtech
2
450
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
240
いつか使える ObjectSpace / Maybe useful ObjectSpace
euglena1215
2
130
Regular Expressions, REXML, Automata Learning
makenowjust
0
190
Why Prism?
kddnewton
4
1.5k
Scala アプリケーションのビルドを改善してデプロイ時間を 1/4 にした話 | How I improved the build of my Scala application and reduced deployment time by 4x
nomadblacky
1
130
マルチモジュールにおけるテスト最適化
fxwx23
0
190
Desafios e Lições Aprendidas na Migração de Monólitos para Microsserviços em Java
jessilyneh
2
140
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
16
930
Java REST API Framework Comparison - PWX 2021
mraible
PRO
27
7.4k
The Invisible Customer
myddelton
119
13k
GitHub's CSS Performance
jonrohan
1029
450k
Optimising Largest Contentful Paint
csswizardry
29
2.8k
How To Stay Up To Date on Web Technology
chriscoyier
785
250k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
326
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
47k
Side Projects
sachag
451
42k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
Scaling GitHub
holman
458
140k
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も取れる 使い方は?
複数のプラットフォームにまたがるアプリに、 共通のリンクで何かを共有させたい時に すごく有用だと思う。
ご静聴ありがとうございました