private async Task <Push> InternalSendPushAsync(BasePush parameters, PushTarget target, string identifier) { switch (target) { case PushTarget.Device: parameters.DeviceIndentifier = identifier; break; case PushTarget.Email: parameters.Email = identifier; break; case PushTarget.Channel: parameters.ChannelTag = identifier; break; case PushTarget.Client: parameters.ClientIdentifier = identifier; break; } var pushModel = await RequestClient.SendAsync <PushModel>("/v2/pushes", HttpMethod.Post, parameters) .ConfigureAwait(false); return(new Push(pushModel, RequestClient)); }
public PushRequestParameter(T _pushType, PushTarget _target, string _targetValue) { PushTarget = _target; PushTargetValue = _targetValue; PushType = _pushType; }
/// <summary> /// 向用户推送一条消息 /// </summary> /// <param name="appid">平台表示ID</param> /// <param name="user_id">用户ID</param> /// <param name="title">标题</param> /// <param name="content">内容</param> public static void SendPush(string appid, string target, string title, string content, PushTarget pushTarget = PushTarget.User) { Audience audience = null; if (pushTarget == PushTarget.User) { audience = Audience.s_alias(new string[] { target.ToString() }); } else { audience = Audience.s_tag(new string[] { target.ToString() }); } #region 构造安卓消息模板 AndroidNotification androidNotification = new AndroidNotification(); androidNotification.setTitle(title); #endregion #region 构造IOS消息模板 IosNotification iosNotification = new IosNotification(); iosNotification.setBadge(1); #endregion PushPayload pushPayload = new PushPayload() { platform = GetPlaform(0), audience = audience }; var notification = new Notification().setAlert(content); notification.AndroidNotification = androidNotification; notification.IosNotification = iosNotification; pushPayload.notification = notification.Check(); //pushPayload.message = Message.content(content); SendPush(appid, pushPayload); }
internal Task <Push> PushFileAsync(FilePushParameters parameters, PushTarget target, string identifier) { parameters.Type = "file"; return(InternalSendPushAsync(parameters, target, identifier)); }
internal Task <Push> PushLinkAsync(LinkPushParameters parameters, PushTarget target, string identifier) { parameters.Type = "link"; return(InternalSendPushAsync(parameters, target, identifier)); }