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
180
スマホアプリエンジニアでない方へ向けた、スマホアプリ開発に関連するトピック
greendrop
December 14, 2024
Tweet
Share
More Decks by greendrop
See All by greendrop
GitHub Actions の設定を少しよくする
greendrop
0
23
リンクからモバイルアプリを起動する技術
greendrop
0
10
知っててうれしい SQL について
greendrop
0
240
知っててうれしい HTTP Cookie を使ったセッション管理について
greendrop
1
240
知っててうれしいリレーショナルデータベースについて
greendrop
0
200
知っててうれしい HTTP について
greendrop
0
260
知っててうれしい HTTP キャッシュについて
greendrop
0
260
知っててうれしい HTTP Cookie について
greendrop
0
240
知っててうれしいデータベースについて
greendrop
0
240
Other Decks in Technology
See All in Technology
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
220
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
390
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
290
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.7k
Android Audio: Beyond Winning On It
atsushieno
0
110
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
390
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
240
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
220
ハードウェアとソフトウェアをつなぐ全てを内製している企業の E2E テストの作り方 / How to create E2E tests for a company that builds everything connecting hardware and software in-house
bitkey
PRO
1
120
AI開発ツールCreateがAnythingになったよ
tendasato
0
120
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
460
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
KATA
mclloyd
32
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
How to Ace a Technical Interview
jacobian
279
23k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Agile that works and the tools we love
rasmusluckow
330
21k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
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