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
AndroidアプリとWebコンテンツの連携 / Sansan Tech Meetup And...
Search
Hideki Hamada
December 18, 2020
Technology
1
1.2k
AndroidアプリとWebコンテンツの連携 / Sansan Tech Meetup Android
【Sansan Tech Meetup】Android開発Tipsを3社のエンジニアが語る
Hideki Hamada
December 18, 2020
Tweet
Share
More Decks by Hideki Hamada
See All by Hideki Hamada
devio2019osaka_hamada_hideki.pdf
jakalada
0
1.7k
2019-05-18-gdg-kyoto-jakalada.pdf
jakalada
0
830
mobilemethod-osaka-2018-11-09-jakalada-android
jakalada
0
1.2k
Other Decks in Technology
See All in Technology
TS-S205_昨年対比2倍以上の機能追加を実現するデータ基盤プロジェクトでのAI活用について
kaz3284
1
210
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
860
「Linux」という言葉が指すもの
sat
PRO
4
140
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
230
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
720
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
KotlinConf 2025_イベントレポート
sony
1
140
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
480
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.6k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
980
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
339
57k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Site-Speed That Sticks
csswizardry
10
820
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
GraphQLの誤解/rethinking-graphql
sonatard
72
11k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Docker and Python
trallard
46
3.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Transcript
AndroidΞϓϦͱ Webίϯςϯπͷ࿈ܞ Ϋϥεϝιουגࣜձࣾɹాӯथ ʲSansan Tech MeetupʳAndroid։ൃTipsΛ3ࣾͷΤϯδχΞ͕ޠΔ 2020/12/18
ࣗݾհ • ాӯथ (@jakalada) • AndroidΤϯδχΞ • 2΄ͲલʹΫϥεϝιουʹస৬ • ૣ͘ాΜ΅ͷ༷ࢠΛݟʹߦ͖͍ͨ
2
։ൃࣄྫ ʢ˞ଞࣾʹҾ͖ܧ͍ͩࣄྫؚ·Ε͍ͯ·͢ʣ 3
ࢲ͕࡞ͬͯΔΞϓϦ ֓ཁ ҿ৯ళͷΞϓϦ ༗ޮձһ ສਓ ˞ۙؒʹͰϩάΠϯͨ͜͠ͱͷ͋Δձһ %"6."6 ສສ ˞J04"OESPJEͷ߹ܭ ετΞධՁ
લޙ ˞ΞϓϦϨϏϡʔಋೖޙ㽉
ΞδΣϯμ • Webίϯςϯπͱ࿈ܞ͢Δٕज़ • WebView / ϒϥβىಈ / Custom Tabs
/ TWA • ٕज़͝ͱͷҧ͍ • UI / CookieɾΩϟογϡཧ / Webٕज़ͷ੍ݶ 5
6 Webίϯςϯπͱ ࿈ܞ͢Δٕज़
7 WebView
WebView • View • Fragment/ActivityʹΈࠐΊΔ 8
WebViewͷ༻ྫ • WebView͔ΒͷϦΫΤετͷUser-AgentʹΞϓϦݻ༗ͷΛՃ • →WebͰग़͚͠ɺJavaScriptͰදࣔ༰Λ੍ޚ • WebͰϨϯμϦϯά͞ΕͨΫʔϙϯͷόʔίʔυΛΞϓϦͰදࣔ • →ΞϓϦଆͰը໘Λ໌Δͯ͘͠όʔίʔυϦʔμʔͰಡΈऔΓ্͢͞ •
ΞϓϦͰϩάΠϯ͍ͯ͠Δ߹ࣗಈͰϩάΠϯ • →JWTϩάΠϯΛ༻ 9
10 ϒϥβىಈ
ϒϥβىಈ • Intentૹ৴ʹΑΔϒϥβΞϓϦ ͷىಈ 11
12 Custom Tabs
Custom Tabs • ΞϓϦϒϥβ • ϒϥβΞϓϦͷActivity • ※ChromeҎ֎ͷҰ෦ͷϒϥβαϙʔτ • ࠷ݶͷU/IɺΧελϚΠζՄೳ
13
Custom TabsͷߴԽ • ϒϥβଆͷެ։Serviceʹbind • warmup() : ىಈͷߴԽ • mayLaunchUrl()
: WebϖʔδͷϓϦϩʔυ 14
Custom TabsΛಋೖͨ͠ܦҢ • ΞϓϦͷϓϩϞʔγϣϯͷܦ࿏͕૿͑ͨλΠϛϯάͰɺϒϥβ͕ ىಈ͢Δ͜ͱʹ͍ͭͯiOSͷϨϏϡʔ͕େߥΕͨ͠ɻAndroidएׯ • ݱࡏϒϥβΛىಈ͍ͯͨ͠໘ͰɺΞϓϦϒϥβ ʢCustom TabsʣΛ༻ 15
16 TWA
TWA • Trusted Web Activity • ChromeͷActivity • ϑϧεΫϦʔϯදࣔՄೳ 17
TWAͷىಈϑϩʔ 1. Digital Asset LinksΛ༻ͨ͠ݕূ ➡ ࣦഊͨ͠ΒCustom TabsͰىಈ 2. Chrome͕TWAΛαϙʔτ͍ͯ͠Δ͔֬ೝ
➡ αϙʔτ͍ͯ͠ͳ͍όʔδϣϯͰCustom TabsͰىಈ 3. TWAΛىಈ 18
৴པͰ͖ͳ͍ ৴པͰ͖Δ 19
https://dev.classmethod.jp/articles/report-developers-io-2019-tokyo- developersio_cafe_pwa/ 20
21 ٕज़͝ͱͷҧ͍
UI 8FC7JFX 6*ͳ͠ɾಠࣗʹ࣮Ͱ͖Δ ϒϥβىಈ ΧελϚΠζෆՄ $VTUPN5BCT γϯϓϧͳ6*ɾΧελϚΠζՄೳ 58" ϑϧεΫϦʔϯ 22
CookieɾΩϟογϡཧ 8FC7JFX ࣗͷΞϓϦͰཧ ˞ΞϓϦ͔Β੍ޚՄೳ ϒϥβىಈ ϒϥβ͕ཧɾڞ༗ ˞ΞϓϦ͔Β੍ޚෆՄ $VTUPN5BCT 58" 23
Webٕज़ͷ੍ݶ 8FC7JFX ੍ݶ͋Γ ػೳ͝ͱʹΞϓϦଆͰ༗ޮԽ͕ඞཁ 04ߋ৽ঢ়گͰಈ࡞ʹࠩҟ͋Γ ϒϥβىಈ ϒϥβ͕αϙʔτ͍ͯ͠Δٕज़ ˞58"ݫີʹ$ISPNF͕αϙʔτ͍ͯ͠Δٕज़ $VTUPN5BCT 58"
24
·ͱΊ 25
·ͱΊ 8FC7JFX ΞϓϦ͚ͷ8FCϖʔδΛදࣔ͢Δ ˞੍ݶΛཧղɾௐͯ͠8FCΛ੍࡞͢Δඞཁ͕͋Δ ϒϥβىಈ ෆಛఆͷ8FCϖʔδΛදࣔ͢Δ Ϣʔβʔ͕ΞϓϦ͔ΒΕͯྑ͍ $VTUPN5BCT ΞϓϦͷମݧͷҰ෦ͱͯ͠8FCϖʔδΛද͍ࣔͨ͠ 8FCͷٕज़Λࣗ༝ʹ͍͍ͨ
58" 18"ΛϑϧεΫϦʔϯͷΞϓϦͱͯ͠ެ։͍ͨ͠߹ ˞18"Ͱͳͯ͘ྑ͍ 26
ࢀߟࢿྉ • Web-based content | Android Developers • https://developer.android.com/guide/webapps •
Custom Tabs | Web On Android | Google Developers • https://developers.google.com/web/android/custom-tabs • Trusted Web Activity | Web On Android | Google Developers • https://developers.google.com/web/android/trusted-web-activity 27