Skip to content

nagetsum/PushNotificationDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PushNotificationDemo

AeroGear SimplePushサーバと連携するデモアプリケーション。
SimplePushサーバからのPush通知を契機にメッセージをAPサーバから取得し、デスクトップ通知を表示します。

構成

overview

APサーバ

  • GlassFish4を使用。
  • SimplePushサーバに通知を依頼するのが役割。

SimplePushサーバ

  • AeroGear SimplePushを使用。デフォルトでポート7777でサービスを提供する独立したサーバ。
  • 事前に通知対象のクライアントを登録し、APサーバからの依頼に応じて通知を行うのが役割。

クライアント

  • デスクトップ通知を表示するためにwebkitNotificationsを使用しているため、Google Chromeを使用してください。

セットアップ方法

1. GlassFish4のインストール

GlassFish4はここからダウンロードできます。インストールは非常にシンプルで、任意のディレクトリにunzipして展開するだけです。

unzip glassfish-4.0.zip

2. アプリケーションのビルド

Apache Mavenを使ってビルドし、WARを生成します。

git clone https://github.com/n-agetsu/PushNotificationDemo.git PushNotificationDemo
cd PushNotificationDemo
mvn package

argetディレクトリ配下にPushNotificationDemo.warが生成されたらビルドは完了です。

3. AeroGear SimplePushのインストールを起動

AeroGear SimplePushサーバはGitHubでコードが公開されています。以下の手順で取得してビルドしてください。ビルドにはApache Mavenが必要なので、事前にインストールしてください。

git cllone https://github.com/aerogear/aerogear-simplepush-server.git aerogear-simplepush-server
cd aerogear-simplepush-server
mvn install -DskipTests=true

AeroGear SimplePushサーバはノンブロッキングIOを実現するサーバを元に動作しており、NettyベースとVERT.xベースの2つの実装があります。デモではNettyベースのものを使用します。以下のコマンドで起動します。

cd server-netty
mvn exec:java -Dexec.args="-host=localhost -port=7777 -tls=false -ack_interval=10000 -useragent_reaper_timeout=60000 -token_key=yourRandomToken"

上記の設定ではバインド先のアドレスをlocalhostとしているため、同じマシンからしかSimplePushサーバにアクセスできません。複数の端末からアクセスさせたい場合は、-hostの設定を自端末のIPアドレスに変更してください。なんとこれだけで、SimplePushサーバのセットアップは終わりです。

4. GlassFishの起動とアプリケーションのインストール

GlassFishの管理コンソール http://localhost:4848 にアクセスしてアプリケーションをデプロイします。その前に、先ほどインストールしたGlassFishを起動してください。

cd glassfish4/bin
./asadmin start-domain

起動後に http://localhost:4848 にアクセスすると、しばらくして以下の画面が表示されます。

console

画面中央付近の『Deploy an Application』を選択して、先ほどビルドしたPushNotificationDemo.warをデプロイしてください。

5. アプリケーションへのアクセス

Google Chromeからhttp://localhost:8080/PushNotificationDemo/にアクセスして以下のような画面が表示されたら、SimplePushサーバは正常に起動し、アプリケーションも正常にデプロイされています。

index

次にhttp://localhost:8080/PushNotificationDemo/message.htmlアクセスして、プッシュ通知を契機に取得させたメッセージを入力します。

message

以下のように、Dukeからメッセージが表示されたらデモは成功です。

notification

前述したように、SimplePushサーバのバインドIPアドレス(-host)を設定することで、複数人に対してメッセージ通知することもできます。是非遊んでみてください。

About

AeroGear SimplePushサーバと連携するデモアプリ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published