예제 #1
0
        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);
                }
            });
        }
예제 #2
0
        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);
                }
            });
        }