Hướng Dẫn Push Notifications Cơ Bản Trong IOS | TopDev

Thật thú vị, Push Notifications cho phép nhà phát triển tiếp cận người dùng và thực hiện các tác vụ nhỏ ngay cả khi người dùng không chủ động sử dụng ứng dụng!

Push Notifications đã trở nên ngày càng mạnh mẽ hơn kể từ khi nó được ra mắt lần đầu tiên. Trong iOS 10, Push Notifications có thể :

  • Hiển thị tin nhắn văn bản ngắn
  • Phát âm thanh thông báo
  • Đặt số huy hiệu trên biểu tượng của ứng dụng
  • Cung cấp các hành động mà người dùng có thể thực hiện mà không cần mở ứng dụng
  • Hiển thị tệp đính kèm phương tiện
  • Im lặng, cho phép ứng dụng chạy ngầm và thực hiện tác vụ

Tìm việc ios làm online tại nhà cho bạn

Hướng dẫn push notifications này sẽ xem xét cách push notifications hoạt động và cho phép bạn thử các tính năng của chúng.

Trước khi bắt đầu, bạn sẽ cần những điều sau đây để kiểm tra push notifications :

  • Thiết bị iOS : Thông báo đẩy không hoạt động trong máy ảo, vì vậy bạn sẽ cần một thiết bị thực tế.
  • Thành viên của Chương trình dành cho nhà phát triển Apple : Kể từ Xcode 7, bạn có thể thử nghiệm các ứng dụng trên thiết bị của mình mà không cần phải là thành viên của chương trình. Tuy nhiên, để cấu hình các thông báo đẩy bạn cần một chứng chỉ thông báo đẩy cho ID ứng dụng của bạn, yêu cầu phải có tư cách thành viên chương trình.
  • Pusher : bạn sẽ sử dụng ứng dụng này để gửi thông báo tới thiết bị. Để cài đặt, hãy làm theo hướng dẫn tại đây .

Bắt đầu 

Có 3 nhiệm vụ chính phải được thực hiện để gửi và nhận push notification :

  1. Ứng dụng phải được định cấu hình đúng và được đăng ký với Dịch vụ push notification của Apple (APNS) để nhận push notification khi khởi động.
  2. Máy chủ phải gửi push notification tới APNS hướng đến một hoặc nhiều thiết bị cụ thể.
  3. Ứng dụng phải nhận được push notification ; sau đó nó có thể thực hiện các tác vụ hoặc xử lý các hành động của người dùng bằng cách sử dụng callbacks trong  application delegate .

Nhiệm vụ 1 và 3 sẽ là trọng tâm chính của hướng dẫn này vì chúng là trách nhiệm của nhà phát triển iOS.

Nhiệm vụ 2 cũng sẽ được trình bày ngắn gọn, chủ yếu cho mục đích thử nghiệm. Gửi push notification là trách nhiệm của máy chủ ( server ) của ứng dụng và thường được triển khai khác nhau từ ứng dụng này sang ứng dụng khác. Nhiều ứng dụng sử dụng các bên thứ ba (bạn có thể tìm thấy một số ví dụ tốt ở đây ) để gửi push notification, trong khi các ứng dụng khác sử dụng các giải pháp tùy chỉnh và / hoặc các thư viện phổ biến (ví dụ: Houston ).

Để bắt đầu, hãy tải xuống dự án khởi động của WenderCast . WenderCast là nguồn truy cập của mọi người cho các podcast trên mạng và tin tức mới nhất.

Mở WenderCast.xcodeproj trong Xcode và xem nhanh xung quanh. Xây dựng và chạy trong trình mô phỏng iPhone để xem các podcast mới nhất (bạn sẽ sớm sử dụng thiết bị thực!):

Hướng dẫn Push Notifications cơ bản trong iOS

Vấn đề với ứng dụng là nó không cho phép người dùng biết khi nào một podcast mới có sẵn. Nó cũng không thực sự có bất kỳ tin tức nào để hiển thị. Bạn sẽ sớm khắc phục tất cả những điều đó với sức mạnh của push notifications !

Định cấu hình ứng dụng hướng dẫn push notification

Thông báo đẩy yêu cầu nhiều bảo mật. Điều này khá quan trọng vì bạn không muốn bất kỳ ai khác gửi thông báo đẩy tới người dùng của mình. Thật không may, điều này có nghĩa là có một số nhiệm vụ cần thiết để định cấu hình ứng dụng cho push notification.

Bật dịch vụ thông báo đẩy

Bước đầu tiên là thay đổi ID ứng dụng. Chuyển đến App Settings -> General và thay đổi Bundle Identifier thành một thứ duy nhất:

Hướng dẫn Push Notifications cơ bản trong iOS

Trong Signing ngay bên dưới mục này, hãy chọn Nhóm phát triển của bạn . Một lần nữa, đây phải là tài khoản nhà phát triển có trả phí. Nếu bạn không thấy bất kỳ nhóm nào, trước tiên bạn cần phải thêm nhóm phát triển của mình qua Xcode -> Preferences -> Accounts -> + .

