МЕТОД И УСТРОЙСТВО ЗАПУСКА ВНЕШНЕГО ПРИЛОЖЕНИЯ В БРАУЗЕРЕ
METHOD AND DEVICE FOR STARTING EXTERNAL APPLICATION IN BROWSER

ОБЛАСТЬ ТЕХНИЧЕСКОГО ПРИМЕНЕНИЯ
[01] Настоящее изобретение относится к области технического применения в  сфере мобильных систем, а именно к методу и устройству запуска внешнего приложения в браузере.
УРОВЕНЬ ТЕХНИКИ
[02] Браузер на платформе Android в момент взаимодействия между пользователем и страницей HTML (язык гипертекстовой разметки), открытой в таком браузере, зачастую нуждается в запуске внешнего программного приложения в определенных интерактивных зонах (например, щелчок по определенной HTML-метке HTML-страницы) для осуществления дальнейшего взаимодействия между внешним приложением и пользователем (например, пользователь вводит № банковского счета и пароль для осуществления платежа). Внешнее программное приложение упоминается в отношении программ самого браузера, внешнее программное приложение подразумевает любые приложения, исключая программы браузера, которые могут взаимодействовать с браузером, например программа осуществления банковских онлайн-платежей.
[03] Метод запуска внешнего программного приложения в браузере на платформе Android (Фиг. 1), существовавший ранее, в основном включал:
[04] Модификацию реализации HTML в браузере; добавление некоторых  реализаций, не применимых с HTML, в код реализации браузера (например, модификация или добавление определения и реализации HTML метки для запуска внешнего программного приложения после щелчка по HTML метке); в случае с реализациями, несовместимыми с HTML, браузер вызывает интерфейс API (интерфейс программирования приложений), обеспечиваемый  системой Android  и применяемый для внешнего запуска приложений.
[05] Указанный метод обладает некоторыми недостатками: нарушена реализация стандарта HTML в браузере, и добавлены реализации, несовместимые с HTML, что неудобно для дальнейшего расширения. Браузер необходимо модифицировать каждый раз, когда он поддерживает еще одно внешнее приложение, потому что, когда браузер вызывает API интерфейс Android для запуска внешнего приложения, информация внешнего приложения (например, имя пакета внешнего приложения) необходима для реализации в браузере.
КРАТКОЕ ОПИСАНИЕ
[06] Характеристики и преимущества представленного изобретения будут проиллюстрированы в ходе описания изобретения, станут более очевидны из следующего детального описания, а также в ходе применения такого изобретения.
[07] Для устранения недостатков, возникавших в предыдущих изобретениях, настоящее изобретение представляет метод и устройство для запуска внешнего программного приложения в браузере, поддерживающем запуск внешнего приложения, в случае когда стандарт HTML браузера не поврежден и браузер не требует модернизации.
[08] Для решения вышеуказанных технических проблем раскрывается техническая схема настоящего изобретения.
[09] В соответствии с аспектом настоящего изобретения, представлен метод запуска внешнего программного приложения в браузере, который включает в себя:
добавление стандартной HTML метки, представляющей плагин в веб-страницу браузера;
добавление модуля внешнего программного приложения, соответствующего метке во внешнем приложении;
после щелчка по метке браузер передает такое событие модулю внешнего программного приложения, добавленного в само приложение, путем вызова соответствующего интерфейса, далее модуль плагина внешнего программного приложения вызывает API-интерфейс, предоставленный  операционной системой и использующийся для запуска приложении в системе, чтобы запустить внешнее программное приложение.
[010] В соответствии с вариантом осуществления настоящего изобретения, метка является встроенной или объектной, связанной с внешним программным приложением, за счет установки значения атрибута типа встроенной или объектной метки.
[011] В соответствии с вариантом осуществления настоящего изобретения модуль плагина внешнего приложения, например соответствующего программного интерфейса подключаемых модулей Netscape, добавляется во внешнее программное приложение. Браузер передает событие щелчка по плагину в модуль внешнего программного приложения путем вызова программного интерфейса подключаемых модулей Netscape на стороне внешнего приложения.
[012] В соответствии с вариантом осуществления настоящего изобретения, представлена операционная система Android.
[013] В соответствии с вариантом осуществления настоящего изобретения, внешнее приложение является мобильной программой проведения платежей. После получения события клика, переданного браузером, модуль внешнего приложения мобильной программы платежей вызывает интерфейс Context.startActivity( ) операционной системы Android  для запуска мобильного платежного приложения.
[014] В соответствии с другим вариантом осуществления настоящего изобретения, представлено  устройство для запуска внешнего программного приложения в браузере, которое включает:
⎯ модуль браузера с возможностью добавлять стандартную HTML метку, представляющую плагин в веб-станице браузера;
⎯ модуль внешнего программного приложения с возможностью добавлять модуль плагина внешнего программного приложения, соответствующий метке во внешнем программном приложении;
⎯ модуль операционной системы с возможностью предоставления программного интерфейса, используемого для запуска программного приложения, где после получения события клика мыши по метке, модуль браузера передает такое событие в модуль плагина программного приложения, добавленный в модуль внешнего программного приложения, путем вызова интерфейса внешнего приложения. Модуль плагина внешнего приложения вызывает программный интерфейс, который предоставляется модулем операционной системы и используется для запуска внешнего приложения.
[015] В соответствии с вариантом осуществления настоящего изобретения, метка, добавленная модулем браузера, является встроенной или объектной. Она связана с внешним приложением путем установки значения атрибута типа встроенной или объектной метки.
[016] В соответствии с вариантом осуществления настоящего изобретения, модуль внешнего приложения добавляет модуль плагина внешнего приложения в соответствии с программным интерфейсом подключаемых модулей Netscape во внешнее приложение. Модуль внешнего приложения включает модуль плагина внешнего приложения с программным интерфейсом подключаемых модулей Netscape и функциональный модуль, который представляет интерфейс и  функциональность для внешнего приложения. Модуль браузера включает модель реализации интерфейса плагина с  программным интерфейсом подключаемых модулей Netscape. Модуль браузера передает событие клика на модуль плагина внешнего приложения путем вызова программного интерфейса подключаемых модулей Netscape на стороне модуля внешнего приложения. Модуль плагина внешнего приложения вызывает API-интерфейс, который представлен модулем операционной системы и используется для запуска приложения и функционального модуля внешнего программного приложения.
[017] В соответствии с вариантом осуществления настоящего изобретения, модуль операционной системы применяет ОС Android.
[018] В соответствии с вариантом осуществления настоящего изобретения модуль внешнего приложения является модулем мобильной платежной программы. После получения события клика, переданного модулем браузера, модуль плагина внешнего приложения  модуля мобильной платежной программы запускает Android ОС интерфейс Context.startActivity( ) для запуска работы модуля мобильной платежной программы.
[019] В качестве усовершенствования предыдущего уровня техники настоящее изобретение раскрывает универсальный метод запуска внешнего приложения в браузере, что представляет собой удобство расширения в случае, когда HTML стандарт браузера не поврежден, а метод реализации настоящего изобретения совместим с HTML стандартом и поддерживает запуск внешнего приложения в случае, когда браузер не требует модернизации.
[020] Внедряя варианты осуществления настоящего изобретения, разработчики внешних приложений не нуждаются в каких-либо модификациях браузера для реализации запуска внешнего приложения в браузере. Разработчикам необходимо: 1. Добавить стандартную HTML метку (как встроенную или объектную метку и их значение типа атрибута) при составлении HTML веб-страницы; 2. Добавить плагин для браузера во внешнее приложение, например, соответствующий NPAPI (NPAPI - аббревиатура программного интерфейса подключаемых модулей Netscape, который является стандартом плагина для браузера, представляя серию универсальных интерфейсов, применяемых для реализации плагинов), то есть добавить интерфейс NPAPI в файлы библиотеки динамических связей (DLL) внешнего приложения.
[021] Добавляя один плагин для браузера (например, плагин, который реализует NPAPI) и вызывая API-интерфейс, предоставленный ОС и используемый для запуска приложений  во время события обработки плагина браузера, пользователь может запустить внешнее приложение путем клика по метке или плагину на веб-странице браузера в случае, если HTML стандарт браузера не поврежден, а сам браузер не нуждается в модификации.
[022] Функции и содержание технических схем будут более очевидны  и понятны  специалисту в данной области из описания настоящего изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[023] Преимущества и реализации настоящего изобретения будут более очевидны из следующего детального описания со ссылкой на чертежи вместе с примерами. Изображения на чертежах приведены только в целях иллюстрации, не ограничивая каким-либо образом настоящее изобретение, в котором:
[024] Фиг.1 – схематический вид метода запуска внешнего приложения в браузере на платформе Android в соответствии с предыдущим уровнем техники;
[025] Фиг.2 – технологическая схема метода запуска внешнего приложения в браузере в соответствии с вариантом осуществления настоящего изобретения;
[026] Фиг.3 – схематичное структурное представление устройства для запуска внешнего приложения в браузере в соответствии с вариантом осуществления настоящего изобретения;
[027] Фиг.4 – схематичное структурное представление устройства для запуска внешнего приложения в браузере на платформе Android в соответствии с вариантом осуществления настоящего изобретения;
[028] Фиг.5 – схематичное структурное представление устройства запуска мобильной платежной программы в браузере на платформе Android  в соответствии с вариантом осуществления настоящего изобретения.
ОПИСАНИЕ ВАРИАНТОВ ИСПОЛНЕНИЯ
[029] Для устранения недостатков предыдущего уровня техники, когда HTML стандарт браузера поврежден и браузер требует модификации каждый раз, когда он поддерживает одно или более внешних приложений, представлен метод запуска внешних приложений в браузере в исполнении, как показано на фиг. 2:
[030] S101, добавление стандартной HTML метки, представляющей плагин, в веб-страницу браузера;
[031] S102, добавление модуля плагина внешнего приложения, соответствующего  метке, во внешнее приложение;
[032] S103, браузер, получая событие клика по метке, передает такое событие в модуль плагина внешнего приложения, добавленный во внешнее приложение путем вызова интерфейса внешнего приложения (например, NPAPI). Модуль плагина внешнего приложения вызывает API-интерфейс, представленный ОС и применяемый для запуска приложений.
[033] В качестве предпочтительного варианта осуществления изобретения метка является встроенной и связанной с внешним приложением за счет установки значения атрибута типа встроенной метки. Дополнительно, метка может быть объектной и связанной с внешним приложением за счет установки значения атрибута типа объектной метки. Предпочтительно, один модуль плагина программного приложения, например соответствующий программному интерфейсу подключаемых модулей Netscape (NPAPI), добавлен во внешнее приложение. Передавая событие клика в модуль плагина внешнего приложения, браузер передает такое событие путем вызова программного интерфейса подключаемых модулей Netscape (NPAPI) на стороне внешнего приложения.
[034] В данном варианте осуществления используется ОС Android. Настоящее изобретение не ограничивается исключительно ОС Android и может быть реализовано в любой другой ОС.
[035] В некоторых примерах, внешнее приложение может представлять собой мобильные платежные программы. После получения события клика, переданного браузером, мобильная платежная программа вызывает в ОС Android интерфейс Context.startActivity( ) для запуска работы мобильной платежной программы.
[036] На Фиг. 3. Устройство для запуска внешнего приложения в браузере представлено в настоящем варианте осуществления. Такое устройство включает:
⎯ модуль браузера, применяемый для добавления стандартной HTML метки, представляющей плагин, в веб-страницу браузера;
⎯ модуль внешнего приложения для добавления модуля плагина внешнего приложения, соответствующего метке во внешнем приложении;
⎯ модуль ОС для предоставления API-интерфейса для запуска приложения;
где получая событие клика по метке, модуль браузера передает такое событие в модуль плагина внешнего приложения, добавленного во внешнее приложение путем вызова интерфейса такого приложения. Модуль плагина внешнего приложения вызывает API-интерфейс, представленный модулем ОС и применяемый для запуска внешних приложений.
[037] Следует отметить, что API-интерфейс, определенный программным интерфейсом подключаемых модулей Netscape (NPAPI), разделен на две категории: браузерный API интерфейс плагина и API-интерфейс плагина на стороне плагина. Интерфейс внешнего приложения, описанный в настоящем изобретении, может быть API-интерфейсом плагина на стороне плагина.
[038] В качестве предпочтительного варианта осуществления настоящего изобретения метка, добавленная модулем браузера, является встроенной и связанной с внешним приложением путем установки значения типа атрибута встроенной метки. Дополнительно, метка может быть объектной и связанной с внешним приложением путем установки значения типа атрибута объектной метки. Предпочтительно, модуль внешнего приложения добавляет один модуль плагина внешнего приложения, соответствующий программному интерфейсу подключаемых модулей Netscape, во внешнее приложение. Модуль внешнего приложения включает модуль плагина внешнего приложения с программным интерфейсом подключаемых модулей Netscape и функциональным модулем, который предоставляет интерфейс и функциональность для внешнего приложения. Модуль браузера включает модуль реализации плагин-интерфейса с программным интерфейсом подключаемых модулей Netscape. Модуль браузера передает событие клика на модуль плагина внешнего приложения путем вызова программного интерфейса подключаемых модулей Netscape на стороне модуля внешнего приложения. Модуль плагина внешнего приложения вызывает API-интерфейс, представленный модулем ОС и применяемый для запуска приложения и функционального модуля внешнего приложения.
[039] В представленном варианте осуществления модуль ОС применяет Android. Настоящее изобретение не ограничивается исключительно ОС Android и может быть использовано с любой ОС.
[040] В конкретном примере модуль внешнего приложения является модулем мобильной платежной программы. После получения события клика, переданного модулем браузера, модуль плагина внешнего приложения модуля мобильной платежной программы вызывает интерфейс Context.startActivity( ) ОС Android для запуска работы модуля мобильной платежной программы.
[041] На Фиг. 4. метод реализации исполнения проиллюстрирован на примере запуска внешнего приложения в браузере на платформе Android:
[042] Сначала в код HTML веб-страницы добавляется встроенная метка:
<embed type=“application/x-extenalapp”/>
где встроенная метка является стандартной HTML меткой, а каждый браузер имеет реализацию встроенной метки. Реализация встроенной метки случайно добавлена или модифицирована  для браузера в настоящем изобретении, поэтому встроенная метка обычно свойственна браузеру, который указан в HTML стандарте.
[043] Затем реализация внешнего приложения включает 2 части (два модуля): модуль плагина внешнего приложения, который реализует NPAPI и функциональный модуль, основанный на реализации платформы Android (в настоящем изобретении любые составляющие модули, исключая модуль плагина внешнего приложения, совместно именуемые как функциональные модули, представляют пользовательский интерфейс для приложения и реализации функций, связанных с приложением). Запуск Android приложения в веб-странице может достигаться просто за счет добавления реализации модуля плагина внешнего приложения в программу.
[044] И последнее, модуль плагина внешнего приложения, когда реализация интерфейса NPAPI обрабатывает событие (например, событие, когда пользователь кликает метку или плагин), запускает API-интерфейс, который представлен ОС Android и применяется для запуска определенного приложения.
[045] ОС Android обеспечивает API-интерфейс, используемый для запуска приложений, обозначая имя пакета приложения во время вызова API-интерфейса. ОС  Android найдет приложение, соответствующее имени пакета, а затем запустит такое приложение, тем самым достигая цель настоящего изобретения - «применение плагина для запуска приложения».
[046] Таким образом, когда пользователь открывает веб-страницу в браузере, такая страница содержит одну встроенную метку, представляющую плагин. Встроенная метка представлена в качестве плагина на веб-странице. Целью веб-страницы является автоматический запуск браузером одного внешнего приложения, когда пользователь кликает метку или плагин на веб-странице. После получения события, когда пользователь кликает метку или плагин, браузер передает событие в модуль реализации интерфейса плагина браузера, и наконец событие клика передается NPAPI в модуль плагина внешнего приложения. Модуль плагина внешнего приложения, в ходе обработки события клика, вызывает API-интерфейса, который предоставлен ОС Android и применяется для запуска приложения,  назначая внешнее приложение для запуска в вызываемых параметрах. Затем ОС Android запускает определенное приложение (далее функциональный суб-модуль внешнего приложения обеспечивает пользовательский интерфейс). В конце, достигается цель настоящего изобретения - запуск внешнего приложения с применением плагина.
[047] В HTML, встроенная метка определяет встроенный контент, как плагин. Встроенная метка – страница HTML и часть HTML страницы. Модуль реализации интерфейса плагина браузера – часть браузера. Модуль реализации интерфейса плагина – модуль реализации для встроенной HTML метки в браузере. Атрибут типа встроенной метки определяет тип среды встроенного контента.
[048] За счет применения настоящего изобретения, разработчики веб-страниц могут компилировать различные страницы в соответствии с различными практическими требованиями и запускать определенные внешние приложения через веб-страницы таким образом, что  внешнее приложение обеспечивает функции, которые не могут быть предоставлены самой страницей. Настоящее изобретение обеспечивает разработчиков веб-страниц схемой и структурой, удобными для расширения. Отсутствует необходимость модифицировать браузер для запуска внешних приложений, связанных с веб-страницей в соответствии со значением атрибута типа встроенной метки или объектной метки страницы. Настоящее изобретение предоставляет разработчикам внешних приложений схему и структуру, удобные для передачи, и может легко видоизменять текущее приложение во внешнее приложение, запускаемое браузером через веб-страницу. Разработчикам внешних приложений  необходимо лишь добавить один суб-модуль плагина, который реализует расширительный NPAPI в текущее приложение.
[049] На Фиг. 5. приведен пример запуска мобильной платежной программы в браузере на платформе Android.
[050] В отношении мобильной платежной программы браузер на платформе Android не требует каких-либо модификаций, и только один модуль плагина внешнего приложения добавляется в оригинальный модуль мобильной платежной программы для создания мобильного плагина платежей, который реализует запуск мобильной программы в веб-странице мобильного браузера.  Такая техническая схема реализует слабую связанность браузера и внешнего приложения и гибкие расширения. Детали реализации технической схемы описаны следующим образом:
[051] 1. Встроенная метка добавляется в код HTML веб-страницы следующим образом:
<embed type= “application/x-unionpayplugin” />
[052] 2. Модуль мобильной платежной программы включает две части: модуль плагина внешнего приложения, который реализует NPAPI, и функциональный модуль мобильных платежей, основанный на реализации платформы Android.
[053] 3. После получения события клика по метке или плагину модуль плагина внешнего приложения модуля мобильной платежной программы вызывает интерфейс Context.startActivity( ) ОС  Android для запуска работы функционального модуля мобильной платежной программы.
[054] Фактически, Context.startActivity( ) – API-интерфейс, который представлен ОС Android и используется для запуска приложения. Activity – часть функционального модуля мобильных платежей и так же является одной из основных частей, которые составляют приложение Android с пользовательским интерфейсом, который относится к концепту платформы Android. Activity – компонент приложения Android, представляющий экран таким образом, что пользователь может взаимодействовать с приложением для выполнения задания, как набор номера, создание фотографий, отправление электронных писем и просмотр карт.
[055] Следовательно, в отношении внешних приложений, только за счет добавления одного плагина браузера (например, плагин браузера, который реализует NPAPI) и вызова API-интерфейса, который представлен ОС и используется для запуска приложений во время обработки плагина браузера, пользователь может запускать внешние приложения путем клика метки или плагина на веб-странице браузера в случае, когда HTML стандарт браузера не поврежден, а браузер не требует модификаций.
[056] Предпочтительные варианты осуществления настоящего изобретения описаны со ссылкой на прилагаемые далее чертежи.  Специалист в этой области техники может получить различные варианты решений для реализации настоящего изобретения без отклонения от предметной области и сути настоящего изобретения. К примеру, признаки, показанные или описанные как часть одного из вариантов осуществления, могут быть использованы в другом варианте осуществления изобретения для получения еще одного варианта осуществления. Приведенные выше описания изобретения являются предпочтительными вариантами возможных исполнений настоящего изобретения и не нацелены на ограничение предметной области настоящего изобретения. Эквивалентные варианты, выполненные в соответствии с описанием и содержанием прилагаемых чертежей настоящего изобретения должны подходить под предметную область настоящего изобретения.