概述
這是 JPush REST API 的 C# 版本封裝開發包,是由極光推送官方提供的,一般支持最新的 API 功能。
對應的 REST API 文檔:http://docs.jpush.io/server/rest_api_v3_push/
環境配置
在 jpush-api-csharp-client 項目根目錄可以下載下面的兩個文件。
-
在項目引用中添加依賴包: Newtonsoft.Json.dll
-
在項目引用中添加: cn.jpush.api.dll
Push API v3
向某單個設備或者某設備列表推送一條通知或者消息
推送的載體:PushPayload
對應 REST API 中 Push API v3 的 json 格式說明文檔 http://docs.jpush.io/server/rest_api_v3_push/
-
推送的載體:類PushPayload
-
Platform 平台信息(必填)
-
Audience 推送目標(必填)
-
Notification 通知內容(可選)
-
Message 消息內容(可選)
-
Options 可選參數(可選)
推送樣例
進行推送的關鍵在於構建一個 PushPayload 對象。以下示例一般的構建對象的用法。
- 快捷地構建推送對象:所有平台,所有設備,內容為 ALERT 的通知。
public static PushPayload PushObject_All_All_Alert() { PushPayload pushPayload = new PushPayload(); pushPayload.platform = Platform.all(); pushPayload.audience = Audience.all(); pushPayload.notification = new Notification().setAlert(ALERT); return pushPayload; }
- 構建推送對象:所有平台,推送目標是別名為 "alias1",通知內容為 ALERT。
public static PushPayload PushObject_all_alias_alert() { PushPayload pushPayload_alias = new PushPayload(); pushPayload_alias.platform = Platform.android(); pushPayload_alias.audience = Audience.s_alias("alias1"); pushPayload_alias.notification = new Notification().setAlert(ALERT); return pushPayload_alias; }
- 構建推送對象:平台是 Android,目標是 tag 為 "tag1" 的設備,內容是 Android 通知 ALERT,並且標題為 TITLE。
public static PushPayload PushObject_Android_Tag_AlertWithTitle() { PushPayload pushPayload = new PushPayload(); pushPayload.platform = Platform.android(); pushPayload.audience = Audience.s_tag("tag1"); pushPayload.notification = Notification.android(ALERT,TITLE); return pushPayload; }
- 構建推送對象:平台是 iOS,推送目標是 "tag1", "tag_all" 的並集,推送內容同時包括通知與消息 - 通知信息是 ALERT,角標數字為 5,通知聲音為 "happy",並且附加字段 from = "JPush";消息內容是 MSG_CONTENT。通知是 APNs 推送通道的,消息是 JPush 應用內消息通道的。APNs 的推送環境是“生產”(如果不顯式設置的話,Library 會默認指定為開發)
public static PushPayload PushObject_ios_tagAnd_alertWithExtrasAndMessage() { PushPayload pushPayload = new PushPayload(); pushPayload.platform = Platform.android_ios(); pushPayload.audience = Audience.s_tag_and("tag1", "tag_all"); var notification = new Notification(); notification.IosNotification = new IosNotification().setAlert(ALERT) .setBadge(5) .setSound("happy") .AddExtra("from","JPush"; pushPayload.notification = notification; pushPayload.message = Message.content(MSG_CONTENT); return pushPayload; }
-
C# SDK 下載地址:https://github.com/jpush/jpush-api-csharp-client