Tiếp theo, bạn cần tạo ID ứng dụng trong tài khoản nhà phát triển của mình đã bật quyền push notification . Mai mắn là , Xcode có một cách đơn giản để làm điều này. Chuyển đến App Settings -> Capabilities và lật nút gạt để bật Push Notifications thành On .

Sau khi tải một số, nó sẽ giống như thế này:

Hướng dẫn Push Notifications cơ bản trong iOS

Nếu có bất kỳ sự cố nào xảy ra, hãy truy cập Trung tâm nhà phát triển Apple . Bạn có thể chỉ cần đồng ý với giấy phép nhà phát triển mới, mà Apple muốn cập nhật và thử lại. Trường hợp xấu, bạn có thể cần phải thêm các push notification theo cách thủ công bằng cách sử dụng các nút + và Edit .

Điều này tạo ra ID ứng dụng và sau đó cho phép nó thêm các push notification . Bạn có thể đăng nhập vào Trung tâm nhà phát triển Apple và xác minh điều này:

Hướng dẫn Push Notifications cơ bản trong iOS

Đó là tất cả những gì bạn cần phải cấu hình ngay bây giờ.

Đăng ký thông báo đẩy

Có hai bước để đăng ký thông báo đẩy. Trước tiên, bạn phải có được sự cho phép của người dùng để hiển thị bất kỳ loại thông báo nào, sau đó bạn có thể đăng ký các thông báo từ xa. Nếu mọi việc suôn sẻ, sau đó hệ thống sẽ cung cấp cho bạn device token mà bạn có thể coi là “địa chỉ” cho thiết bị này.

Trong WenderCast, bạn sẽ đăng ký thông báo đẩy ngay sau khi ứng dụng khởi chạy.

Mở AppDelegate.swift và thêm mục nhập sau vào đầu tệp:

import UserNotifications

Sau đó thêm phương thức sau vào cuối AppDelegate:

func registerForPushNotifications() { UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in print("Permission granted: (granted)") } }

Cuối cùng, thêm cuộc gọi registerForPushNotifications()vào cuối application(_:didFinishLaunchingWithOptions:):

func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // ... existing code ... registerForPushNotifications() return true }

Hãy đi qua phần trên: UNUserNotificationCenterđã được giới thiệu trong iOS 10 trong khung UserNotifications. Nó chịu trách nhiệm quản lý tất cả các hoạt động liên quan đến thông báo trong ứng dụng.

Bạn gọi requestAuthorization(options:completionHandler:)đến (bạn đoán nó) yêu cầu ủy quyền cho các thông báo đẩy. Tại đây, bạn phải chỉ định các loại thông báo mà ứng dụng của bạn sẽ sử dụng. Các loại (được đại diện bởi UNAuthorizationOptions) có thể là bất kỳ sự kết hợp nào sau đây:

  • .badge cho phép ứng dụng hiển thị số ở góc của biểu tượng ứng dụng.
  • .sound cho phép ứng dụng phát âm thanh.
  • .alert cho phép ứng dụng hiển thị văn bản.
  • .carPlay cho phép ứng dụng hiển thị thông báo trong môi trường CarPlay.

Bạn gọi registerForPushNotificationsbên trong application(_:didFinishLaunchingWithOptions:)để đảm bảo ứng dụng demo sẽ cố gắng đăng ký thông báo đẩy bất kỳ khi nào ứng dụng được khởi chạy.

Xây dựng và chạy. Khi ứng dụng khởi chạy, bạn sẽ nhận được lời nhắc yêu cầu quyền gửi thông báo cho bạn.

Hướng dẫn Push Notifications cơ bản trong iOS

Nhấn OK và poof! Ứng dụng hiện có thể hiển thị thông báo. Tuyệt quá! Nhưng giờ thì sao? Điều gì xảy ra nếu người dùng từ chối quyền? Thêm phương thức này vào bên trong AppDelegate:

func getNotificationSettings() { UNUserNotificationCenter.current().getNotificationSettings { (settings) in print("Notification settings: (settings)") } }

Phương pháp này rất khác với phương pháp trước. Trong phương pháp trước, bạn đã chỉ định cài đặt bạn muốn , nhưng phương thức này trả về cài đặt mà người dùng đã cấp .

Điều quan trọng là phải gọi getNotificationSettings(completionHandler:)trong trình xử lý hoàn tất requestAuthorization, điều này xảy ra bất cứ khi nào ứng dụng kết thúc khởi chạy. Điều này là do người dùng có thể, bất cứ lúc nào, đi vào ứng dụng Cài đặt và thay đổi quyền thông báo.

Cập nhật requestAuthorizationđể gọi getNotificationSettings()trong vòng kết thúc hoàn thành như sau:

func registerForPushNotifications() { UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in print("Permission granted: (granted)") guard granted else { return } self.getNotificationSettings() } }

Bước 1 bây giờ đã hoàn tất, và bây giờ bạn đã sẵn sàng đăng ký các thông báo từ xa!

Cập nhật getNotificationSettings()với những điều sau đây:

Từ khóa » Xin Noti Là Gì