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
岸本 亮太
November 13, 2025
Technology
190
0
Share
24時間止まらないFlutterアプリの作り方
岸本 亮太
November 13, 2025
More Decks by 岸本 亮太
See All by 岸本 亮太
GitHub Codespacesで実現するブラウザ上でのFlutter開発
ryotakishimoto
0
360
Other Decks in Technology
See All in Technology
ファインディの事業拡大を支える 拡張可能なデータ基盤へのリアーキテクチャ
hiracky16
0
690
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
0
2.2k
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
0
140
「SaaSの次の時代」に重要性を増すステークホルダーマネジメントの要諦 ~解像度を圧倒的に高めPdMの価値を最大化させる方法~
kakehashi
PRO
3
3.4k
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
1
240
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
4
6.2k
音声言語モデル手法に関する発表の紹介
kzinmr
0
150
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
210
小説執筆のハーネスエンジニアリング
yoshitetsu
0
890
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
160
AndroidアプリとCopilot Studioの統合
nakasho
0
190
生成AIが変える SaaS の競争原理と弁護士ドットコムのプロダクト戦略
bengo4com
1
3.1k
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
340
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
330
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.9k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
160
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Building Applications with DynamoDB
mza
96
7k
Why Our Code Smells
bkeepers
PRO
340
58k
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アプリの作り方