Поисковые результаты для нативных приложений

Иллюстрации

Показать все

Изобретение относится к области вычислительной техники. Техническим результатом является индексация данных для нативных приложений. Раскрыт компьютерно-реализуемый способ индексации данных для нативных приложений, выполняемый устройством обработки данных, содержащим один или более компьютеров с возможностью обмена данными, причем способ содержит этапы, на которых: осуществляют, для каждого из множества нативных приложений, доступ к соответственному файлу пакета приложения для нативного приложения, причем соответственный файл пакета приложения для каждого нативного приложения включает в себя совокупность файлов, которые используются для распространения и инсталляции нативного приложения на пользовательское устройство, и для каждого нативного приложения: определяют, исходя из одного или более из файлов файла пакета приложения, имя нативного приложения, каковое определение содержит этапы, на которых: определяют пиктограмму приложения для нативного приложения из одного или более из файлов файла пакета приложения, индексируют пиктограмму приложения для нативного приложения в индексе, который приспособлен для осуществления по нему поиска поисковым механизмом, и выбирают из одного или более из файлов файла пакета приложения в качестве имени приложения текстовую строку, определяющую отображаемое имя для пиктограммы приложения; осуществляют на устройстве обработки данных доступ к страницам приложения нативного приложения и, для каждой из страниц приложения, генерируют данные страницы приложения, описывающие контент страницы приложения, имя страницы приложения для страницы приложения, причем контент, описываемый данными страницы приложения, включает в себя текст, который отображается пользовательским устройством на странице приложения, когда пользовательское устройство отображает страницу приложения; индексируют данные страницы приложения и имя приложения для нативного приложения в упомянутом индексе. 3 н. и 10 з.п. ф-лы, 4 ил.

Реферат

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ

Данная заявка притязает на приоритет согласно 35 USC 119(e) патентной заявки США №62/016645, поданной 24 июня 2012 года, содержание которой целиком включено сюда по ссылке.

УРОВЕНЬ ТЕХНИКИ

Интернет обеспечивает доступ к самой разной информации. Например, через Интернет доступны файлы цифровых изображений, файлы видео и аудио, а также ресурсы веб-страниц для конкретных объектов или конкретных сообщений печати. Что касается ресурсов веб-страниц, то многие из этих ресурсов предназначены для упрощения выполнения конкретных функций, таких как банкинг, резервирование номеров в отелях, шопинг и т.д., или для предоставления структурированной информации, например, онлайн-энциклопедии, базы данных кинофильмов и т.д.

Для идентификации конкретных ресурсов, доступных через Интернет, имеется множество различных поисковых механизмов. Эти поисковые механизмы тщательно просматривают и индексируют различные ресурсы веб-страниц. Затем поисковый механизм использует созданный индекс для определения того, какие ресурсы лучше всего соответствуют поисковому запросу, и предоставляют поисковые результаты, содержащие ссылки на ресурсы в соответствии с указанным запросом.

В настоящее время с появлением планшетных компьютеров и смартфонов предлагается множество нативных приложений, которые облегчают выполнение аналогичных функций, обеспечиваемых при помощи ресурсов веб-страниц. Однако, поисковые механизмы не выполняют просмотр или индексирование информации в среде нативных приложений. Вместо этого, метаданные, касающиеся нативного приложения, индексируются и к ним впоследствии обращаются при обработке поисковых запросов.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Настоящее описание относится к созданию глубинных ссылок (deep linking) для приложений и, в частности, к системам и способам для обработки глубинных ссылок с целью автоматического создания и обеспечения компактной и точной строки, идентифицирующей глубинную ссылку.

В общем, один инновационный аспект изобретения, раскрытый в этом описании, может быть воплощен в способах, которые включают в себя действия, связанные с доступом к файлам пакета приложений для нативных приложений, и для каждого нативного приложения: определяют исходя из файла пакета приложений, имя нативного приложения; обращаются, с устройства обработки данных, к страницам нативного приложения; и для каждой страницы приложения, создают данные страницы приложения, описывающих контент страницы приложения, имя страницы приложения, при этом контент, описываемый данными страницы приложения, включает в себя текст, который отображается пользовательским устройством на странице приложения, когда пользовательское устройство отображает страницу приложения; и индексируют данные страницы приложения и пиктограмму приложения для нативного приложения в индексе, по которому может осуществлять поиск поисковым механизмом. Другие варианты осуществления этого аспекта включают в себя соответствующие системы, устройства и компьютерные программы, приспособленные для выполнения действий способов, закодированных в компьютерных запоминающих устройствах.

