Giới Thiệu Về Mobile Notification Và Ứng Dụng Vào Unity

Xin chào các bạn, mình là Nguyễn Bảo Khánh, hiện đang là XR Developer tại Công ty OneTech Asia. Chủ đề tiếp đến, mình sẽ giới thiệu về Notification và áp dụng vào dự án mẫu nhé.

Giới thiệu:

Đây là gói package của Unity hỗ trợ việc lên lịch trình để tiến hành push notification một lần hoặc lặp lại trên nền tảng Android và iOS.

Unity Mobile-Notifications-package

Yêu cầu:

  • Tương thích với Unity 2019.4 trở lên.
  • Tương thích với Android 4.4+ (API 19) và iOS 10.0+.

Các tính năng được hỗ trợ

API thông báo thời gian chạy được chia thành hai phần cho cả Android và iOS. Các API này có thể được sử dụng để lên lịch và quản lý thông báo như được liệt kê bên dưới:

Lên lịch thông báo cục bộ một lần hoặc lặp lại.

Hủy các thông báo đã hiển thị và sắp tới (đã lên lịch).

AndroidiOS
Tạo và sửa đổi các kênh (danh mục) thông báo trên Android 8.0 (Oreo) trở lên.Sử dụng Dịch vụ thông báo đẩy của Apple (APN) để nhận thông báo từ xa.
Giữ nguyên thông báo khi thiết bị khởi động lại.Sửa đổi nội dung thông báo từ xa nếu thiết bị nhận được thông báo từ các ứng dụng khác trong khi ứng dụng của bạn đang chạy.
Đặt biểu tượng thông báo tùy chỉnh.Nhóm thông báo thành chuỗi (chỉ được hỗ trợ trên iOS 12+).

Cài đặt và ứng dụng vào Unity

Import package Mobile Notifications

Chúng ta search từ khóa “Mobile Notifications” trong Package Manager.

Nhấn Install để cài đặt gói này vào trong Unity nhé.

Sau khi đã cài đặt, chúng ta kiểm tra lại trong phần Project nhé:

Ứng dụng vào trong Unity

Do Android và iOS sẽ cấu hình khác nhau nên mình sẽ thiết lập môi trường như hình dưới nhé:

Tiến hành tạo các Script như sau: NotificationController.cs, AndroidNotificationController.cs, iOSNotificationController.cs và gắn vào các GameObject tương ứng.

Bây giờ, chúng ta sẽ lần lượt xử lý từng Platform nhé:

AndroidNotificationController.cs:

Bước đầu tiên, chúng ta cần phải yêu cầu quyền để hiển thị Notification.

Kể từ Android 13.0, bắt buộc phải xin phép người dùng để hiển thị Notification.

  • Khi ứng dụng có target SDK nhỏ hơn 33, hệ điều hành sẽ tự động yêu cầu quyền khi ứng dụng được khởi chạy.
  • Khi ứng dụng có  target SDK từ 33 trở lên, ứng dụng phải yêu cầu quyền, nếu không, Notification sẽ không hiển thị.

Chúng ta có thể yêu cầu quyền của người dùng bằng cấu trúc Unity Permission:

Bắt đầu từ Android 8.0, tất cả thông báo phải được gán vào Notification channel. Package này cung cấp một bộ API để quản lý các Notification channels. Dưới đây là cách tạo Notification channel:

Tiếp theo, chúng ta gửi Notification đơn giản vào channel đã tạo ở trên:

Full Script

Chúng ta cần phải define platform để tránh bị lỗi khi switch sang platform khác nhé.

iOSNotificationController.cs:

Tương tự phía Android, chúng ta cũng cần yêu cầu quyền từ hệ thống để gửi Notification:

Tiếp theo, chúng ta dùng hàm Schedule để gửi notification (đơn giản hơn phía Android 1 bước là không cần đăng ký channel)

Full Script

NotificationController.cs:

Ở đây, mình để thời gian là 3 giây sẽ gửi Notification khi mở app, tuy nhiên chúng ta có thể tùy biến nhé. Do khai báo 2 chỗ “[SerializeField]” nên chúng ta nhớ assign chúng vào GameObject nhé.

Tiếp đến, chúng ta qua phần Setting Mobile Notifications

Android và iOS thì chúng ta cứ để mặc định setting. Tuy nhiên với Android, chúng ta có thể thêm các icons Notification và phải thêm đoạn code vô:

Với icon chúng ta nên đọc kỹ yêu cầu như mô tả bên dưới nhé.

Phần “Identifier” chúng ta phải nhập đúng nội dung trong dấu “” như ví dụ trên nhé. Chúng ta có thể đổi tên tùy ý nhưng nhớ phải nhập đúng. Sau đó, assign hình vào ô Texture 2D.

Phía iOS thì sẽ lấy icon mặc định trong app.

Tiếp theo, chúng ta build app rồi xem thử kết quả nhé:

Android iOS

KẾT LUẬN

Trên đây là những chia sẻ của mình về Mobile Notification và áp dụng vào Unity như thế nào.

Những chia sẻ trên chỉ là cơ bản để các bạn có thể hiểu, qua đó các bạn có thể tùy biến và nâng cấp nhiều hơn để có thể hiểu thêm.

Rất hy vọng bài viết này sẽ hữu ích cho các bạn.

Đội ngũ nhân viên trẻ và năng động tại OneTech Asia
Đội ngũ nhân viên trẻ và năng động tại OneTech Asia

OneTech Asia nhận phát triển ứng dụng điện thoại thông minh theo yêu cầu. Chúng tôi đã thực hiện dự án cho hơn 80 khách hàng bao gồm các ứng dụng tích hợp hệ thống, ứng dụng hỗ trợ kinh doanh, quảng cáo, hay công ty thiết kế. Chúng tôi cung cấp nhiều ứng dụng cho các ngành xuất bản, phân phối, y tế, giải trí, trò chơi, vận tải, hậu cần, sản xuất, xây dựng và truyền thông, v.v. 

Nếu bạn có nhu cầu phát triển các ứng dụng cho điện thoại thông minh (Android/iOS) xin đừng ngần ngại liên hệ ngay với chúng tôi để nhận được sự tư vấn và hỗ trợ miễn phí nhé.

Tư vấn - Báo giá
Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
Mọi thông tin tư vấn và báo giá đều miễn phí.

    「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
    Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
    Tư vấn - Báo giá
    Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
    Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
    Mọi thông tin tư vấn và báo giá đều miễn phí.

      「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
      Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
      liên hệ