Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como criar notificações locais no iOS com UNNotificationRequest

No desenvolvimento de aplicativos para iOS, as notificações locais são uma ferramenta poderosa para manter os usuários engajados. O framework UserNotifications da Apple facilita a criação e o gerenciamento dessas notificações. Neste artigo, vamos explorar como utilizar a classe UNNotificationRequest para agendar notificações locais em um aplicativo iOS.

O que é UNNotificationRequest?

UNNotificationRequest é uma classe do framework UserNotifications que representa uma solicitação de notificação. Ela encapsula o conteúdo da notificação e as condições sob as quais a notificação deve ser entregue. Para criar uma notificação local, você precisa configurar um UNNotificationRequest com um identificador, um UNNotificationContent e um UNNotificationTrigger.

Passo a passo para criar uma notificação local

  1. Importar o framework UserNotifications:

    Primeiro, você precisa importar o framework UserNotifications no seu arquivo Swift.

    import UserNotifications
  2. Solicitar permissão do usuário:

    Antes de agendar notificações, você deve solicitar permissão do usuário para enviar notificações.

    UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
       if granted {
           print("Permissão concedida")
       } else {
           print("Permissão negada")
       }
    }
  3. Criar o conteúdo da notificação:

    O conteúdo da notificação é configurado usando a classe UNMutableNotificationContent.

    let content = UNMutableNotificationContent()
    content.title = "Lembrete"
    content.body = "Não se esqueça de revisar seu código!"
    content.sound = UNNotificationSound.default
  4. Definir o trigger da notificação:

    O trigger define quando a notificação deve ser entregue. Pode ser baseado em tempo, localização ou outras condições. Aqui, vamos usar um UNTimeIntervalNotificationTrigger para agendar uma notificação para daqui a 10 segundos.

    let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 10, repeats: false)
  5. Criar a solicitação de notificação:

    Com o conteúdo e o trigger configurados, você pode criar a solicitação de notificação.

    let request = UNNotificationRequest(identifier: "lembreteNotificacao", content: content, trigger: trigger)
  6. Adicionar a solicitação ao centro de notificações:

    Finalmente, adicione a solicitação ao UNUserNotificationCenter.

    UNUserNotificationCenter.current().add(request) { error in
       if let error = error {
           print("Erro ao adicionar notificação: \(error.localizedDescription)")
       }
    }

Exemplo completo:

Aqui está um exemplo completo de como criar e agendar uma notificação local em um aplicativo iOS.

import UIKit
import UserNotifications

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Solicitar permissão do usuário
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { granted, error in
            if granted {
                print("Permissão concedida")
                self.scheduleNotification()
            } else {
                print("Permissão negada")
            }
        }
    }

    func scheduleNotification() {
        // Criar o conteúdo da notificação
        let content = UNMutableNotificationContent()
        content.title = "Lembrete"
        content.body = "Não se esqueça de revisar seu código!"
        content.sound = UNNotificationSound.default

        // Definir o trigger da notificação
        let trigger = UNTimeIntervalNotificationTrigger(timeInterval: 10, repeats: false)

        // Criar a solicitação de notificação
        let request = UNNotificationRequest(identifier: "lembreteNotificacao", content: content, trigger: trigger)

        // Adicionar a solicitação ao centro de notificações
        UNUserNotificationCenter.current().add(request) { error in
            if let error = error {
                print("Erro ao adicionar notificação: \(error.localizedDescription)")
            }
        }
    }
}

Este exemplo configura uma notificação local que será disparada 10 segundos após a permissão ser concedida pelo usuário. Você pode adaptar o conteúdo e o trigger conforme necessário para atender às necessidades do seu aplicativo.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.