Olá, Habr!
Yandex tem lutado ultimamente para arruinar seus aplicativos móveis, transformando-os em "superapp", se essa palavra estiver errada. E uma das duas aplicações da empresa para as quais essa direção de desenvolvimento é mais perceptível é o táxi.
Não faz muito tempo, foi rebatizado de "Yandex Go", ao mesmo tempo em que empurrava comida, loja, transporte público, um monte de publicidade. E aqui eu traiçoeiramente, sem declarar guerra, me deparei com um problema que acabou servindo de ideia para escrever este microartigo.
Tenho alguns aplicativos diferentes no meu iPhone e estou acostumado a lançar aqueles que não estão na primeira página por meio da busca do sistema Spotlight - a da tela inicial do iOS. O problema é que, com a renomeação do aplicativo Yandex, a palavra-chave principal “táxi” desapareceu de seu nome. Agora se tornou impossível encontrar Yandex Go usando. É difícil adivinhar o quanto as estatísticas de lançamento ou receitas de aplicativos poderiam ter sofrido com isso, mas pelo menos UX foi definitivamente um perdedor, e um tanto estúpido. A propósito, da mesma forma não conseguirá encontrar um táxi "Maxim" para a palavra-chave "maxim", e não é procurado por Delivery Club na consulta "food".
Ao mesmo tempo, uma análise rápida do problema mostra que o aplicativo "VK" é normalmente detectado pela consulta "VKontakte", o iOS oferece o lançamento de "Investimentos" quando você insere "tinkoff" e Okko aparece muito apropriadamente para as palavras-chave "filme", "olho" e até mesmo "ivie". Como você conseguiu isso? Na verdade, muito simples ...
Palavras-chave Spotlight são facilmente adicionadas se você já tiver suporte para Handoff, ou seja, alternar facilmente o usuário entre seus diferentes dispositivos Apple ou atalhos da Siri. Você só precisa definir uma propriedade keywords
para o objeto NSUserActivity
com o qual já está trabalhando.
let activity = NSUserActivity(activityType: typeID)
activity.keywords = ["", " "]
Se por algum motivo você não está a caminho com Handoff e Siri, ou se deseja apoiar o Spotlight em um nível mais sério, use-o CoreSpotlight
.
import CoreSpotlight
let attributes = CSSearchableItemAttributeSet(contentType: .application)
attributes.title = " "
attributes.contentDescription = " "
attributes.thumbnailData = image.pngData()
attributes.keywords = ["", "", ""]
let searchableItem = CSSearchableItem(uniqueIdentifier: "pizza", domainIdentifier: "readyMeal", attributeSet: attributes)
CSSearchableIndex.default().indexSearchableItems([searchableItem]) { _ -> Void in }
, ...
, iOS, , , .
, , , , . , , Spotlight, .
!