Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
即時通知を導入する際に考えるべきこと
Search
aoi
September 12, 2022
Technology
6.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
即時通知を導入する際に考えるべきこと
https://fortee.jp/iosdc-japan-2022/proposal/dc963bce-52bd-429c-86ed-9a7b314063ce
aoi
September 12, 2022
More Decks by aoi
See All by aoi
モバイルアプリの行動ログの運用つらさ解消法 / mobile-log-troubleshooting
aomathwift
3
3.1k
ロック画面Widgetをサクッと実装してみた話
aomathwift
3
510
OS 固有の新機能をサービスに取り入れ活用していくための Tips
aomathwift
0
100
DocC Documentation Archiveをアプリ開発で活用してみよう / DocC Documentation Archive for iOS Application
aomathwift
0
690
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話 After Talk
aomathwift
0
570
機能ごとに動作するミニアプリでプレビューサイクルを爆速にした話
aomathwift
1
12k
Other Decks in Technology
See All in Technology
reInvent2026stby LT00 "Change your life!"
shinichirokawano
1
530
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
490
新卒エンジニア、 介護士になる
ryu1013
1
660
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
720
Copilot Coworkで「みのるん式」やってみた
minorun365
PRO
1
720
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
110
"AWSはちょっと苦手"でも大丈夫。AWS Blocks で手軽に作る Flutter のバックエンド #FlutterKaigi
tacck
PRO
0
120
Snowflake でできることが増えたら、 ABAC が必要になった
kaeton
0
130
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
0
190
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
6.6k
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
610
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
2.7k
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
610
Utilizing Notion as your number one productivity tool
mfonobong
4
630
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
590
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
ラッコキーワード サービス紹介資料
rakko
5
5.6M
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
460
Making Projects Easy
brettharned
120
6.8k
The Invisible Side of Design
smashingmag
301
52k
A better future with KSS
kneath
240
18k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
350
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
340
Transcript
ଈ࣌௨Λಋೖ͢Δࡍʹߟ͑Δ͖͜ͱ Aoi Okawa (@aomathwift)
•Aoi Okawa (@aomathwift) •Cookpad Inc. iOS Developer ࣗݾհ
ಥવͰ͕͢օ͞ΜΞϓϦͷ௨ͬͯݟͯ·͔͢ʁ
ࢲ΄ͱΜͲݟͯ·ͤΜ…
࠷ۙͷiOSͷ௨ࣄ
OSʹΑΔ௨੍ޚɿूதϞʔυ •׆ಈʹԠͯ͡ίϯςϯπΛ੍ޚ͢Δ •ҎԼͷΑ͏ͳΧελϜ͕Մೳ • ϗʔϜը໘ɾϩοΫը໘ͷݟ͑ํ • ௨ͷ৴ΛڐՄ͢ΔΞϓϦ
OSʹΑΔ௨੍ޚɿ௨ཁ •ಧ͍ͨ௨Λࢦఆͨ࣌ؒ͠ʹ·ͱΊͯ৴ •ཁʹؚΊΔΞϓϦϢʔβʔଆ͕ࢦఆ
௨͕ΑΓݟΒΕʹ͘͘ͳΔઃఆ͕૿͍͑ͯΔ
OSઃఆΛಥഁ͢Δखஈ •ଈ࣌௨ͱΑΕΔͷ •௨੍ޚͷͱͰଈ࣌৴Մೳ •ݶΒΕͨ࣌ؒʹ֬ೝ͖͢ใ ΛऔΓ࿙Β͞ͳ͍ͨΊͷػೳ
ଈ࣌௨ྫ
ଈ࣌௨࠷ߴศརʂʂ ಋೖͯ͠௨Λ͙͢ʹݟͯ΄͍͠ʂʂ
ͱࢥͬͯΔͦ͜ͷ͋ͳͨ
͜ͷτʔΫͷର •ଈ࣌௨Λ͜Ε͔Βಋೖ͍ͨ͠ͱࢥ͍ͬͯΔํ •طʹಋೖࡁΈͰΤϯδχΞҎ֎ͷϝϯόʔؚΉνʔϜͰ ӡ༻͍ͯ͠Δํ
ຊͷAgenda •ଈ࣌௨ͷ֓ཁ •࣮ྫʹଈͯ͠ߟ͑Δଈ࣌௨ͷ͍ॴ •ଈ࣌௨Λ࣮ࡍʹར༻ͯ͠Έͨॴײ •ӡ༻্͍ͯ͘͠ͰؾΛ͚ͭΔ͜ͱ
ΫοΫύουϚʔτͱ
ΫοΫύουϚʔτͱ •ੜ৯ωοτεʔύʔ •ΞϓϦͰจ •͖ͳ࣌ؒɾॴͰड͚औΓ
None
ଈ࣌௨ͱ
Interruption Level •௨ͷ৴λΠϛϯάͱॏཁੑΛܾΊΔࢦඪ •iOS 15ΑΓಋೖ •UNNotificationInterruptionLevel
Interruption Level •Passive •Active •TimeSensitive •Critical
Interruption Level •Passive •Active •TimeSensitive = ଈ࣌௨ •Critical
ଈ࣌௨ͷಛ •৴ޙ1࣌ؒϩοΫը໘ʹΔ •ଈ࣌௨Λड͚औΓଓ͚Δ͔Ͳ͏ ͔Λ͔֬ΊΔΞΫγϣϯ͕ଳ
ଈ࣌௨ͷ࣮ʢϩʔΧϧʣ import UserNotifications let content = UNMutableNotificationContent() content.title = "Reminder"
content.body = "Take medicine." content.interruptionLevel = .timeSensitive let trigger = UNCalendarNotificationTrigger( dateMatching: date, repeats: false ) let request = UNNotificationRequest( identifier: identifier, content: content, trigger: trigger )
ଈ࣌௨ͷ࣮ʢϦϞʔτʣ { "aps" : { "alert" : { "title" :
"Reminder", "body" : "Take medicine." }, "interruption-level" : "time-sensitive" } }
Apple͕ਪ͢Δ͍ํ •ݱࡏਐߦத·ͨ1࣌ؒҎʹൃੜ͢Δ༧ఆͷΠϕϯτʹ ؔ͢Δ௨ ग़యɿHuman Interface Guidelines / Managing Notifications
Apple͕ਪ͢Δ͍ํʢྫʣ •ग़લΞϓϦʹ͓͚Δૹ௨ •ΧϨϯμʔΞϓϦʹ͓͚Δ༧ఆͷ௨ ग़యɿSend communication and Time Sensitive notifications
࣮ྫʹଈͯ͠ߟ͑Δଈ࣌௨ͷ͍ॴ
Apple७ਖ਼ΞϓϦέʔγϣϯͰͷར༻ྫ
ΧϨϯμʔΞϓϦ •༧ఆ࡞࣌ʹ௨ΛΦϯʹઃఆ͢Δͱଈ࣌ ௨ͱͯ͠ಧ͘
୳͢ΞϓϦ •ܞߦ͕ϢʔβʔͷҐஔใͱେ͖͘Εͨ ͜ͱΛݕͨ͠ࡍʹ௨
ϦϚΠϯμʔΞϓϦ •௨τϦΨʔ࣌·ͨҐஔใΛͱ ʹࣗ༝ʹઃఆͰ͖Δ •ʮ࣮ߦࡁΈʯʹ͢Δ·ͰϩοΫը໘ʹΔ
݁ہͲ͏͍͏໘Ͱ͏͖ʁ
ଈ࣌௨Λ͏͖ॴ •ҐஔใͷมԽʹґଘ͢Δ௨ •εέδϡʔϧͷ௨
ଈ࣌௨Λ࣮ࡍʹಋೖͯ͠Έͯ
ΫοΫύουϚʔτͰͷಋೖࣄྫ ࣗૹ͚ͷ ͓ಧ͚௨ ड͚औΓΕ ֬ೝ௨ εςʔγϣϯ͚ͷ ͓ಧ͚௨
ಋೖཧ༝ •εςʔγϣϯͷडऔՄೳ࣌ؒΛ͗͢ΔͱɺΛड͚औ Εͳ͘ͳΔ •ࣗૹडऔ࣌ʹෆࡏͩͱɺ͕ճऩ͞ΕΔ → ݶΒΕͨ࣌ؒʹΞΫγϣϯ͠ͳ͍ͱෆརӹΛඃΔ
ϚʔτΞϓϦͰͲΕ͘Β͍ར༻͞Ε͍ͯΔ͔ શiOSΞΫςΟϒϢʔβʔʹର͢Δ ϓογϡ௨ڐՄϢʔβʔͷׂ߹ ϓογϡ௨ΛڐՄ 42% ϓογϡ௨ΛະڐՄ 58% ϓογϡ௨ڐՄϢʔβʔʹର͢Δ ଈ࣌௨༗ޮϢʔβʔͷׂ߹ ଈ࣌௨༗ޮ
69% ଈ࣌௨ແޮ 31%
ಋೖޙʹग़͖ͯͨ •௨ΛϥΠτʹଈ࣌௨ʹઃఆ͢Δ •ʮTime Sensitive͍ͬͯ͏ͷ͕͋Δ͔Βઃఆ͓ͯ͘͠ͱ͍ ͍ͷͰʁʯʮΑͦ͞͏ʯ
ಋೖޙʹग़͖ͯͨ •ॏཁͳ௨ʹଈ࣌௨ͱ͍͏ೝ͕ࣝਁಁͯͦ͠ͷج४Ͱ ͕ٞ͞ΕΔ •ʮ͜ͷ௨ؾ͔ͮͳ͍ͱ·͍͔ͣΒଈ࣌௨ʹ͍ͨ͠ʯ
ଈ࣌௨͕ెʹ૿͑ͯ͠·͏
ଈ࣌௨͕૿͑ΔͱͲ͏ͳΔ͔ ڧׂ͍ΓࠐΈ͕૿͑ΔͱϢʔβʔ͕ετϨεΛײ͡Δ → ଈ࣌௨Λແޮʹ͢Δ → ਅʹؾ͖ͮ͘େͳใʹؾ͚ͮͳ͘ͳΔ
νʔϜͰӡ༻͢Δ্ͰؾΛ͚ͭΔ͜ͱ
ଈ࣌௨ར༻نΛ࡞Δ •αʔϏε։ൃʹؔΘΔϝϯόʔ͕ҎԼΛཧղ͢ΔͨΊͷ υΩϡϝϯτ •ଈ࣌௨ͷ֓ཁͱར༻ϝϦοτ •ΫοΫύουϚʔτͰଈ࣌௨Λࢦఆ͢Δج४ •HIGΛಡΈ߹ΘͤͯiOSΤϯδχΞ͕ϝΠϯͰ࡞
ϓογϡ௨Λ৽ઃ͢Δϑϩʔ ΧςΰϦͷ ઃఆͱ௨ Ϧετͷهೖ λΠτϧɾຊจ ৴λΠϛϯά ͳͲ௨ίϯς ϯπͷઃܭ ଈ࣌௨ͷ ରԠͷݕ౼
ଈ࣌௨ ଈ࣌௨Ͱͳ͍ Ϣʔβʔ͕ओମͱͳΔऔҾʹ ؔΘΔ௨Ͱ͋Δ͔ ଈ࣌௨ ଈ࣌௨Ͱͳ͍ Ϣʔβʔ͕ࣗઃఆͨ͠༧ఆ ʹؔ͢Δ௨Ͱ͋Δ͔ NO YES
NO NO YES YES ৴ޙ࣌ؒҎʹϢʔβʔ ͕ߦಈΛى͜͢ඞཁ͕͋Δ͔
نಋೖޙͲ͏ͳ͔ͬͨ •ଈ࣌௨ʹ͍ͭͯಋೖʹݕ౼͕ཁΔͷͰ͋Δͱ͍͏Π ϯϓοτ͕ἧͬͨ •ࢪࡦʹΑͬͯଈ࣌௨ʹͳΓಘΔ௨૿͑ͳ͍ͱ͍ ͏அͰݕ౼ͷϑϩʔΛεΩοϓͰ͖ΔΑ͏ʹ
ݱঢ় •ར༻نͷཧɾΞοϓσʔτɾϑϩʔఆண·Ͱͷݟक ΓiOSΤϯδχΞͷͱ͍͏ཱ͚ͯ •࣮ࡍҰ෦ͷϝϯόʔ͕ΞϯςφΛுͬͯݟ͍ͯΔ
ࠓޙͲ͏ͳ͍ͬͯ͘ͱྑ͍͔ •iOSΤϯδχΞҎ֎ͷϝϯόʔݕ౼ϑϩʔʹҙࣝΛ࣋ͭ •௨ͷ৽نՃ͔Βଈ࣌௨ݕ౼·ͰͷϑϩʔͷࣗಈԽ • ྫɿPR্ͰϨϏϡʔ͕ͳ͍ͱՃͰ͖ͳ͍
·ͱΊʢଈ࣌௨ΛҰಋೖͨ͠Βʣ •ศརͰಋೖՕॴཁݕ౼ •αʔϏε։ൃʹؔΘΔશһͰڞ௨ΠϯϓοτΛ࣋ͯΔΑ ͏ʹ͢Δ
એ