Dự án
Tổng quan
DotzLink là nền tảng theo dõi thông báo: ứng dụng Android thu nhận thông báo trên thiết bị, lọc bớt phần không liên quan, gửi phần còn lại lên backend để phân loại, và đẩy lại cho người dùng những sự kiện thật sự đáng chú ý.
Phần khó của bài toán này nằm ở phía Android chứ không ở phía mô hình. Việc đọc thông báo đòi hỏi một quyền đặc biệt mà người dùng phải tự cấp trong phần cài đặt hệ thống, và tiến trình nền phải sống sót qua các cơ chế tiết kiệm pin vốn khác nhau giữa các hãng máy. Một ứng dụng theo dõi sự kiện mà bị hệ thống tắt sau vài giờ thì không theo dõi được gì.
Việc phân loại bằng AI do backend đảm nhiệm; ứng dụng Android tích hợp với dịch vụ đó chứ không huấn luyện hay chạy mô hình trên thiết bị.
Dự án
Phạm vi thực hiện
- Ứng dụng Android native
- Tích hợp Notification Listener của hệ điều hành
- Luồng hướng dẫn và cấp quyền cho người dùng
- Dịch vụ nền và thu nhận thông báo theo thời gian thực
- Lọc thông báo trước khi gửi đi
- Tích hợp API với backend phân loại AI
- Push notification
- Giao diện web hiển thị sự kiện
Vai trò
Công việc đảm nhận
Android Developer / Software Engineer
- Phát triển ứng dụng Android native
- Tích hợp Notification Listener và luồng cấp quyền
- Xử lý nền và thu nhận thông báo theo thời gian thực
- Xây dựng logic lọc thông báo
- Tích hợp API với backend phân loại bằng AI
- Push notification cho các sự kiện đáng chú ý
- Kiểm thử và xử lý độ ổn định khi chạy thật
Dự án
Tính năng chính
Thu nhận thông báo theo thời gian thực
Ứng dụng đăng ký Notification Listener của hệ điều hành và nhận sự kiện ngay khi thông báo xuất hiện, thay vì hỏi định kỳ.
Lọc trước khi gửi
Phần lớn thông báo trên một chiếc điện thoại là nhiễu. Việc lọc đặt ngay trên thiết bị để giảm lượng dữ liệu gửi đi và giảm tải cho phần phân loại.
Phân loại bằng AI qua backend
Thông báo đã lọc được gửi lên backend để phân loại. Ứng dụng tích hợp với dịch vụ này qua API — mô hình không chạy và không được huấn luyện trên thiết bị.
Luồng cấp quyền
Quyền đọc thông báo phải do người dùng tự bật trong cài đặt hệ thống. Ứng dụng hướng dẫn từng bước và kiểm tra lại trạng thái quyền, vì quyền có thể bị thu hồi bất cứ lúc nào.
Ổn định khi chạy nền
Dịch vụ nền được xử lý để tồn tại qua các cơ chế tiết kiệm pin khác nhau giữa các hãng máy — đây là phần tốn công nhất của ứng dụng.
Ứng dụng và web
Sự kiện hiển thị trên chính ứng dụng và trên giao diện web, để xem lại trên màn hình lớn không phải mở điện thoại.
Kiến trúc & công nghệ
Bài toán kỹ thuật
Quyền đọc thông báo
Đây là quyền nhạy cảm, không cấp được bằng hộp thoại thông thường mà phải qua cài đặt hệ thống, và có thể bị tắt lại. Ứng dụng phải hướng dẫn rõ và luôn kiểm tra lại trạng thái.
Tiến trình nền sống sót
Mỗi hãng máy Android có cách quản lý pin riêng và sẵn sàng tắt tiến trình nền. Đảm bảo dịch vụ chạy liên tục là phần khó nhất và phải kiểm thử trên nhiều dòng máy thật.
Lưu lượng và nhiễu
Một thiết bị có thể sinh rất nhiều thông báo trong ngày. Nếu không lọc ngay trên máy, cả đường truyền lẫn phần phân loại đều phải xử lý phần lớn là nhiễu.
Quyền riêng tư
Nội dung thông báo là dữ liệu cá nhân. Nguyên tắc áp dụng là chỉ xử lý phần cần thiết cho việc phân loại, và không có nội dung thông báo nào của người dùng xuất hiện trong trang này.
Dự án
Kết quả
- Ứng dụng Android thu nhận và lọc thông báo theo thời gian thực
- Sự kiện được phân loại qua backend AI và đẩy lại cho người dùng
- Dịch vụ nền hoạt động ổn định qua các cơ chế tiết kiệm pin của nhiều dòng máy
- Sự kiện xem được trên cả ứng dụng và giao diện web
Dự án
Hình ảnh dự án
Ứng dụng Android Giao diện web
Dịch vụ
Dịch vụ liên quan
- Lập trình app di động
App iOS và Android viết riêng cho doanh nghiệp bạn, kèm trang quản trị tiếng Việt.
- Chuyển đổi số cho mọi ngành
Số hóa đúng chỗ đang tốn tiền nhất trước, thấy kết quả sau vài tuần.
- Phần mềm theo yêu cầu
Phần mềm viết theo đúng cách công ty bạn đang chạy, mã nguồn thuộc về bạn.
