Push Notifications trong IOS 10

Phiên bản ios 10 phát hành với một sô tính năng, API notifications, cho phép bạn ta có thêt custom ( tuỳ biến) UI của Notification với Framework : UserNotificationsUI , UserNotificationsUI thay vì mặc định như các phiên bản IOS trước.

Framework mới này thiết lập các APIs cung cấp một cái hợp nhất, theo cách hướng đối tượng khi làm việc với cả local và remote notifications trên những nền tảng này

Điều này đặc biệt hữu ích khi so với các APIs đang tồn tại, local và remote notifications hiện tại đều được xử lý một cách tương tự và truy cập vào nội dung của notification không còn được thực hiện thông qua các dictionaries.

Trong bài hướng dẫn này, chúng ta sẽ cùng đi qua các vấn đề cơ bản của framework mới này và xem làm thế nào mà bạn có thể dễ dàng tận dụng điểm mạnh của nó để hỗ trợ thông báo cho ứng dụng của bạn.

Trước Khi đi vào chi tiết cách Implement Push Notificaiton trong bài viết, bạn hãy xem qua digram lìe cycle của Push Notification như hình bên dưới :

Sau khi xem qua diagram chắc hẳn bạn đã hiểu được life cycle của Notificaion trong trong IOS 10 như thế nảo rồi. Bây giờ chúng ta bắt tay vào luôn nhé :))

Các bước bạn cần phải làm :

  1. Create service extension
  2. Create content extension
  3. Xác định loại Notification bạn cần là gì ( images, url, text …)
  4. Khai báo các categories cần thiết để handle content extension
  5. Bạn càn định nghĩa payload khi gửi đến APNS
  6. Implement service extension
  7. Implement content extension và UI
  8. Thêm các actions ( nếu có)
  9. Handle các action trong content extension( Nếu có)
  10. Debug PushNotification. bạn download app để debug tại đây
Cùng tham gia sự kiện mobile vào ngày 23/02/2017

Create service extension :

Mở Xcode và tạo project mới, chọn language Swift và tạo project. Sau đó bạn tạo service extension bằng chọn target như hình sau :

và resource service sẽ được thêm vào project như trong hình bên dưới :

Ở đây là nơi bạn Implement service extension . Bạn Implement service extension như sau :

Tiếp đến bạn cũng làm điều tương tự với Notification Content và bạn sẽ có như sau :

và bạn sẽ Implement Content Extension như sau :

Techtalk via viblo