【Parse】Push通知をAndroidアプリに簡単に組み込む方法
こんにちは
bowyer-appです。
AndroidアプリでPush通知を送りたいと思ったらGCMを実装して、サーバーを用意していろいろやることが多いですね。
個人でアプリを開発していると、そこまで手が回らないと思います。
そんな煩わしい作業を解決してくれるのがParseです。
今回は、そのParseを使って、カスタマイズ可能なPush通知を実装する方法を紹介します。
まず、Parseとは?
個人のスマホアプリ開発者がParseを使うべき15の理由
こちらの記事に詳しく書かれています。
Push通知の実装に必要なメリットだけピックアップすると
・ スケールするまで無料
https://parse.com/plans
・ サーバーを用意する必要がない
です。
無料で使えて、サーバーの用意も必要ないので、個人開発者にはとても優しいです。
どんなPush通知が送れるのか?
・ セグメント配信
・ 通知文言のA/Bテスト
・ 予約配信
・ カスタムjsonの送信
予約配信とカスタムjsonはとても魅力的です。
カスタムjsonには自分のアプリに必要なmodelを組み込んでおけば、push通知受信時にいろいろできます。
予約配信とカスタムjsonを扱えるライブラリを作りました
そのままParseを組み込むだけでも十分使えるのですが、カスタムjsonの準備や予約配信がめんどくさいなと感じたのでライブラリにしました。
https://github.com/bowyer-app/ParseSendClient
githubからcloneしてもらえればすぐ動くようになっています。
こちらのデモでは
・ 通知タイトル
・ 通知メッセージ
・ 通知音を強制的に鳴らすか
・ 通知受信時に開くurl
・ 予約配信
を指定してpush通知を送信できます。
プロジェクト構成
・ demo
これが受信用のクライアントアプリです。ここを見るだけでParseのPush通知の実装は可能です。
カスタムjsonを受け取るようにしています。
・ senddemo
push通知送信用のクライアントアプリです。入力した任意の文字列をカスタムjsonにして送信することができます。
また、予約配信も可能です。
・ parsesendclient
ParseのREST APIを使ってpush通知を送れるようにしたライブラリです。
使い方
カスタムjsonとして扱いたいObjectの用意
共通のmodelを受信側と送信側で用意します。
このObjectがカスタムjsonとして機能します。
ParsePushModel
String title; // pushのタイトル
String message; // pushのメッセージ
String url; // push受信時に開くurl
boolean forceSound; // push受信時に強制的に通知音を鳴らす
送信したいmodelを準備
ParsePushModel model = ParsePushModel.to().setTitle(pushTitle).setMessage(
pushMessage).setUrl(pushUrl).setForceSound(forceSound);
channelを指定
String[] channel = new String[1];
channel[0] = "demo";
pushの送信
pushの即時送信
即時にpushを送信できます。
PushSendLogic.sendPush(model, channel, new PushSendLogic.PushSendCallBack() {
@Override
public void onSuccess() {
}
@Override
public void onFailure(String message) {
}
});
pushの予約配信
pushを送信する時間帯を指定できます。Calenderクラスに送信したい日時を指定してください。
Calendar calendar = Calendar.getInstance();
//set push date
calendar.set(year, monthOfYear, dayOfMonth);
//set push time
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
//call sendSchedulingPush
PushSendLogic.sendSchedulingPush(model, calendar, channel,
new PushSendLogic.PushSendCallBack() {
@Override
public void onSuccess() {
}
@Override
public void onFailure(String message) {
}
});
最後に
共通のmodelは何を入れてもらっても大丈夫なので、自由にカスタマイズしたObjectを送信することが出来ます。
独自でカスタムした予約pushの仕組みを実装したい時はぜひ参考にしてみてください。
https://github.com/bowyer-app/ParseSendClient
気にっていただけたらStarお願いします。
Author And Source
この問題について(【Parse】Push通知をAndroidアプリに簡単に組み込む方法), 我々は、より多くの情報をここで見つけました https://qiita.com/bowyer-app/items/f29860cc0277ba4745e1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .