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
24時間止まらないFlutterアプリの作り方
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
岸本 亮太
November 13, 2025
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
24時間止まらないFlutterアプリの作り方
岸本 亮太
November 13, 2025
More Decks by 岸本 亮太
See All by 岸本 亮太
GitHub Codespacesで実現するブラウザ上でのFlutter開発
ryotakishimoto
0
430
Other Decks in Technology
See All in Technology
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
300
きのこカンファレンス2026_肩書きを外したとき私は誰か
yamasatimi
1
130
#エンジニアBooks 30分でわかる 「技術記事を書く技術」 / engineer-books 2026-06-30
jnchito
1
180
5分でわかるDuckDB Quack
chanyou0311
4
310
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
180
From Prompt Engineering to Loop Engineering
shibuiwilliam
1
330
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
370
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
0
140
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
220
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
2
290
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
140
LiDAR SLAMの実装とセンサ融合 ~Lie群からContinuous-Time LIOまで~
naokiakai
1
940
Featured
See All Featured
Crafting Experiences
bethany
1
200
AI: The stuff that nobody shows you
jnunemaker
PRO
8
760
For a Future-Friendly Web
brad_frost
183
10k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
320
Git: the NoSQL Database
bkeepers
PRO
432
67k
Writing Fast Ruby
sferik
630
63k
Chasing Engaging Ingredients in Design
codingconduct
0
230
The SEO Collaboration Effect
kristinabergwall1
1
500
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Accessibility Awareness
sabderemane
1
150
Transcript
24時間止まらないFlutterアプリの 作り方 Flutterアプリでキオスクモード実装
自己紹介 名前: きしもと 所属: サイバーエージェント 好きなもの: 猫、ゲーム、ボードゲーム
24時間止まらないとは?
24時間止まらないとは? 今回は 端末上で24時間同じアプリを表示し続ける = キオスクモード の話をします
どんな場面で使われるか? ・ 店舗の注文端末 ・ 受付システム ・ 工場の管理端末 ・ デジタルサイネージ
どんな機能が必要? 基本的な制御 ・ 一つのアプリだけを使わせる ・ 他の画面に移動させない ・ 通知を表示しない より高度な制御 ・
ハードウェアボタンの無効化 ・ 画面の常時点灯
どんな機能が必要? iOS・Android それぞれで 簡易的な実装方法 と本格的な実装方法 を紹介します
iOS - 簡易的な実装方法 アクセスガイド( Guided Access) ・ 特定のアプリに画面を固定 ・ 通知センター・コントロールセンターを無効化
・ 画面の自動ロック無効化も可能
アクセスガイド - 設定 事前に端末設定が必要 1. 設定アプリ → アクセシビリティ → アクセスガイド
2. アクセスガイドをONにする ・ 解除時のFace ID設定 ・ 画面の自動ロックを無効化(アクセスガイド起動中)
使い方 電源ボタン 3回押しで起動 1. 固定したいアプリを開く 2. 電源ボタンを3回押す 3. 「開始」をタップ 4.
画面が固定される 解除も電源ボタン3回押し → パスコード/Face ID
iOS - 本格的な実装方法 監視モード (Supervised Mode) + シングルアプリモード (Single App
Mode) 端末を企業管理下に置き、特定アプリに固定する仕組み ・ 監視モード:端末を企業が完全管理 ・ シングルアプリモード:特定アプリのみ起動
監視モードの設定方法 方法1: 設定済み企業管理アカウントで初期設定時にログイン 方法2: Apple Configuratorで設定 その後、(自律的)シングルアプリモードを設定したプロファイルをインストール
kiosk_modeパッケージの活用 監視モード + シングルアプリモードなら自動制御が可能 アクセスガイドと違い、シングルアプリモードの切り替えをコードから制御できる
Android - 簡易的な実装方法 アプリ固定( Screen Pinning) ・ 特定のアプリに画面を固定 ・ システムUIへのアクセスを遮断
・ 「戻る+タスクボタン」長押しで解除(パスコード設定可)
アプリ固定の設定 事前設定 1. 設定 → セキュリティ → アプリ固定をON 2. 解除時に画面ロックを確認をON(推奨)
使い方 1. 固定したいアプリを開く 2. タスクボタンでタスク一覧を表示 3. アプリの「固定」をタップ 解除は「戻る+タスクボタン」長押し後、パスコード認証
kiosk_modeパッケージでの実装 iOSと同じコードで実装可能 アプリ固定の切り替えをコードから制御できる
Android - 本格的な実装方法 デバイス所有者モード (Device Owner) + ロックタスクモード (Lock task
mode) 端末を専用機として完全管理するモード ・ デバイス所有者モード:端末のシステムレベルでの完全な制御 ・ ロックタスクモード:特定アプリのみ起動
デバイス所有者モードを使うための準備 2つの設定が必要 1. アプリ側:Native実装の追加 2. 端末側:デバイス所有者モードの有効化
kiosk_modeパッケージでの実装 ロックタスクモードの切り替えをコードから制御できる
24時間止まらないアプリの運用で重要なこと ・ アプリの自動更新 ・ 監視・ログ収集 ・ 万が一のための仕組み
アプリの自動更新 デバイス所有者モードを用いたアプリは一般公開に向かないため独自の更新手段が必要 android_package_installerパッケージを使用 通常のアプリ: ・ インストール時にユーザーの手動承認が必要 デバイス所有者モードがあれば: ・ 承認なしで自動インストール ・
アプリストアのような自動更新を実現
監視・ログ収集 ・ アプリのクラッシュ検知 ・ 定期的なヘルスチェック ・ 詳細なログ収集・分析 Firebase Crashlyticsなどの活用を推奨
万が一のための仕組み 遠隔でアプリを再起動できるようにしておく Firebase Messaging + restart_appパッケージで実装 プッシュ通知で遠隔から復旧可能
まとめ 簡易的な実装 ・ iOS: アクセスガイド ・ Android: アプリ固定 本格的な実装 ・
iOS: 監視モード + シングルアプリモード ・ Android: デバイス所有者モード + ロックタスクモード kiosk_modeパッケージが便利
ご清聴ありがとうございました 24時間止まらない Flutterアプリの作り方