6.4. クライアントからのPush送信方法 (JavaScript 編)¶
JavaScript からのプッシュ送信方法を説明します.
6.4.1. Push送信方法¶
Nebula.PushSender
クラスのオブジェクトを作成し, send
メソッドを呼ぶことで,プッシュを送信できます。
以下にコード例を示します.
この例では,下記のようなプッシュを送ります.
TerminalInfo
チャネルを購読中のインスタレーションを宛先とします.- 受信者を,営業グループ(
g:eigyo
)と,企画グループ(g:kikaku
)に限定します. - メッセージとして,
"Low battery."
を送ります.
宛先を「インスタレーションを選択するためのクエリ条件(Clause)」として作成するのがポイントです. (クエリの詳細については, オブジェクトのクエリ を参照して下さい)
var push = new Nebula.PushSender();
// 宛先をセットする
push.clause = Nebula.Clause.equals("_channels", "TerminalInfo");
// 受信者をセットする
push.allowedReceivers = ["g:eigyo", "g:kikaku"];
// メッセージをセットする
push.message = "Low battery.";
// Push を送信する
push.send()
.then(function(numInstallations) {
// 成功時の処理
})
.fail(function(error) {
// 失敗時の処理
});
6.4.2. オプションパラメータ設定方法¶
GCM, APNs, SSEの各プッシュテクノロジ特有の,オプションパラメータは下記のように設定して下さい.
GCMの場合¶
// GCM
var gcm = new Nebula.PushSender.GcmFields();
gcm.title = "title";
gcm.uri = "http://www.nebula.test.com";
var push = new Nebula.PushSender();
push.gcmFields = gcm;
APNsの場合¶
// APNs
var apns = new Nebula.PushSender.ApnsFields();
apns.badge = 5;
apns.sound = "sound.aiff";
apns.contentAvailable = 1;
apns.category = "Information";
var push = new Nebula.PushSender();
push.apnsFields = apns;
SSEの場合¶
// SSE
var sse = new Nebula.PushSender.SseFields();
sse.eventId = "event01";
sse.eventType = "message";
var push = new Nebula.PushSender();
push.sseFields = sse;