Aprimoramentos de pesquisa de aplicativos no Xamarin.iOS
Este artigo aborda os aprimoramentos que a Apple fez na Pesquisa de aplicativos no iOS 10 e como implementá-los no Xamarin.iOS.
No iOS 10, a Apple fez várias melhorias na Pesquisa de Aplicativos, como Crowdsourced Deep-Linking, Pesquisa no Aplicativo, Continuação de Pesquisa e Visualização de Resultados de Validação. Este artigo abordará a implementação desses recursos em um aplicativo Xamarin.iOS.
Sobre os aprimoramentos da Pesquisa de Aplicativos
O Core Spotlight no iOS 10 fornece vários aprimoramentos para a Pesquisa de Aplicativos, como:
- Popularidade de link profundo de crowdsourcing (com privacidade diferencial) - Fornece uma maneira de promover conteúdo de aplicativo com links profundos nos resultados de pesquisa.
- Pesquisa no aplicativo - Use a nova
CSSearchQuery
classe para fornecer a capacidade de pesquisa do Spotlight no aplicativo semelhante ao funcionamento dos aplicativos Email, Mensagens e Anotações. - Continuação da pesquisa - Permite que um usuário inicie uma pesquisa no Spotlight ou no Safari e, em seguida, abra um aplicativo e continue essa pesquisa.
- Visualização dos resultados da validação - A Ferramenta de validação da API de pesquisa de aplicativos da Apple agora exibe uma representação visual da marcação e da vinculação profunda de um site ao pré-formar testes.
- Compartilhamento de imagens do aplicativo Mensagem - Permite que imagens populares no aplicativo fornecidas para compartilhamento no Mensagens (por meio de uma extensão do aplicativo Mensagem) apareçam nas pesquisas do Spotlight.
As seções a seguir abordarão esses tópicos com mais detalhes.
Popularidade do Deep-Link Crowdsourced
O iOS 10 fornece um mecanismo para contar a frequência com que os links profundos populares em um aplicativo são seguidos pelo usuário e usa essas informações para melhorar a classificação do conteúdo de um aplicativo nos resultados de pesquisa, enquanto ainda protege a identidade do usuário usando a Privacidade Diferencial.
Para aplicativos que usam NSUserActivity
objetos para fornecer URLs de links profundos e têm a propriedade definida como true
, o EligibleForPublicIndexing
iOS 10 envia um subconjunto de Hashes de Privacidade Diferencial para os servidores da Apple. Essas informações são usadas para promover conteúdo popular no aplicativo nos resultados da pesquisa.
Para obter mais informações sobre como implementar links profundos em um aplicativo Xamarin.iOS, consulte nossa documentação Pesquisar com NSUserActivity .
Pesquisa no aplicativo
Ao implementar a nova classe CSSearchQuery , um aplicativo pode fornecer a tecnologia de regras de pesquisa e correspondência do Spotlight para encontrar conteúdo dentro de si mesmo, sem que o usuário precise sair do aplicativo (semelhante a como o aplicativo Email, Mensagens e Anotações funciona).
Normalmente, os aplicativos compatíveis CSSearchQuery
não precisarão manter seu próprio índice de pesquisa separado.
Continuação da pesquisa
No iOS 9, a Apple introduziu as APIs de pesquisa (como Core Spotlight NSUserActivity
e marcação da web) para fornecer curtidas profundas de conteúdo dentro de um aplicativo para permitir que os usuários pesquisem esse conteúdo usando as interfaces de pesquisa do Spotlight e do Safari. Consulte nossa documentação de Novas APIs de Pesquisa para obter mais detalhes.
No iOS 10, a Apple se baseia nesse recurso, permitindo que o usuário inicie uma pesquisa no Spotlight ou no Safari e, em seguida, continue a pesquisa quando abrir um aplicativo.
Para implementar esse recurso, edite o arquivo do Info.plist
aplicativo, adicione a CoreSpotlightContinuation
chave do tipo Boolean e defina seu valor como YES
:
Para responder ao usuário que continua um resultado de pesquisa (NSUserActivity
), edite o AppDelegate.cs
arquivo e substitua o ContinueUserActivity
método. Por exemplo:
public override bool ContinueUserActivity (UIApplication application, NSUserActivity userActivity, UIApplicationRestorationHandler completionHandler)
{
// Take action based on the activity type
switch (userActivity.ActivityType) {
case "com.xamarin.platform":
// Restore the state of the app here...
break;
default:
if (userActivity.ActivityType == CSSearchQuery.ContinuationActionType) {
var search = userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString);
// Continue user's search here...
}
break;
}
return true;
}
Esse código procura o tipo de ação de continuação de consulta (userActivity.ActivityType == CSSearchQuery.ContinuationActionType
), em seguida, lê a consulta atual do usuário no dicionário de informações do NSUserActivity
usuário da classe (userActivity.UserInfo.KeyForValue(CSSearchQuery.QueryString)
). A partir daqui, o aplicativo precisa tomar medidas para continuar a pesquisa do usuário.
Para obter mais informações sobre como trabalhar com pesquisas em um aplicativo Xamarin.iOS, consulte nossa documentação Pesquisar com o Core Spotlight .
Visualização dos Resultados da Validação
A Ferramenta de Validação da API de Pesquisa de Aplicativos da Apple agora exibe uma representação visual da marcação e da vinculação profunda de um site (incluindo a marcação, como definida em Schema.org) ao pré-formar testes.
Usando a Ferramenta de Validação, um desenvolvedor pode ver as informações que o Applebot Web Crawler indexou para o site, como título, descrição, URL e quaisquer outros elementos com suporte.
Para obter mais informações sobre como trabalhar com marcação da Web, consulte nossa documentação do Seach with Web Markup .
Compartilhamento de imagens do aplicativo de mensagens
Se uma Extensão de Aplicativo de Mensagem fornecer imagens para compartilhamento no Mensagens, a extensão poderá ser configurada para permitir que o usuário realize pesquisas do Spotlight por imagens populares de dentro do Mensagens, sem precisar sair do aplicativo.
Para habilitar esse recurso, faça o seguinte:
- Crie uma extensão de aplicativo de mensagem.
- Adicione o
com.apple.developer.associated-domains
aos direitos do aplicativo e inclua uma lista de domínios da Web que hospedam as imagens que a Extensão de Aplicativo de Mensagem está compartilhando. Para cada domínio, especifique ospotlight-image-search
serviço. - Adicione um
apple-app-site-association
arquivo ao site que está hospedando as imagens. Esse arquivo inclui um dicionário para ospotlight-image-search
serviço e inclui a ID do aplicativo, que é a ID da Equipe ou o prefixo da ID do Aplicativo seguido pela ID do Pacote. O arquivo pode conter até 500 caminhos e padrões que serão indexados pelo Spotlight e incluídos em pesquisas de imagens populares. Para obter mais informações, consulte a documentação da Apple Criando e carregando o arquivo de associação. - Permita que o Applebot rastreie os sites. Consulte a documentação Sobre o Applebot da Apple.
Consulte nossa documentação de integração de aplicativos de mensagens para obter mais detalhes.
Resumo
Este artigo abordou as melhorias que a Apple fez na Pesquisa de Aplicativos no iOS 10 e como implementá-las no Xamarin.iOS.