private ApiCallResult ProcessGoogleGcmNotification(GoogleGcmApiNotificationPayLoad payLoad) { var result = new PushNotificationApiCallResult(false, "Notificaiton failed.", payLoad.DeviceUuid, payLoad.Message); var isRequestValid = _SecurityService.ValidateRequestKey(payLoad.AuthenticationKey); if (!isRequestValid) { result.Message = "Invalid Authentication Key"; } else if (_GoogleGcmService.Send(payLoad)) { result.IsSuccessful = _GoogleGcmService.Result.IsSuccessful; result.Message = _GoogleGcmService.Result.Message; } return(result); }
public bool Send(GoogleGcmApiNotificationPayLoad payLoad) { HookEvents(PushBroker); try { PushBroker.RegisterService <GcmNotification>(new GcmPushService(new GcmPushChannelSettings(_Settings.GoogleApiAccessKey))); var notification = new GcmNotification() .ForDeviceRegistrationId(payLoad.Token) .WithJson(payLoad.GetGoogleFormattedJson()); PushBroker.QueueNotification(notification); } finally { StopBroker(); } return(true); }
public ApiCallResult GoogleGcm(GoogleGcmApiNotificationPayLoad payLoad) { return(ProcessGoogleGcmNotification(payLoad)); }