SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
01.12.2024

Aula 190: Implementando Deep Linking em Swift

Deep linking é uma funcionalidade poderosa que permite aos usuários navegar diretamente para conteúdos específicos dentro do seu aplicativo por meio de uma URL. Isso pode melhorar significativamente a experiência e o engajamento do usuário. Nesta aula, vamos explorar como implementar deep linking em um aplicativo iOS usando Swift.

O que é Deep Linking?

Deep linking se refere à prática de usar um hyperlink que leva diretamente a uma página ou conteúdo específico dentro de um aplicativo móvel, em vez de apenas à página inicial do aplicativo. Existem geralmente dois tipos de deep links:

  1. Deep Links Básicos: Esses links funcionam apenas se o aplicativo já estiver instalado. Se o aplicativo não estiver instalado, o link normalmente redireciona o usuário para a loja de aplicativos.

  2. Deep Links Diferidos: Esses links podem direcionar os usuários a conteúdos específicos no seu aplicativo, mesmo que eles precisem primeiro instalar o aplicativo. Uma vez instalado, o link os levará diretamente ao conteúdo desejado.

Configurando Deep Linking em um Aplicativo iOS

Neste exemplo, implementaremos uma funcionalidade básica de deep linking em um simples aplicativo iOS. Vamos cobrir os passos necessários e fornecer alguns códigos de exemplo ao longo do caminho.

Passo 1: Configurar Seu Aplicativo

  1. Abra seu projeto no Xcode.
  2. Selecione seu projeto no Navegador de Projetos.
  3. Vá até a aba Info e, na seção URL Types, clique no botão de mais (+) para adicionar um novo tipo de URL.

    • Identificador: Um identificador único para seu aplicativo (pode ser o identificador do bundle).
    • Esquemas de URL: Insira um esquema (ex: meuapp).

Passo 2: Lidar com URLs Recebidas

O próximo passo é lidar com as URLs recebidas no seu aplicativo. Sobrescreva o método application(_:open:options:) no seu AppDelegate.

Aqui está um exemplo de como você pode implementar isso:

import UIKit

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        // Verifique se o esquema da URL corresponde ao esquema do seu app
        guard url.scheme == "meuapp" else { return false }

        // Extraia o caminho e quaisquer parâmetros de consulta
        let pathComponents = url.pathComponents

        // Lide com o deep link com base no caminho
        if pathComponents.count > 1 {
            let viewControllerIdentifier = pathComponents[1]
            navegarParaViewController(identificador: viewControllerIdentifier)
        }

        return true
    }

    private func navegarParaViewController(identificador: String) {
        // Supondo que você tenha uma forma de obter o view controller raíz
        guard let rootViewController = window?.rootViewController else { return }

        if identificador == "perfil" {
            // Navegar para o ProfileViewController
            let perfilVC = ProfileViewController() // Instancie seu VC
            rootViewController.present(perfilVC, animated: true, completion: nil)
        } else if identificador == "configuracoes" {
            // Navegar para o SettingsViewController
            let configuracoesVC = SettingsViewController() // Instancie seu VC
            rootViewController.present(configuracoesVC, animated: true, completion: nil)
        }
        // Lide com outros identificadores conforme necessário.
    }
}

Passo 3: Testando Deep Linking

Para testar a funcionalidade de deep link, você pode usar o Terminal ou o Safari no seu dispositivo ou simulador.

  1. Abra o Terminal e use o comando xcrun para simular um deep link:

    xcrun simctl openurl booted meuapp://perfil
  2. Substitua perfil por qualquer caminho válido que você tenha configurado na lógica de tratamento de links.

Alternativamente, você pode simplesmente inserir a URL no Safari do seu dispositivo:

meuapp://perfil

Conclusão

Deep linking é uma funcionalidade essencial que pode melhorar significativamente a experiência do usuário no seu aplicativo. Ao seguir os passos descritos nesta aula, você pode implementar deep linking básico em sua aplicação iOS usando Swift. Isso facilita para os usuários navegarem diretamente para conteúdos específicos, incentivando o engajamento e a retenção.

Sinta-se à vontade para expandir a funcionalidade com deep links diferidos à medida que você se sentir mais confortável com o básico. Bons códigos!

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!