Files
lserp_cs_6.0/插件库/Lskj.Push/JPushApi.cs
T
cyf ab56a9bcf7 基线 SVN r240
SVN-Revision: r240
2025-02-06 06:46:06 +00:00

596 lines
27 KiB
C#

using Lskj.Push.Push.Mode;
using Lskj.Push.Push.Notification;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lskj.Push
{
/// <summary>
/// JPush Api 常用方法,特殊的单独参考文档(http://docs.jpush.io/server/csharp_sdk/)
/// </summary>
public class JPushApi
{
#region Android相关API
/// <summary>
/// 发送所有人(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <returns></returns>
public static PushPayload PushObject_Android_All_Content(string content)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.all();
pushPayload.notification = new Notification().setAlert(content);
return pushPayload;
}
/// <summary>
/// 发送所有人(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_All_Content(string content, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.all();
pushPayload.notification = new Notification().setAlert(content);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送所有人(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <returns></returns>
public static PushPayload PushObject_Android_All_TitleWithContent(string title,string content)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.all();
pushPayload.notification = Notification.android(content, title);
return pushPayload;
}
/// <summary>
/// 发送所有人(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_All_TitleWithContent(string title, string content, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.all();
pushPayload.notification = Notification.android(content, title);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送消息
/// </summary>
/// <param name="content">发送内容(必填,不能为空)</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Message(string content, string alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.message = Message.content(content);
foreach (var item in extras)
{
pushPayload.message.AddExtras(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_Content(string content, string alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = new Notification().setAlert(content);
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="alias">指定多个终端,现为操作员ID</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_Content(string content, string[] alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = new Notification().setAlert(content);
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="alias">终端HashSet</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_Content(string content, HashSet<string> alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = new Notification().setAlert(content);
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="alias">指定多个终端,现为操作员ID</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_Content(string content, string alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = new Notification().setAlert(content);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="alias">指定多个终端,现为操作员ID</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_Content(string content, string[] alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = new Notification().setAlert(content);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="alias">终端HashSet</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_Content(string content, HashSet<string> alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = new Notification().setAlert(content);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_TitleWithContent(string title, string content, string alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = Notification.android(content, title);
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_TitleWithContent(string title, string content, string[] alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = Notification.android(content, title);
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_TitleWithContent(string title, string content, HashSet<string> alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = Notification.android(content, title);
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_TitleWithContent(string title, string content, string alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = Notification.android(content, title);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_TitleWithContent(string title, string content, string[] alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = Notification.android(content, title);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定终端(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_TitleWithContent(string title, string content, HashSet<string> alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = Notification.android(content, title);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送消息
/// </summary>
/// <param name="content">发送内容(必填,不能为空)</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Alias_Message(string content, Dictionary<string, object> extras, params string[] alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.message = Message.content(content);
foreach (var item in extras)
{
pushPayload.message.AddExtras(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_Title(string content, string tags)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = new Notification().setAlert(content);
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_Title(string content, string[] tags)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = new Notification().setAlert(content);
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_Title(string content, HashSet<string> tags)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = new Notification().setAlert(content);
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_Title(string content, string tags, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = new Notification().setAlert(content);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_Title(string content, string[] tags, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = new Notification().setAlert(content);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_Title(string content, HashSet<string> tags, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = new Notification().setAlert(content);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_TileWithContent(string title, string content, string tags)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = Notification.android(content, title);
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签数组</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_TileWithContent(string title, string content, string[] tags)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = Notification.android(content, title);
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签集合</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_TileWithContent(string title, string content, HashSet<string> tags)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = Notification.android(content, title);
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_TileWithContent(string title, string content, string tags, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = Notification.android(content, title);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签数组</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_TileWithContent(string title, string content, string[] tags, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = Notification.android(content, title);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送指定群组(Android终端)
/// </summary>
/// <param name="title">发送标题</param>
/// <param name="content">发送内容</param>
/// <param name="tags">群组标签集合</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_TileWithContent(string title, string content, HashSet<string> tags, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(tags);
pushPayload.notification = Notification.android(content, title);
foreach (var item in extras)
{
pushPayload.notification.AndroidNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送消息
/// </summary>
/// <param name="content">发送内容(必填,不能为空)</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <param name="alias">指定终端,现为操作员ID</param>
/// <returns></returns>
public static PushPayload PushObject_Android_Tags_Message(string content, Dictionary<string, object> extras, params string[] alias)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android();
pushPayload.audience = Audience.s_tag(alias);
pushPayload.message = Message.content(content);
foreach (var item in extras)
{
pushPayload.message.AddExtras(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 设置标签别名
/// </summary>
/// <returns></returns>
public static Audience PushObject_Android_SetAlias(string[] alias) {
return Audience.s_alias(alias);
}
/// <summary>
/// 设置标签
/// </summary>
/// <param name="tag"></param>
/// <returns></returns>
public static Audience PushObject_Android_SetTag(string[] tag) {
return Audience.s_tag(tag);
}
#endregion
#region Ios 推送相关
public static PushPayload PushObject_Ios_Alias_TitleWithContent(string title, string content, string alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.android_ios();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.notification = Notification.ios(content);
foreach (var item in extras)
{
pushPayload.notification.IosNotification.AddExtra(item.Key, item.Value);
}
return pushPayload;
}
/// <summary>
/// 发送消息
/// </summary>
/// <param name="content">发送内容(必填,不能为空)</param>
/// <param name="extras">附加信息(object:只支持基本类型)</param>
/// <returns></returns>
public static PushPayload PushObject_Ios_Message(string content, string alias, Dictionary<string, object> extras)
{
PushPayload pushPayload = new PushPayload();
pushPayload.platform = Platform.ios();
pushPayload.audience = Audience.s_alias(alias);
pushPayload.message = Message.content(content);
foreach (var item in extras)
{
pushPayload.message.AddExtras(item.Key, item.Value);
}
return pushPayload;
}
#endregion
}
}