6.2. クライアントからのPush送信方法 (Pure Java / Android編)¶
ここでは,Pure Java および Androidアプリケーションからのプッシュ送信方法を説明します.
6.2.1. Push送信方法¶
NbPush
オブジェクトを作成し, sendPush
メソッドを呼ぶことで,プッシュを送信できます。
以下にコード例を示します.
この例では,下記のようなプッシュを送ります.
TerminalInfo
チャネルを購読中のインスタレーションを宛先とします.- 受信者を,営業グループ(
g:eigyo
)と,企画グループ(g:kikaku
)に限定します. - メッセージとして,
"Low battery."
を送ります.
宛先を「インスタレーションを選択するためのクエリ」として作成するのがポイントです. (クエリの詳細については, オブジェクトのクエリ を参照して下さい)
NbPush push = new NbPush();
// 宛先を作成する
NbClause clause = new NbClause();
clause.equals("_channels", "TerminalInfo");
// 宛先をセットする
push.setClause(clause);
// 受信者一覧を作成する
Set<String> allowedReceivers = new HashSet<>();
allowedReceivers.add("g:eigyo");
allowedReceivers.add("g:kikaku");
// 受信者をセットする
push.setAllowedReceivers(allowedReceivers);
// メッセージをセットする
push.setMessage("Low battery.");
// Pushを送信する
push.sendPush(new NbPushCallback() {
@Override
public void onSuccess(NbJSONObject result) {
// result には,宛先として選択されたインスタレーションの数が格納されている
...
}
@Override
public void onFailure(int statusCode, NbErrorInfo errorInfo) {
...
}
});
6.2.2. オプションパラメータ設定方法¶
GCM, APNs, SSEの各プッシュテクノロジ特有の,オプションパラメータは下記のように設定して下さい.
GCMの場合¶
NbGCMFields gcm = new NbGcmFields()
.setTitle("title")
.setUri("http://www.nebula.test.com/");
NbPush push = new NbPush();
push.setGCMFields(gcm);
APNsの場合¶
NbAPNsFields apns = new NbAPNsFields()
.setBadge(5)
.setSound("sound.aiff")
.setContentAvailable(1)
.setCategory("information");
NbPush push = new NbPush();
push.setAPNsFields(apns);
SSEの場合¶
NbSseFields sse = new NbSseFields()
.setEventId("event01")
.setEventType("message");
NbPush push = new NbPush();
push.setSseFields(sse);