private static void RegisterWithNotificationService(Action <Exception> callback) { String groupString = null; if (Groups != null) { groupString = JsonConvert.SerializeObject(Groups); } Dictionary <string, object> postParameters = new Dictionary <string, object>(); postParameters.Add(NetmeraConstants.Netmera_Push_Registration_Id, Channel.ChannelUri.ToString()); postParameters.Add(NetmeraConstants.Netmera_Push_Channel, NetmeraConstants.Netmera_Push_Type_Wp); postParameters.Add(NetmeraConstants.Netmera_Push_Apikey, NetmeraClient.securityToken); postParameters.Add(NetmeraConstants.Netmera_Push_Device_Groups, groupString); if (Device_Location != null) { postParameters.Add(NetmeraConstants.Netmera_Push_Latitude_Params, Device_Location.getLatitude()); postParameters.Add(NetmeraConstants.Netmera_Push_Longitude_Params, Device_Location.getLongitude()); } String url = NetmeraConstants.Netmera_Domain_Url + NetmeraConstants.Netmera_Push_Server_Url + NetmeraConstants.Netmera_Push_Register; NetmeraHttpUtils.registerUnregisterPush(url, postParameters, ex => { if (ex != null) { unregister(Channel_Name, null); if (callback != null) { callback(new NetmeraException(NetmeraException.ErrorCode.EC_PUSH_DEVICE_NOT_REGISTERED, "Registration failed.")); } } else if (callback != null) { callback(ex); } }); }
private static void UnregisterFromNotificationService(Action <Exception> callback) { String channelUri = Channel.ChannelUri.ToString(); String groupString = null; if (Groups != null) { groupString = JsonConvert.SerializeObject(Groups); } if (Groups == null || Groups.Count == 0) { Channel.Close(); } Dictionary <string, object> postParameters = new Dictionary <string, object>(); postParameters.Add(NetmeraConstants.Netmera_Push_Registration_Id, channelUri); postParameters.Add(NetmeraConstants.Netmera_Push_Channel, NetmeraConstants.Netmera_Push_Type_Wp); postParameters.Add(NetmeraConstants.Netmera_Push_Apikey, NetmeraClient.securityToken); postParameters.Add(NetmeraConstants.Netmera_Push_Device_Groups, groupString); String url = NetmeraConstants.Netmera_Domain_Url + NetmeraConstants.Netmera_Push_Server_Url + NetmeraConstants.Netmera_Push_Unregister; NetmeraHttpUtils.registerUnregisterPush(url, postParameters, ex => { if (ex != null) { if (callback != null) { callback(new NetmeraException(NetmeraException.ErrorCode.EC_PUSH_DEVICE_NOT_REGISTERED, "Unregister failed.")); } } else if (callback != null) { callback(ex); } }); }