Lição 186: Integração com SiriKit
Siri é uma das ferramentas mais poderosas do ecossistema iOS, permitindo que os usuários interajam com seus aplicativos por meio de comandos de voz. Com a introdução do SiriKit, os desenvolvedores podem integrar seus aplicativos ao Siri, possibilitando uma interação fluida entre o usuário e a aplicação.
Nesta lição, iremos explorar os passos essenciais para integrar o SiriKit em seu aplicativo iOS, focando em como configurar seu aplicativo, definir intents e criar um exemplo simples de integração.
Compreendendo Intents
Intents são o conceito chave no SiriKit. Eles representam uma ação específica que um usuário pode realizar com seu aplicativo, como enviar uma mensagem, chamar um carro ou fazer um pagamento. Para permitir que a Siri entenda e processe essas ações, precisamos definir uma intent personalizada.
Passo 1: Criando um Arquivo de Definição de Intent
- No seu projeto Xcode, crie um novo arquivo (
Arquivo
>Novo
>Arquivo...
). - Selecione
Recurso
e depoisArquivo de Definição de Intent
. - Nomeie o arquivo (por exemplo,
MeusIntents.intentdefinition
).
Neste arquivo, você pode definir suas intents personalizadas, seus parâmetros e atributos de resposta.
Por exemplo, vamos definir uma intent simples chamada PedirCaféIntent
:
<intent name="PedirCaféIntent">
<description>Pedir um café</description>
<parameter name="tipoCafé" type="String" />
<parameter name="tamanho" type="String" />
</intent>
Passo 2: Habilitando a Capacidade do Siri
Para habilitar a Siri em seu aplicativo, você precisa fazer o seguinte:
- Vá para as configurações do seu projeto e selecione a aba
Assinatura e Capacidades
. - Adicione a capacidade Siri.
Passo 3: Implementando o Manipulador de Intent
Agora, você precisa criar um manipulador para sua intent personalizada. Esse manipulador processará a solicitação do usuário.
- Crie um novo arquivo Swift (por exemplo,
PedirCaféIntentHandler.swift
). - Implemente o protocolo
INIntentHandlerProviding
.
Aqui está um exemplo de como lidar com o PedirCaféIntent
:
import Intents
class PedirCaféIntentHandler: NSObject, PedirCaféIntentHandling {
func handle(intent: PedirCaféIntent, completion: @escaping (PedirCaféIntentResponse) -> Void) {
let mensagemResposta = "Pedi um \(intent.tamanho ?? "médio") \(intent.tipoCafé ?? "café")."
let resposta = PedirCaféIntentResponse(code: .success, userActivity: nil)
completion(resposta)
}
}
Passo 4: Registrando o Manipulador de Intent
Para aproveitar o manipulador de intent, você precisa registrá-lo no AppDelegate do seu aplicativo:
import UIKit
import Intents
@main
class AppDelegate: UIResponder, UIApplicationDelegate, INExtension {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
return true
}
override func handler(for intent: INIntent) -> Any? {
if intent is PedirCaféIntent {
return PedirCaféIntentHandler()
}
return nil
}
}
Passo 5: Testando a Integração
Uma vez que você tenha implementado e registrado seu manipulador de intent, pode testar a integração usando a Siri. Você pode dizer algo como:
- "Peça um cappuccino grande."
- "Peça um café médio."
A Siri invocará seu aplicativo e acionará a intent que você definiu, levando à execução da sua lógica personalizada no manipulador.
Conclusão
Integrar seu aplicativo com o SiriKit pode aprimorar significativamente a experiência do usuário ao possibilitar interações sem as mãos. Nesta lição, abordamos os seguintes passos:
- Criamos um Arquivo de Definição de Intent para definir nossa intent personalizada.
- Habilitamos a capacidade do Siri no aplicativo.
- Implementamos o manipulador de intent para processar a intent.
- Registramos o manipulador de intent no AppDelegate.
Com esses passos, você pode começar a construir funcionalidades mais complexas e interativas dentro do seu aplicativo usando o SiriKit. Boa codificação!