Конкретные варианты осуществления изобретения, изложенные в этом описании, могут быть реализованы таким образом, чтобы получить на практике одно или несколько из нижеследующих преимуществ. Информация, хранящаяся в индексе страниц нативного приложения, берется из реальных данных страницы приложения и упомянутого пакета приложений, и, таким образом, позволяет обеспечить более полное описание контента приложения, чем то, что обеспечивается другими данными, которые описывают нативное приложение, но, в остальном не является частью пакета нативных приложений.

Детали одного или нескольких вариантов осуществления изобретения, раскрытые в этом описании, описаны в сопроводительных чертежах и приведенном ниже описании. Другие признаки, аспекты и преимущества изобретения станут очевидными из описания, чертежей и формулы изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг. 1 - блок-схема примерной среды, в которой выполняется индексация, поиск и идентификация страниц нативных приложений с использованием поисковых результатов нативных приложений;

Фиг. 2 - блок-схема примерного процесса индексации данных страниц нативных приложений;

Фиг. 3 - блок-схема примерного процесса создания поисковых результатов нативных приложений;

Фиг. 4 - иллюстрация поискового результата нативных приложений.

Подобные ссылочные позиции и обозначения на разных чертежах указывают на подобные элементы.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Поисковые механизмы Интернета обеспечивают возможность поиска по индексированному набору веб-страниц, которые существуют в Интернете. Типовой поисковый механизм в ответ на запрос обеспечивает список результатов, соответствующих запросу, часто с гиперссылками, позволяющими пользователю быстро прийти к интересующему его результату. Пользователь может выбрать указываемый ссылкой результат и тем самым получить веб-страницу (страницы), содержащую контент, касающийся праздников, продуктов, бизнеса и т.д. Такие ссылки могут быть ссылками на «домашнюю страницу» сайта (например, страница приглашения и поиска для сайта, аккумулирующего информацию о приготовлении еды, например, рецепты) или это может быть «контентная страница», к которой пользователь может осуществить доступ при перемещении посредством навигации с домашней страницы сайта (например, конкретный рецепт на информационном сайте приготовления еды). Ссылки на контентные страницы, в отличие от ссылок на домашние страницы, называются «глубинными ссылками» (а процесс просмотра, индексации и предоставления этих контентных страниц обычно называется «созданием глубинных ссылок»).

Возможность перемещения к странице, а также доступность контента и функциональных возможностей, которые обеспечивает эта страница, частично диктуется особенностями опубликованной страницы. Например, некоторые страницы могут содержать динамический контент (например, асинхронный java-скрипт и XML (AJAX Adobe Flash и т.д.), который трудно или невозможно просмотреть и извлечь). Соответственно, такие страницы могут оказаться недоступными при соответствующем поиске, и пользователь, возможно, не сможет сохранить данную страницу в виде закладки или т.п., а навигация по странице посредством средств управления из состава браузера (например, вперед и назад по журналу) может не работать, как положено.

В некоторых случаях текущий поиск документов может выполняться «внутри приложения» или в отношении контента, специфичного для приложения (т.е., нативного приложения). Например, при правильной конфигурации, необходимой для обработки унифицированного идентификатора ресурса (URI), браузер может запустить нативное приложение и представить пользователю конкретную контентную страницу в этом нативном приложении.

Типовой поисковый механизм может сформировать строку идентифицирующего текста, которая помогает пользователю определить релевантность отдельного поискового результата. Это есть текст, который часто отображается пользователю жирным шрифтом, с подчеркиванием, а часто ярким цветом для индикации того, о чем указываемый ссылкой контент. Это аналогично привязанному тексту, хотя часто этот термин связывают с текстом, который пользователь привязал к ссылке, в то время как текст поискового результата представляет собой текст, идентифицированный и скомпонованный поисковым механизмом для обеспечения некоей индикации, касающейся контента целевой страницы. В некоторых реализациях поисковые механизмы могут использовать заголовок документа, фразы, содержащие поисковую строку, и другие сигнальные метки из найденного документа для создания идентифицирующей строки для поискового результата.

