private void ExecSendMessage(KiiPushMessage message, KiiHttpClientFactory factory, KiiPushMessageCallback callback) { if (callback == null) { throw new ArgumentNullException("KiiPushMessageCallback must not be null"); } if (message == null) { callback(message, new ArgumentNullException("KiiPushMessage must not be null")); return; } Utils.CheckInitialize(false); KiiHttpClient client = factory.Create(MessageUrl, Kii.AppId, Kii.AppKey, KiiHttpMethod.POST); KiiCloudEngine.SetAuthBearer(client); client.ContentType = "application/vnd.kii.SendPushMessageRequest+json"; client.SendRequest(message.ToJson().ToString(), (ApiResponse response, Exception e) => { callback(message, e); }); }
/// <summary> /// Asynchronous call of <see cref='SendMessage(KiiPushMessage)'/> /// </summary> /// <remarks></remarks> /// <param name="message">Message to send.</param> /// <param name="callback">Callback.</param> /// <exception cref='ArgumentNullException'> /// Is thrown when an argument is null. /// </exception> /// <exception cref='CloudException'> /// Is thrown when server sends error response. /// </exception> public void SendMessage(KiiPushMessage message, KiiPushMessageCallback callback) { this.ExecSendMessage(message, Kii.AsyncHttpClientFactory, callback); }