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
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
Search
greendrop
December 14, 2024
Technology
0
100
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
greendrop
December 14, 2024
Tweet
Share
More Decks by greendrop
See All by greendrop
知っててうれしい SQL について
greendrop
0
73
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
0
86
知っててうれしいリレーショナルデータベースについて
greendrop
0
80
知っててうれしい HTTP について
greendrop
0
110
知っててうれしい HTTP キャッシュについて
greendrop
0
100
知っててうれしい HTTP Cookie について
greendrop
0
100
知っててうれしいデータベースについて
greendrop
0
100
Other Decks in Technology
See All in Technology
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
3
390
2024年にチャレンジしたことを振り返るぞ
mitchan
0
160
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
23
6.6k
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
200
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
170
生成AIのガバナンスの全体像と現実解
fnifni
1
240
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
760
PHPerのための計算量入門/Complexity101 for PHPer
hanhan1978
6
1.3k
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
210
Opcodeを読んでいたら何故かphp-srcを読んでいた話
murashotaro
0
350
UI State設計とテスト方針
rmakiyama
4
910
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
260
Featured
See All Featured
Scaling GitHub
holman
459
140k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Practical Orchestrator
shlominoach
186
10k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Automating Front-end Workflow
addyosmani
1366
200k
Building Adaptive Systems
keathley
38
2.3k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Done Done
chrislema
182
16k
Adopting Sorbet at Scale
ufuk
74
9.1k
Transcript
スマホアプリエンジニアでない方へ向けた スマホアプリ開発に関連するトピック 2024/12/14 貞元勝幸 1
はじめに スマホアプリエンジニアでない方に向けて、スマホアプリ開発に関連 するトピックを紹介します。 iOS や Android のアプリ開発を実装しない方でも、スマホアプリにつ いての基本的な知識を理解できるようになることを目指します。 2
目次 スマホ・スマホアプリの状態 スマホアプリの画面遷移 スマホの通知 URL によるスマホアプリ起動 スマホアプリの審査 まとめ 3
スマホ・スマホアプリの状態 スマホアプリは、スマホなどの状態に応じて動作が異なることもあり ます。 そのため、スマホの状態について理解しておくことが重要です。 スマホ・スマホアプリの状態 4
スマホの状態 OS 状態 OS / バージョン 電源状態 オン / オフ
/ スリープ バッテリー状態 使用中 / 充電中 / 充電完了 / 低電力モード / バッテリー切れ 通信状態 Wi-Fi 接続 / モバイルデータ通信 / 機内モード / オフライン ストレージ状態 ストレージ容量 / 空き容量あり / 空き容量なし スマホ・スマホアプリの状態 - スマホの状態 5
スマホアプリの状態 インストール状態 未インストール / インストール済 実行状態 実行中( フォアグラウンド) / バックグラウンド実行
/ 停止(Kill) 更新状態 最新版 / アップデート可能 / アップデート不可 権限状態 必要な権限を付与 / 一部の権限を拒否 / すべての権限を拒否 データ状態 データが同期中 / データが非同期 / データが破損 エラー状態 クラッシュ / フリーズ / エラーメッセージが表示 スマホ・スマホアプリの状態 - スマホアプリの状態 6
スマホアプリの画面遷移 スマホアプリで次の画面へ遷移したり、前の画面に戻るような内容は スタックのような状態で管理されています。 画面遷移の仕組みを理解しておくことで、アプリの動作を理解しやす くなります。 スマホアプリの画面遷移 7
スマホアプリの画面遷移 操作 スタック状態 画面 A を表示 画面 A から画面 B
に遷移 スマホアプリの画面遷移 8
スマホアプリの画面遷移 操作 スタック状態 画面 A から画面 B に遷移し、 画面 C
に遷移 画面 A から画面 B に遷移し、 画面 C に遷移した後、1 つ戻る スマホアプリの画面遷移 9
スマホアプリの画面遷移 操作 スタック状態 画面 A から画面 B に遷移し、 画面 C
に遷移した後、 前画面に戻らない状態の画面 D に遷移 スマホアプリの画面遷移 10
スマホの通知 スマホアプリでは、通知を利用してユーザーに情報を伝えることがで きます。 通知は、アプリがバックグラウンドで動作している場合でも、ユーザ ーに情報を伝えることができます。 スマホの通知 11
通知方法 ローカル通知 スマホアプリ自体で即時または決められた時間に通知を表示できる 決められた時間に通知する場合、その設定でメッセージも指定する ため、柔軟にメッセージを変更はできない オフラインでも通知を表示できる サーバーが不要 スマホの通知 - 通知方法
- ローカル通知 12
通知方法 プッシュ通知 サーバーから通知内容を受け取り、通知を表示できる サーバーから通知内容を送信するため、柔軟にメッセージ・タイミ ングを変更できる iOS: Apple Push Notification service
(APNs) 、Android: Firebase Cloud Messaging (FCM) で送信する FCM 経由で APNs へ送信することも可能 通知を表示する「通知メッセージ」とデータのみの「データメッセ ージ」に分かれる 通知 - 通知方法 - プッシュ通知 13
通知メッセージ バックグラウンド実行・停止(Kill ) 受け取った通知内容をもとに通知が表示される フォアグラウンド 自動で通知は表示されない スマホアプリで通知を受け取ったことを検知し、ローカル通知に より通知を表示できる 通知 -
通知方法 - プッシュ通知 - 通知メッセージ 14
データメッセージ データを受け取り、スマホアプリにて処理を行うことができる FCM 経由で APNs に送信した場合、サイレントプッシュ通知として 扱われる 実行可能時間は 30 秒
ユーザーによって明示的に停止(Kill )されていなければ実行可 能 通知 - 通知方法 - プッシュ通知 - データメッセージ 15
URL によるスマホアプリ起動 Web サイトやメール文章のリンクからスマホアプリを起動できます。 スマホアプリを起動するための URL スキームや Universal Links につ
いて理解しておくことで、スマホアプリの利便性を向上させることが できます。 URL によるスマホアプリ起動 16
Custom URL Scheme myapp::// のようにスマホアプリ独自の URL スキームが設定できる その URL スキームを指定したリンクを作成しそれをクリックする
と、そのスマホアプリが起動する スマホにアプリがインストールされていない場合、何も動作しない 自由に設定できるため、乗っ取り攻撃のセキュリティーリスクがあ る URL によるスマホアプリ起動 - Custom URL Scheme 17
Universal Links (iOS) https://myapp.example.com のような特定の URL でスマホアプリが 起動できる https://myapp.example.com/.well-known/apple-app-site-association に設定を記載したファイルを配置しなければならない
URL によるスマホアプリ起動 - Universal Links (iOS) 18
App Links (Android) https://myapp.example.com のような特定の URL でスマホアプリが 起動できる https://myapp.example.com/.well-known/assetlinks.json に設定を記
載したファイルを配置しなければならない URL によるスマホアプリ起動 - App Links (Android) 19
サードパーティのサービス サードパーティのサービスを利用することで、スマホアプリ起動の URL が用意できます。 また、スマホアプリがインストールされていない場合は App Store, Play Store を開くことができます。
Firebase Dynamic Links (2025/08/25 サービス終了) Adjust AppsFlyer Branch Kochava URL によるスマホアプリ起動 - サードパーティのサービス 20
URL によるスマホアプリ起動時に特定の画面に遷移 URL にパスやパラメータを付与することで、スマホアプリ起動時に特 定の画面に遷移できます。 スマホアプリの起動時に特定の画面に遷移することで、ユーザーにと って使いやすいアプリになります。 このように遷移させる場合、スマホアプリ側で URL のパスやパラメー
タを解析し、遷移先の画面を表示する処理を実装する必要がありま す。 URL によるスマホアプリ起動 - URL によるスマホアプリ起動時に特定の画面に遷移 21
スマホアプリの審査 App Store (iOS), Play Store (Android) にスマホアプリを公開する場 合、審査が必要です。 審査を通過するためには、各ストアのガイドラインに従い、アプリの
品質を高めることが重要です。 審査には時間がかかることもあるため、公開予定日の数日前に提出す ることが望ましいです。 また、審査で問題があった場合は、修正して再提出できます。 スマホアプリの審査 22
審査期間 App Store (iOS) 1 〜2 日程度 以下のような場合、審査期間が長引くこともある 初回提出 大きなアップデート
審査項目への違反 審査の混雑 スマホアプリの審査 - 審査期間 App Store (iOS) 23
審査期間 Play Store (Android) 1 〜2 日程度 以下のような場合、審査期間が長引くこともある アプリの複雑さ 審査状況
スマホアプリの審査 - 審査期間 Play Store (Android) 24
まとめ スマホの状態とスマホアプリの状態は、アプリの動作に影響を与え る スマホアプリの画面遷移は、スタックのような状態で管理されてい る 通知は、ローカル通知とプッシュ通知がある URL によるスマホアプリ起動は、Custom URL Scheme,
Universal Links, App Links などがある スマホアプリの審査は、App Store (iOS), Play Store (Android) で公 開する際に必要 まとめ 25
ご清聴ありがとうございました。 26