関連サイト
本書の関連ページが用意されています。
内容紹介
iPhoneアプリおよびAndroidアプリの、「通知機能」に焦点を絞った解説書。通知機能とは、ユーザに効果的に情報を伝えたり、アプリの情報を配信する機能のことで、これを適切に活用することにより、アプリのユーザビリティを高めたり、ユーザにアプリを継続利用してもらうきっかけを作ることができます。本書は、具体的にどのような通知手段があるのか、アプリでどのように活用されているのか、どうやって実装するのか、といった点をサンプルを用いて詳細に解説していきます。
「Chapter1 通知機能の概要(Android、iOS)」では、通知機能の概要をまとめます。通知機能には大きく、デバイスからユーザに通知するユーザ通知と、サーバからデバイスに通知するデバイス通知の2種類があります。ユーザ通知の例が「ダイアログ(Android)」や「アラート(iOS)」など、デバイス通知の例が「GCM(Android)」や「Push Notification(iOS)」などとなります。それぞれに特徴があり、使い分ける必要があります。
「Chapter2 ユーザ通知(Android)」では、トースト、ダイアログ、ノティフィケーション、音声読み上げ、といったAndroidの通知機能について、解説していきます。
「Chapter3 デバイス通知(Android)」では、疑似Push、Google Cloud Messaging(GCM)、WebSocketを取り上げます。
「Chapter4 Local Notification(iOS)」では、iOSのローカル通知機能について解説します。まず基本的な実装を紹介し、その後、GPSと連動したサンプルアプリを制作します。
「Chapter5 Push Notification(iOS)」では、iOSのプッシュ通知機能について解説します。Push Notificationを利用するのに必要な各証明書の申請、取得方法をまず紹介した後、具体的なアプリの制作を解説していきます。
「Chapter6 APPENDIX」では、Androidのサーバ環境の構築や、GCMを利用するための手続き、Android Studioの解説、iOS開発のトラブルシューティングなど、知っておくと便利な内容を集めました。
これらの機能だけではアプリは制作できませんが、アプリの機能向上や、ユーザビリティの向上に、アプリからユーザへの通知は欠かせません。
本書は、Android/iOS向けの簡単なアプリケーションの開発経験がある人を対象にして、通知機能の実装について深掘りして解説しました。
「本書が皆様のアプリケーションの魅力を高めるヒントになれば、著者一同この上ない喜びです。」(著者「まえがき」より)
書誌情報
- 著者: 神原健一, 高橋和秀, 山田暁通
- 発行日: 2013-12-07 (紙書籍版発行日: 2013-12-07)
- 最終更新日: 2013-12-07
- バージョン: 1.0.0
- ページ数: 257ページ(PDF版換算)
- 対応フォーマット: PDF
- 出版社: マイナビ出版
対象読者
著者について
神原健一
NTTソフトウェア株式会社Androidテクニカルプロフェッショナル。 新しい技術が大好きで、Androidは正式版が出る前から触り始め、プライベートで開発した「セカイフォン」など20本以上のAndroidアプリをGoogle Playで公開。iplatform.orgにて技術情報を発信中。その他、Android関連で国内外のカンファレンスでの講演や、執筆などの活動も実施。 現在はAndroidだけでなくその他のモバイルOSにも興味を持ち、公私にわたってモバイルアプリ開発の世界に没頭している。
高橋和秀
1963年宮城県生まれ。1980年よりフリーランス・プログラマーとして活動、MZ-80向けソフト開発会社ソフトウエアハウスDISを主宰。その後サザンパシフィック、日本フォトグラフィックス、インターチャネル・ホロンなどで多くのソフトウェア開発プロジェクトに参加。ゲーム、ビジネスソフト開発、レーザーディスクとパーソナルコンピュータの融合プロジェクト、日立Hシリーズ(汎用大型コンピュータ)を使ったオンラインプロジェクト、MS‐DOS/Windows用Cコンパイラの開発、MS‐DOS/Windows用データベース言語(コンパイラ/インタープリタ)の開発、PC‐9801用Ethernetインターフェイスのハードウエア/ソフトウエアの開発、C言語の国際標準化に関するワーキンググループへの参加等々多様なプロジェクトに参加。その後、井土ヶ谷の某歯医者さんに紹介されたLinuxに没頭し、PPCチップ(Mac等)むけのLinuxディストリビューション、Power Linuxを独力でリリース、HOLON Linuxなどの開発に従事。齢50を過ぎた現在もiPhone、Android向けスマートフォン向けアプリケーションの開発を現役でこなしつつ、後進の育成に励んでいる。
山田暁通
根っからのゲーム脳で、ゲームを開発するためにプログラミングを始める。その後、紆余曲折を経てAndroidと出会う。 株式会社ドワンゴ・株式会社豆蔵などを経て、現在はフリーランスのソフトウェアエンジニア。福岡市在住。 著書に『Google Androidプログラミング入門』(共著・アスキーメディアワークス)など。 最近は、日本Androidの会福岡支部などで活動しており、公私共にAndroidを書く機会が増えている。 他にScala・Play Framework・AndEngineなどに興味を持つ一方、R言語やpandasなどにも心が動いている。
目次
Chapter1 通知機能の概要(Android、iOS)
- 01-01 ユーザ通知とデバイス通知(Android・iOS共通)
- 01-02 Androidにおける通知
- 01-02-01 ユーザ通知とデバイス通知
- 01-02-02 通知機能の使いわけ
- 01-03 iOSにおける通知機能
- 01-03-01 ユーザ通知とアラート通知
- 01-03-02 アラートを表示する
- 01-03-03 アラートサウンドを再生する
- 01-03-04 ホーム画面のアイコンにバッジを表示する
- 01-03-05 iOSでのデバイス通知機能
- 01-04 Local NotificationとPush Notificationの概要
- 01-04-01 通知のスタイル
- 01-04-02 Local Notification
- 01-04-03 Push Notification(プッシュ通知)
Chapter2 ユーザ通知(Android)
- 02-01 ユーザ通知の概要
- 02-01-01 ユーザ通知の手段
- 02-02 トースト(Toast)
- 02-02-01 トーストの概要
- 02-02-02 基本的なサンプル
- 02-02-03 応用編
- 02-03 ダイアログ(Dialog)
- 02-03-01 ダイアログの概要
- 02-03-02 基本的なサンプル
- 02-03-03 ダイアログに表示するボタン数の追加
- 02-03-04 ダイアログでのリスト項目表示
- 02-04 ノティフィケーション(Notification)
- 02-04-01 ノティフィケーションの概要
- 02-04-02 標準ビューのサンプル
- 02-04-03 ノティフィケーションへの拡張ビュースタイル適用
- 02-04-04 ノティフィケーションリスナーサービスの利用(Android 4.3)
- 02-05 音声読み上げ(TextToSpeech)
- 02-05-01 音声読み上げの概要
- 02-05-02 サンプルの作成
- 02-05-03 利用するTextToSpeechエンジンの指定
Chapter3 デバイス通知(Android)
- 03-01 デバイス通知の概要
- 03-01-01 デバイス通知とは
- 03-02 疑似Push
- 03-02-01 疑似Pushの概要
- 03-02-02 サンプルの作成
- 03-02-03 補足
- 03-03 GCM(Google Cloud Messaging)
- 03-03-01 GCMの概要
- 03-03-02 サンプルの作成
- 03-03-03 補足
- 03-04 WebSocket
- 03-04-01 WebSocketの概要
- 03-04-02 WebSocket実装例(Java SE編)
- 03-04-03 WebSocket実装例
Chapter4 Local Notification(iOS)
- 04-01 基本的な実装
- 04-01-01 プロジェクトの開始
- 04-01-02 AppDelegateの実装 (AppDelegate.m)
- 04-01-03 ViewControllerの実装 (ViewController.m)
- 04-01-04 ユーザインターフェイスの実装 (Main.storyboard)
- 04-01-05 アプリケーションのテスト
- 04-02 サンプルアプリケーションの制作
- 04-02-01 アプリケーションがバックグラウンドで動作できるようにする
- 04-02-02 Xcodeプロジェクトの作成
- 04-02-03 AppDelegateの実装
- 04-02-04 ViewControllerの実装
- 04-02-05 インターフェースビルダー(Main.storyboard)の実装
Chapter5 Push Notification(iOS)
- 05-01 Push Notificationの利用準備
- 05-01-01 利用するために必要となる証明書やID
- 05-01-02 「証明書要求ファイル」(CSR)の生成
- 05-01-03 デベロッパー証明書、ディストリビューション証明書の申請
- 05-01-04 「プロダクション証明書」の申請
- 05-01-05 「App ID」の申請
- 05-01-06 デバイスIDの登録
- 05-01-07 「プロビジョニングプロファイル」の申請
- 05-01-08 「Push Notification用のSSL証明書」の申請
- 05-01-09 証明書のキーチェーンへの登録とp12ファイルへの書き出し
- 05-01-10 「Push Notification用SSLl証明書」の.pemフォーマットへの変換
- 05-01-11 「root CA証明書」のダウンロード
- 05-02 基本的な実装
- 05-02-01 概要
- 05-02-02 プロジェクトの開始
- 05-02-03 AppDelegateの実装 (AppDelegate.m)
- 05-02-04 ユーザインターフェイスの実装 (Main.storyboard)
- 05-02-05 プロバイダのサンプルアプリケーション
- 05-03 サンプルアプリケーションの制作
- 05-03-01 概要
- 05-03-02 プロバイダ側のソースコード
- 05-03-03 MySQLのテーブル
- 05-03-04 アプリケーションのソースコード
- 05-03-05 プロバイダ側の実装
- 05-03-06 アプリケーションの実行
Chapter6 APPENDIX
- 06-01 サーバ環境構築(Android)
- 06-01-01 概要
- 06-01-02 Mavenのインストール(Windowsのみ)
- 06-01-03 m2eのインストール
- 06-01-04 Mavenプロジェクトの作成
- 06-01-05 pomファイルの編集
- 06-01-06 Jettyの実行
- 06-02 GCMの利用準備(Android)
- 06-02-01 Google APIs Consoleへの登録
- 06-02-02 ヘルパーライブラリの入手とインポート
- 06-03 Android Studio(Android)
- 06-03-01 Android Studioの概要
- 06-03-02 Android Studioの環境構築
- 06-03-03 Android Studioを用いたアプリケーション開発
- 06-03-04 Android Studioからの各種ツールの起動
- 06-03-05 Android Studioの便利なショートカート
- 6-4 トラブルシューティング(iOS)
- 06-04-01 概要
- 06-04-02 アプリケーション
- 06-04-03 プロビジョニングプロファイル
- 06-04-04 プロバイダ、Push通知用SSL証明書
- 06-04-05 一度に数多くの接続を行なったために接続がブロックされている場合
- 06-04-06 ドキュメント化されていない情報
- 06-04-07 ファイアウォールの問題
- 06-04-08 公開鍵の有効期限の確認に使えるシェルスクリプト