Одна из проблем, связанных с созданием глубинных ссылок для нативного приложения, заключается в том, что целевой объект ссылки может не включать в себя текст или другие ресурсы, которые могли бы позволить браузеру создать идентифицирующую строку для этой ссылки. Другая проблема состоит в том, что идентифицирующая строка сама по себе может не обеспечить ориентир, касающийся нативного приложения, из которого получена ссылка (и которое необходимо для открытия этой ссылки). Соответственно, невозможно получить страницу полезных поисковых результатов для поисковых результатов, касающихся создания глубинных ссылок для нативного приложения.

В ряде попыток создания идентифицирующих строк для поисковых результатов использовались метаданные с рынка приложений. Однако, строки, полученные таким путем, часто оказываются слишком длинными, содержат повторяющиеся или излишние детали и недостаточно понятны, и не могут быть использованы по-иному.

Система обеспечивает поисковые результаты для нативных приложений. Используемое здесь нативное приложение функционирует независимо от приложения-браузера в пользовательском устройстве. Нативное приложение - это приложение, специально предназначенное для исполнения в операционной системе конкретного пользовательского устройства и программно-аппаратных средствах машины, но не в браузере. Таким образом, нативные приложения отличаются от браузеров, приложений на основе браузеров и ресурсов, воспроизводимых браузером. Последнее требует, чтобы все или по меньшей мере некоторые элементы или команды, загружаемые из веб-сервера, каждый раз инстанцировались или воспроизводились. Кроме того, приложения на основе браузеров и воспроизводимые браузером ресурсы могут обрабатываться всеми мобильными устройствами, имеющими веб-функции, внутри браузера, и таким образом не являются зависящими от операционной системы, как нативные приложения. Кроме того, используемый здесь термин «поисковый результат для нативного приложения» - это поисковый результат, который соответствует конкретному нативному приложению и который при его выборе активирует это конкретное нативное приложение.

Для индексации данных для нативного приложения система в некоторых реализациях создает экземпляр (инстанцирует) виртуальной машины, которая эмулирует операционную систему, действующую на пользовательском устройстве. В виртуальной машине система инстанцирует нативное приложение, специфичное для данной операционной системы. Это нативное приложение создает страницы приложения для отображения на пользовательском устройстве в рамках нативного приложения и действует независимо от приложения-браузера на пользовательском устройстве.

Система обращается (в виртуальной машине) к страницам нативного приложения. Система может обратиться к этим страницам, используя автоматизированный процесс, в котором используются различные меню и опции выбора для каждой страницы приложения и каждой последующей страницы приложения. В качестве альтернативы система, может обратиться к страницам, которые заданы издателем нативного приложения.

Для каждой из страниц приложения система генерирует данные страницы приложения, описывающие контент страницы приложения и заголовок страницы приложения. Контент, описываемый данными страницы приложения, может включать в себя, например: текст, который отображается пользовательским устройством на странице приложения, когда пользовательское устройство отображает страницу приложения, в том числе текст заголовка; данные изображений, которые определяют изображение страницы приложения, которое будет воспроизведено в нативном приложении; данные списков/меню, которые описывают различные списки и меню страницы приложения; и другие данные, которые описывают другие отличительные признаки страницы приложения.

Система также обращается к пакету приложений для нативного приложения. В некоторых реализациях пакет приложений представляет собой набор файлов, который используют для распространения и инсталляции программ и промежуточного программного обеспечения нативного приложения на устройстве. Система распаковывает и интерпретирует файл пакета приложений, идентифицирует пиктограммы для нативного приложения, для каждой пиктограммы идентифицирует текстовую строку, которая появляется под пиктограммой приложения при его инсталляции. Для некоторых приложений существует множество строк, основанных на местной специфике (страна и язык), каждая из которых может быть проиндексирована и привязана к соответствующему языку. Имена, определяемые текстовыми строками, называются здесь «отображаемыми именами приложения». Пиктограммы приложений, текстовые строки и другие данные, выбранные из пакета приложений, также индексируются в качестве части данных страницы приложения.

