Thông báo đẩy cục bộ trong iOS

Tram Ho

Đã bao giờ các bạn tự hỏi: Mình không biết về Backend, mà muốn viết một ứng dụng có thể push thông báo tới cho người dùng thì có cách nào khác không? Chắc chắn là có rồi. Các bạn có thể sử dụng Local push notification của iOS.
Local push notification phù hợp với việc tạo ra các lịch trình có sẵn để thông báo tới người dùng như nhắc nhở làm một việc gì đó.
Ở bài viết này, mình sẽ hướng dẫn các bạn thực hiện config và chạy thử một demo về local push notification.

Tạo project

Mở Xcode, và tạo một new Single View App.

Tiếp theo mình nhập tên và các thông tin liên quan rồi bấm Next để tạo project.

Giao diện rất đơn giản, mình chỉ để một button gửi notification.

Xin quyền người dùng

Chắc hẳn việc xin quyền người dùng để push notification đã rất quen thuộc với các bạn.

Gửi thông báo

Để gửi thông báo, mình sẽ tạo một instant của UNMutableNotificationContent. Đối tượng UNMutableNotificationContent chứa dữ liệu của thông báo sẽ hiển thị bao gồm title, body, subtitle.

Muốn thêm Media content thì hãy sử dụng UNNotificationAttachment.

Trigger

Trigger chính là cách mà mình chỉ định các điều kiện gửi thông báo. Có 3 loại trigger:

  • UNTimeIntervalNotificationTrigger: Chỉ định thời gian sẽ phát ra thông báo. Ví dụ cứ 5 giây sẽ phát ra thông báo.
  • UNCalendarNotificationTrigger: Chỉ định hẹn ngày giờ thông báo. Ví dụ chỉ định rõ ngày 18/12/2020 sẽ phát thông báo.
  • UNLocationNotificationTrigger: Chỉ định địa điểm phát ra thông báo.

Ở bài viết này, mình sẽ sử dụng UNTimeIntervalNotificationTrigger sau 5 giây sẽ phát ra thông báo và không lặp lại thông báo.

Một điều lưu ý nếu bạn muốn lặp lại thông báo thì timeInterval phải lớn hơn 60 giây. Nếu không sẽ bị crash app.

Tạo request

Để tạo request, mình sử dụng UNNotificationRequest. Sau đó dùng UNUserNotificationCenter để lên lịch để gửi.

Build và run ứng dụng, Click vào Send Local push notification và chờ kết quả.

Chúc các bạn thành công.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo