public override void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - DidReceiveScriptMessage");

            try {
                NSDictionary body = message.Body as NSDictionary;

                string requestUrl = null;
                string query = null;

                string serviceName = "undefined";
                string methodName = "undefined";
                Object service = null;

                if (body.ContainsKey (new NSString ("uri"))) {
                    requestUrl = (body ["uri"]).ToString ();

                    // get service path
                    if (requestUrl != null) {
                        if (requestUrl.StartsWith (IPhoneServiceLocator.APPVERSE_SERVICE_URI)) {
                            string commandParams = requestUrl.Substring (IPhoneServiceLocator.APPVERSE_SERVICE_URI.Length);
                            //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - commandParams: " + commandParams);
                            string[] commandParamsArray = commandParams.Split (new char[] { '/' });
                            serviceName = commandParamsArray [0];
                            methodName = commandParamsArray [1];
                            //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - serviceName: " + serviceName);
                            //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - methodName: " + methodName);
                            service = serviceLocator.GetService (serviceName);
                        }
                    }

                }

                if (body.ContainsKey (new NSString ("query"))) {
                    query = (body ["query"]).ToString ();
                    //SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - query: " + query);
                }

                SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - sending Async POST result for service: " + serviceName + ", and method: " + methodName);

                serviceURIHandler.ProcessAsyncPOSTResult (serviceInvocationManager, service, methodName, query);

            } catch (Exception ex) {
                SystemLogger.Log (SystemLogger.Module.PLATFORM, "# IPhoneWKScriptMessageHandler - exception handling WKScriptMessage. Exception message: " + ex.Message);
            }
        }
Esempio n. 2
0
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     Element.InvokeAction(message.Body.ToString());
 }
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     if (message.Name == "UserId")
     {
         Console.WriteLine("用户id" + message.Body);
         string alias = message.Body.ToString().Replace("-", "").ToLower();
         if (string.IsNullOrWhiteSpace(alias))
         {
             JPUSHService.DeleteAlias((arg0, arg1, arg2) => { }, 1);
         }
         else
         {
             JPUSHService.SetAlias(alias, (arg0, arg1, arg2) => {
             }, 1);
         }
     }
 }
        /// <summary>
        /// Received a script message from the web page
        /// </summary>
        /// <param name="userContentController"></param>
        /// <param name="message"></param>
        public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            if (Element == null)
            {
                return;
            }

            Element.MessageReceived(message.Body.ToString());
        }
        public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            var parsed    = getParsedJSON(message.Body);
            var callback  = parsed.ObjectForKey(new NSString("callback")) as NSString;
            var urlscheme = parsed.ObjectForKey(new NSString("urlscheme")) as NSString;

            var success    = UIApplication.SharedApplication.OpenUrl(NSUrl.FromString(urlscheme));
            var successStr = success.ToString().ToLower(); // "Bool" to "bool"
            var js         = new NSString($"{callback}({successStr}, \"{urlscheme}\")");

            _webView?.EvaluateJavaScript(js, null);
        }
Esempio n. 6
0
 /// <summary>
 /// Invoked when a script message is received from a webpage.
 /// </summary>
 /// <param name="userContentController">The user content controller invoking the delegate method.</param>
 /// <param name="message">The script message received.</param>
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     this.OnWebMessageReceived?.Invoke(this, (NSString)message.Body);
 }
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     System.Console.WriteLine("======================================== DidReceiveScriptMessage");
     Element.InvokeAction(message.Body.ToString());
 }
Esempio n. 8
0
        public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            var name   = message.Name;
            var result = message.Body.ToString();

            switch (name)
            {
            case OnLoadCompleteMethod:
                System.Diagnostics.Debug.WriteLine("OnLoadComplete", "BingMap");
                Element.OnLoadComplete(result);
                break;

            case PinClickMethod:

                Pin pin = null;

                try
                {
                    pin = Element.DeserializeObject <Pin>(result);
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.StackTrace, "BingMap");
                }

                if (pin != null)
                {
                    var pinfound = Element.Pins.FirstOrDefault(p => p.GetHashCode() == pin.HashCode);
                    if (pinfound != null)
                    {
                        System.Diagnostics.Debug.WriteLine("PinClick", "BingMap");
                        pinfound.OnClick();
                    }
                }
                break;

            default:
                break;
            }
        }
Esempio n. 9
0
        public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            if (message is null)
            {
                throw new ArgumentNullException(nameof(message));
            }

            Element.HandleWebMessageReceived(((NSString)message.Body).ToString());
        }
Esempio n. 10
0
        public override void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            if (message.Name == "sendToApp")
            {
                var arguments = message.Body;
                System.Diagnostics.Debug.WriteLine("Contenuto arrivato " + arguments);

                var model = CustomWebviewHelper.JsonToModelIOS(arguments.ToString());
                if (model.message.RequestAction == "stopLoading")
                {
                    FatherVC.ShowLoader(IsVisible: false, timeout: 10);
                }
            }
            else if (message.Name == "onHtmlLoadCompleted")
            {
                FatherVC.PageHasBeenLoaded();
            }
        }
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     //No-op
 }
Esempio n. 12
0
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     string[] _ubicacion = Element.ubicacion();
     if (_ubicacion != null)
     {
         Control.EvaluateJavaScript("returnLocation(" + _ubicacion[0] + "," + _ubicacion[1] + ")", completionHandler: HandleWKJavascriptEvaluationResult);
     }
 }
        public override void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            string response = message.Body.ToString();

            _controller.OnSamlResponseReceived(response);
        }
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     Element.InvokeEvent(WebViewEventType.JavascriptCallback, new JavascriptResponseDelegate(Element, message.Body.ToString()));
 }
Esempio n. 15
0
        public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            var body  = message.Body.ToString();
            var index = body.IndexOf(",");

            if (index == -1)
            {
                return;
            }
            var key  = body.Substring(0, index);
            var data = body.Substring(index + 1, body.Length - index - 1);

            ((HybridWebView)Element).InvokeAction(key, data);
        }
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     if (message is null)
     {
         throw new ArgumentNullException(nameof(message));
     }
     _messageReceivedAction(new Uri(AppOrigin), ((NSString)message.Body).ToString());
 }
Esempio n. 17
0
 public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
 {
     if (message.Name == "invokePayAction")
     {
         Element.InvokeCallbackAction(message.Body.ToString());
     }
     if (message.Name == "invokeCloseAction")
     {
         Element.InvokeCloseAction();
     }
 }
        public void DidReceiveScriptMessage(WKUserContentController userContentController, WKScriptMessage message)
        {
            var rawMessage = message.Body.ToString();
            var jsonObject = JObject.Parse(rawMessage);

            var action = jsonObject.SelectToken("action").ToString();

            switch (action)
            {
            case "onInitializeComplete":
                Element.OnInitializeComplete(new EventArgs());
                break;

            case "onSaveState":
                Element.OnSaveEditorState(new HybridWebView.SaveEditorStateEventArgs()
                {
                    State = jsonObject.SelectToken("content").ToString()
                });
                break;

            case "onGetContents":
                var content = JObject.Parse(jsonObject.SelectToken("content").ToString());

                Element.OnGetContents(new HybridWebView.GetContentsEventArgs()
                {
                    Title   = content.SelectToken("title").ToString(),
                    Content = content.SelectToken("content").ToString(),
                    Action  = content.SelectToken("action").ToString()
                });
                break;

            case "onShowImageDetails":
                var showImageContent = JObject.Parse(jsonObject.SelectToken("content").ToString());
                Element.OnShowImageSettings(new HybridWebView.ShowImageSettingsEventArgs()
                {
                    ImageSource = showImageContent.SelectToken("imageSrc").ToString(),
                    ImageWidth  = showImageContent.SelectToken("imageWidth").ToString(),
                    ImageHeight = showImageContent.SelectToken("imageHeight").ToString(),
                    Title       = showImageContent.SelectToken("imageLegend").ToString(),
                    Legend      = showImageContent.SelectToken("imageTitle").ToString(),
                    Alt         = showImageContent.SelectToken("imageAlt").ToString(),
                    Alignment   = showImageContent.SelectToken("alignment").ToString()
                });
                break;
            }
        }