Создание поискового результата нативного приложения может включать формирование результирующего заголовка в комбинированной строке «заголовок страницы» и «отображаемое имя приложения». Пиктограмма приложения также может быть добавлена к заголовку для поискового результата нативного приложения. Также можно использовать вариации, отличающиеся порядком следования и содержимым, такие как

Пиктограмма + [заголовок страницы] + «-» + [отображаемое имя приложения]; или

2-строчноая пиктограмма + [заголовок страницы] + «знак:» + [отображаемое имя приложения], дата поиска, дата фиксации динамического контента;

и т.д.

Резюмируя вышесказанное, настоящим раскрытием предложен способ получения поисковых результатов для поиска глубинной ссылки нативного приложения, где каждый результат сжато и точно представлен идентифицирующей строкой, включающей в себя заголовок (идентификатор приложения), фрагмент текста (заголовок страницы) и ссылку на контент. Также могут быть обеспечены дополнительные детали, такие как пиктограмма для релевантного приложения.

Ниже более подробно описывается функционирование системы, которая индексирует данные страницы приложения, и обработка поисковых результатов для страниц приложения.

На фиг. 1 представлена блок-сема примерной среды 100, в которой осуществляется индексация и поиск страниц для нативных приложений. Компьютерная сеть 102, например, Интернет, соединяет веб-сайты 104 издателей ресурсов, издателей 106 приложений, пользовательские устройства 108 и поисковый механизм 110.

Веб-сайт 104 издателя ресурсов включает в себя один или несколько веб-ресурсов 105, связанных с доменом и работающих под управлением одного или нескольких серверов в одном или нескольких местах. Обычно веб-сайт издателя ресурсов представляет собой набор веб-страниц, отформатированных на языке гипертекстовой разметки (HTML), которые могут содержать текст, изображения, мультимедийный контент и элементы программирования. Каждый веб-сайт 104 поддерживается издателем контента, представляющим собой субъект, который выполняет управленческие и организационные функции и/или является собственником веб-сайта 104.

Ресурсом веб-страницы являются любые данные, которые могут быть обеспечены веб-сайтом 104 издателя через сеть 102 и которые содержат адрес ресурса, например, унифицированный указатель ресурса (URL). Веб-ресурсами могут быть, например, HTML-страницы, файлы изображений, видеофайлы, аудиофайлы и источники информационных лент (здесь названы только некоторые из них). Указанные ресурсы могут включать в себя встроенную информацию, например, метаинформацию и гиперссылки и/или встроенные команды, например, скрипты на клиентской стороне.

Веб-сайт 106 издателя приложений также может включать в себя один или несколько веб-ресурсов 105, а также может обеспечивать нативные приложения 107. Как было описано выше, нативное приложение 107 - это приложение, специально предназначенное для исполнения в операционной системе конкретного пользовательского устройства и программно-аппаратном обеспечении машины. Используемый в этом описании термин «страница приложения» относится к конкретной среде отображения в нативном приложении, в которой отображается контент, такой как текст изображения и т.п. Страница приложения привязана к конкретному нативному приложению, а это нативное приложение привязано к конкретной операционной системе пользовательского устройства 108. Страница приложения отличается от воспроизведенного веб-ресурса тем, что эта страница создается в нативном приложении, к которому она привязана, в то время как веб-ресурс может воспроизводиться любым браузером, с которым совместим ресурс веб-страницы, причем веб-ресурс не зависит от операционной системы пользовательского устройства.

Пользовательское устройство 108, как правило, способно запрашивать и получать ресурсы 105 веб-страниц и нативные приложения 107 через сеть 102. Примерные пользовательские устройства 108 включают в себя персональные компьютеры, мобильные коммуникационные устройства и планшетные компьютеры.

Для поиска веб-ресурсов 105 и нативных приложений 107 поисковый механизм 110 обращается к веб-индексу 112 и индексу 114 приложений. Веб-индекс 112 является индексом веб-ресурсов 105, который, например, сформирован в результате просмотра веб-сайтов 104 издателей. Индекс 114 приложений является индексом страниц приложений для нативных приложений 107, причем он формируется с использованием виртуальной машины 120 и процесса индексации, который более подробно описан ниже. Хотя веб-индекс 112 и индекс 114 приложений показаны как отдельные индексы, они могут быть объединены в единый индекс.

Пользовательские устройства 108 направляют поисковые запросы в поисковый механизм 110. Реагируя на каждый запрос, поисковый механизм 110 обращается к веб-индексу 112 и индексу 114 приложений для идентификации контента, релевантного данному запросу. Поисковый механизм 110 может, например, идентифицировать ресурсы и приложения в виде поисковых результатов для веб-ресурсов и поисковых результатов для нативных приложений соответственно путем использования генератора 116 поисковых результатов. Созданные поисковые результаты предоставляются пользовательскому устройству 108, от которого был получен запрос.

Поисковые результаты для веб-ресурсов представляют собой данные, созданные поисковым механизмом 110, который идентифицирует веб-ресурс и обеспечивает информацию, которая удовлетворяет конкретный поисковый запрос. Поисковый результат для одного ресурса может включать в себя заголовок веб-страницы, фрагмент текста, извлеченный из ресурса, и указатель ресурса для этого ресурса, например, URL веб-страницы. Поисковый результат для нативных приложений задает нативное приложение и создается в качестве реакции на поиск по индексу 114 приложений и веб-индексу 112, как более подробно описано ниже. При выборе на пользовательском устройстве поисковый результат для нативных приложений предписывает нативному приложению, установленному на пользовательском устройстве, запросить синхронизированный контент. После получения нативным приложением запрошенного контента нативное приложение отображает этот контент в пользовательском интерфейсе нативного приложения. Указанная функция называется «создание глубинных ссылок» в поисковом результате для приложений.

Набор данных страниц приложений и данных пакета приложений для индекса приложений описывается со ссылками на фиг. 1 и, кроме того, со ссылками на фиг. 2, которая представляет собой блок-схему примерного процесса 200 для индексации данных страниц нативных приложений. Процесс 200 может быть реализован в устройстве обработки данных одного или нескольких компьютеров при передаче данных. Этот процесс описывается в контексте использования виртуальной машины для сбора некоторых данных страниц приложений, но для этого также могут быть использованы соответствующие процессы и устройства.

Процесс 200 инстанцирует виртуальную машину 120, эмулирующую операционную систему для пользовательского устройства (202). Виртуальная машина 120 в некоторых реализациях может представлять собой модифицированную версию операционной системы и может включать в себя экстракторы, которые извлекают данные из страниц приложений, как более подробно описано ниже.

Процесс 200 в виртуальной машине 120 инстанцирует нативное приложение 107, которое создает страницы приложения для отображения на пользовательском устройстве в нативном приложении 107. Например, виртуальная машина 120 может запустить экземпляр нативного приложения 107 для каждого приложения в наборе нативных приложений 107, подлежащего обработке.

Процесс 200 обращается, в виртуальной машине 120, к страницам нативного приложения (206). В некоторых реализациях виртуальная машина обращается к страницам с использованием автоматизированного процесса, в котором применяются различные меню и опции выбора для каждой страницы приложения и каждой последующей страницы приложения. Такой автоматизированный процесс может выполняться путем последовательного выбора опций меню и ссылок согласно детерминированной подпрограмме, результатом применения которой является выбор каждой страницы, предоставляемой нативным приложением 107. В качестве альтернативы, виртуальная машина 120 может обратиться к страницам приложения, которые определены издателем данного нативного приложения. Например, издатель приложения может предоставить список идентификаторов 108 страниц приложения в виде унифицированных идентификаторов ресурсов (URI), которые по желанию издателя следует просмотреть и индексировать в индексе 114 приложений, причем доступ и индексация выполняется только для тех страниц приложения, на которые ссылаются идентификаторы (URI) для конкретного нативного приложения 107.

Для каждой страницы приложения процесс 200 создает данные страницы приложения, описывающие контент страницы (208) приложения. Контент страницы может включать в себя, например: текст, отображаемый на странице приложения; изображения, отображаемые на странице приложения; ссылки на странице приложения на другие страницы приложения или другие веб-ресурсы; и другой контент, подходящий для индексации.

В некоторых вариантах осуществления виртуальная машина 120 включает в себя экстракторы, которые извлекают контентные данные для индексации. Извлеченными контентными данными являются, например, данные, которые подаются в процесс воспроизведения нативного приложения. В процессе воспроизведения контент воспроизводится на основе данных для отображения на пользовательском устройстве. Использование экстракторов позволяет обеспечить более точную идентификацию различного контента на странице приложения. Например, экстрактор 122 текста извлекает текстовые данные, предоставляемые для процесса воспроизведения нативного приложения. Текстовые данные определяют текст, подлежащий воспроизведению на странице приложения. Текст может быть отформатирован, снабжен метками или сделан отличимым иным образом как текст заголовка, текст колонтитула, контент статьи и т.п. Таким образом, в отличие от обработки изображения страницы приложения или обработки двоичных данных отображения, виртуальная машина 120 получает реальный текст, который должен быть воспроизведен в среде нативного приложения 107.

Другие экстракторы могут использоваться аналогичным образом, например, экстрактор 124 изображений и экстрактор 126 списков. Экстрактор 124 изображений обеспечивает данные изображения, которые должны быть воспроизведены в среде нативного приложения 107, а экстрактор 126 списков обеспечивает данные списка прокручиваемых пунктов, которые воспроизводятся в среде нативного приложения 107. Также возможно извлечение других данных, таких как: данные ссылок на странице приложения, описывающие ссылки на странице приложения, которые указывают на другую страницу приложения; данные ссылок на веб-страницы, описывающие ссылки на странице приложения, которые указывают веб-ресурс, соответствующий унифицированному указателю ресурса, и которые при их выборе инстанцируют приложение-браузер, которое воспроизводит указанный ресурс в среде браузера отдельно от нативного приложения; и т.д.

Экстракторы 122, 124 и 126 и другие подходящие экстракторы данных могут быть реализованы с использованием соответствующих обработчиков данных для конкретной операционной системы. Например, для операционной системы Android™ экстракторы 122, 124 и 126 могут быть реализованы с использованием объектов TextView, объектов ImageView и объектов ListView соответственно. Виртуальная машина 120 обрабатывает эти объекты для извлечения соответствующих данных, например, путем включения команд, которые с целью индексации инициируют запоминание виртуальной машиной соответствующих данных, которые обеспечены для воспроизведения.

В процессе 200 выполняется обработка файла пакета приложений (210). Например, обработка пакета приложений может выполняться процессором 130 пакета, таким как компьютерное устройство, сконфигурированное для распаковки и анализа пакета приложений. В качестве альтернативы, пакет приложений может обрабатываться виртуальной машиной 120. Из файла пакета приложений может быть собрано и проиндексировано множество различных данных, связанных с нативным приложением. Например, идентифицируется пиктограмма приложения, такая как пиктограмма, отображаемая при инсталляции приложения. Идентифицируется текстовая строка, которая отображается под указанной пиктограммой, и для этой текстовой строки устанавливается отображаемое имя приложения. Это отображаемое имя приложения может отличаться от действительного имени приложения.

При обнаружении множества текстовых строк, каждая из которых относится к конкретному языку (или местности), эти язык или местность привязываются к данной текстовой строке. Этот язык или местность можно использовать для выбора текстовой строки на основе языка или местности, связанной с запросом, при создании поискового результата нативного приложения для этого запроса.

В индексе может быть обнаружена и запомнена другая информация из файла пакета приложений. Например, возможно создание списка файлов в пакете приложений; и также возможно обнаружение данных о размерах файлов, уровнях версий и других описательных данных.

В ходе процесса 200 выполняется индексация данных страниц приложения для нативного приложения в индексе, в котором поисковая машина может осуществлять поиск (212). Например, блок 140 индексации для каждого URI страницы приложения и идентификатора нативного приложения 107 выполняет индексацию данных страницы приложения, описывающих контент для страницы приложения. Индексированные данные запоминаются в индексе 114 приложений. Для индексации данных может быть использовано множество подходящих процессов индексации. Например, индекс 114 приложений может для каждой пары «нативное приложение 107 и URI» ввести строку данных, описывающих данные страницы приложения. То, какую конкретную схему базы данных и индексации использовать, может зависеть, например, от алгоритмов поискового механизма, используемых в поисковом механизме.

