6.3. クライアントからのPush送信方法 (.NET 編)¶
.NET SDK からのプッシュ送信方法を説明します.
6.3.1. Push送信方法¶
NbPush
オブジェクトを作成し、 sendPush
メソッドを呼ぶことで、プッシュを送信できます。
以下にコード例を示します。
この例では、下記のようなプッシュを送ります。
TerminalInfo
チャネルを購読中のインスタレーションを宛先とします。- 受信者を、営業グループ(
g:eigyo
)と、企画グループ(g:kikaku
)に限定します。 - メッセージとして、
"Low battery."
を送ります。
宛先を「インスタレーションを選択するためのクエリ」として作成するのがポイントです。 (クエリの詳細については、 オブジェクトのクエリ を参照して下さい)
var push = new NbPush();
// 宛先を作成する
var query = new NbQuery();
query.EqualTo("_channels", "TerminalInfo");
// 宛先をセットする
push.Query = query;
// 受信者をセットする
push.AllowedReceivers = new HashSet<string>{"g:eigyo", "g:kikaku"};
// メッセージをセットする
push.Message = "Low battery.";
// Pushを送信する
var result = await push.SendAsync();
// result には、宛先として選択されたインスタレーションの数が格納されている
6.3.2. オプションパラメータ設定方法¶
GCM, APNs, SSEの各プッシュテクノロジ特有の,オプションパラメータは下記のように設定して下さい.
GCMの場合¶
var gcm = new NbGcmFields();
gcm.Title = "title";
gcm.Uri = "http://www.nebula.test.com";
var push = new NbPush();
push.GcmFields = gcm;
APNsの場合¶
var apns = new NbApnsFields();
apns.Badge = 5;
apns.Sound = "sound.aiff";
apns.ContentAvailable = 1;
apns.Category = "information";
var push = new NbPush();
push.ApnsFields = apns;
SSEの場合¶
var sse = new SseFields();
sse.EventId = "event01";
sse.EventType = "message";
var push = new NbPush();
push.SseFields = sse;