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 Android
Search
Hideki Hamada
December 18, 2020
Technology
1
1k
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.6k
2019-05-18-gdg-kyoto-jakalada.pdf
jakalada
0
700
mobilemethod-osaka-2018-11-09-jakalada-android
jakalada
0
990
Other Decks in Technology
See All in Technology
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
330
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
2
190
一生覚えておきたい「システム開発=コミュニケーション」〜初めての実務案件振り返りLT〜
maimyyym
1
160
require(ESM)とECMAScript仕様
uhyo
3
780
LayerXにおけるLLMプロダクト開発の今までとこれから
layerx
PRO
1
390
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
260
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
680
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
260
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
210
生産性向上チームの紹介
cybozuinsideout
PRO
1
870
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
Designing with Data
zakiwarfel
96
4.8k
What's new in Ruby 2.0
geeforr
337
31k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
GraphQLとの向き合い方2022年版
quramy
32
12k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Navigating Team Friction
lara
178
13k
Clear Off the Table
cherdarchuk
84
310k
For a Future-Friendly Web
brad_frost
172
9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
357
22k
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