В некоторых ситуациях конкретная страница нативного приложения может иметь разные идентификаторы URI, которые соответствуют разному контенту. Например, приложение «котировка акций» может иметь первую часть URI, одинаковую для всех котировок акций, и вторую часть URI, например, параметр запроса, который включает в себя пару «имя-значение» для конкретной котировки или котировок, отображаемых на данной странице приложения. В некоторых реализациях каждый конкретный случай с уникальным URI образует одну запись в индексе 114 приложений.

После построения индекса 114 приложений поисковый механизм 110 может обратиться к индексу 114 приложений для идентификации нативных приложений, которые могут соответствовать запросу. В некоторых реализациях приложения могут идентифицироваться по поисковым результатам нативных приложений. На фиг. 3 представлена блок-схема примерного процесса 300 для создания поискового результата нативного приложения, и которая реализуется в генераторе 116 поисковых результатов поискового механизма 110.

В процессе 300 выполняется прием данных, идентифицирующих страницу нативного приложения как соответствующую запросу (302). Например, поисковый механизм 110 может обеспечить данные, указывающие, что определена конкретная страница для конкретного нативного приложения, соответствующая запросу, и что следует создать поисковый результат нативного приложения для этой страницы. Указанные данные могут иметь ссылку на строку или запись в индексе 114, которая содержит данные для станицы нативного приложения.

В процессе 300 из индекса выбирается имя приложения, пиктограмма приложения, заголовок страницы приложения и контент страницы приложения (304). Например, генератор поисковых результатов, используя данные от поискового механизма, обращается к индексированному имени приложения, пиктограмме приложения, заголовку страницы приложения и контенту страницы приложения. Выбранные данные могут зависеть от поискового запроса и конкретных данных, которые могут быть определены поисковым механизмом 110.

В процессе 300 создается поисковый результат нативного приложения с выбранными данными (306). Например, на фиг. 4 представлена иллюстрация поискового результата 400 нативного приложения, созданного в процессе 300. Как видно из фиг. 4, генератор поисковых результатов включил в поисковый результат 400 нативного приложения пиктограмму 402 приложения для нативного приложения в качестве дескриптора первого изображения. Также возможен выбор других изображений, например, эскиз скриншота. Поисковый результат включает в себя, например, URI 403 страницы приложения. Индикатор URI может быть видимым или может быть встроен в поисковый результат 400.

В поисковый результат 400 нативного приложения также включено отображаемое имя 404 приложения в качестве первого текстового дескриптора. Отображаемое имя приложения может представлять собой, например, имя, отображенное вместе с пиктограммой 402 при инсталляции данного приложения на пользовательском устройстве.

В некоторых реализациях имя 406 страницы приложения указывается идентификатором URI 403 в качестве второго текстового дескриптора в поисковом результате нативного приложения. Имя 406 страницы приложения может быть подсоединено или объединено с отображаемым именем 404, как показано на фиг. 4. Возможно, но не обязательно, что форматирование отображений первого текстового дескриптора и второго текстового дескриптора могут отличаться, чтобы подчеркнуть, что это дескрипторы разного типа.

Также в качестве третьего текстового дескриптора могут быть включены другие данные, такие как контент 408, который отображается в данных страницы приложения во время отображения страницы приложения.

Процесс 300 предоставляет пользовательскому устройству поисковый результат нативного приложения (308). Получив поисковый результат, пользовательское устройство отображает пользователю поисковый результат 400 нативного приложения. В некоторых реализациях выбор поискового результата 400 инициирует запуск нативного приложения и создание им экземпляра страницы приложения, который включает в себя контент, релевантный поисковому запросу. Например, если на пользовательском устройстве инсталлировано нативное приложение с заголовком Example App Title (Примерный заголовок приложения), то выбор поискового результата 400 инициирует запуск и создание нативным приложением страницы приложения, которая соответствует заголовку 406 страницы и контенту 408.

