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;