Хотя поисковый результат 400 нативного приложения включает в себя пиктограмму 402, отображаемое имя 404 приложения и заголовок 406 страницы, не все из этих элементов обязательно должны быть включены в поисковый результат нативного приложения.

Варианты осуществления изобретения и операций, представленных в этом описании, могут быть реализованы в виде цифровых электронных схем или компьютерного программного обеспечения, программно-аппаратного обеспечения или аппаратного обеспечения, включая структуры, раскрытые в этом описании, и их структурные эквиваленты, либо в виде комбинаций из одного или нескольких из перечисленных видов. Варианты осуществления изобретения, представленные в этом описании, можно реализовать в виде одной или нескольких компьютерных программ, то есть, в виде одного или нескольких модулей компьютерных программных команд, закодированных в компьютерной запоминающей среде, для их исполнения устройством обработки данных или для управления работой устройства обработки данных. Вдобавок или в качестве альтернативы, эти программные команды могут быть закодированы на искусственно созданном распространяемом сигнале, например, на генерируемом машиной электрическом, оптическом или электромагнитном сигнале, которые генерируется для кодирования информации с целью ее передачи на подходящее приемное устройство для исполнения устройством обработки данных. Компьютерная запоминающая среда может представлять собой (или включена в состав) считываемое компьютером запоминающее устройство, считываемый компьютером носитель, матрицу или устройство памяти со случайной или последовательной выборкой, или комбинацию из одного или нескольких перечисленных видов. Кроме того, хотя компьютерная запоминающая среда не является распространяемым сигналом, она может быть источником или адресатом компьютерных программных команд, закодированных в искусственно созданном распространяемом сигнале. Компьютерная запоминающая среда также может представлять собой (или может быть включена в состав) одну или несколько отдельных физических компонент или сред (например, множество компакт-дисков (CD)), дисков или других запоминающих устройств.

Операции, раскрытые в этом описании, могут быть реализованы в виде операций, выполняемых устройством обработки данных на данных, хранящихся в одном или нескольких считываемых компьютером запоминающих устройств или данных, получаемых от других источников.

Термин «устройство обработки данных» охватывает все виды устройств и машин для обработки данных, включая в качестве примеров программируемый процессор, компьютер, систему на одном кристалле или нескольких кристаллах, либо комбинации из вышеперечисленного. Устройство также может включать в себя (вдобавок к аппаратным средствам) код, который создает среду исполнения для рассматриваемой компьютерной программы, например, код, который образует программно-аппаратное обеспечение процессора, протокольный стек, систему управления базой данных, операционную систему, межплатформенную среду исполнения кода, виртуальную машину или комбинацию из одного или нескольких вышеперечисленных возможностей. Устройство и среда исполнения могут реализовать множество различных инфраструктур вычислительных моделей, таких как веб-сервисы, распределенные вычисления и сетевые вычислительные инфраструктуры.

Компьютерная программа (также известная как программа, программное обеспечение, приложение программного обеспечения, скрипт или код) может быть записана на языке программирования любого вида, включая компилируемые или интерпретируемые языки, декларативные или процедурно-ориентированные языки, и может быть активирована в любом виде, в том числе в виде автономной программы или в виде модуля, компоненты, подпрограммы, объекта или другого блока, подходящего для использования в вычислительной среде. Компьютерная программа может, но не обязательно, соответствовать файлу в файловой системе. Программа может храниться в части файла, который содержит другие программы или данные (например, один или несколько скриптов, хранящихся в документе на языке разметки), в одном файле, выделенном для рассматриваемой программы или во множество согласованных файлов (например, файлы, в которых хранятся один или несколько модулей, подпрограмм или частей кода). Компьютерная программа может быть развернута для исполнения на одном компьютере или множестве компьютеров, которые размещены на одном сайте или распределены по множеству сайтов, соединенных между собой сетью связи.

Процессы и логические потоки, раскрытые в этом описании, могут выполняться одним или несколькими программируемыми процессорами, исполняющими одну или несколько компьютерных программ для выполнения действий путем выполнения операций с входными данными и создания