Hoạt động ngoại tuyến
Tour đã tải về phải dùng được khi không có mạng, kể cả hình ảnh và media. Một số đoạn code tải ảnh lại mặc định là luôn có kết nối, nên khi không có mạng, tour lúc hiển thị đúng lúc không. Tôi tìm ra những chỗ việc tải ảnh và media vẫn phụ thuộc vào mạng hoặc cache, rồi sửa lại để tour đã tải chạy ổn định khi ngoại tuyến.
Luồng đăng nhập
Luồng đăng nhập/đăng ký dần phình to và rối, sửa một chỗ nhỏ cũng mất thời gian và dễ phát sinh lỗi. Tôi gom lại thành một luồng chung do một host quản lý, tách riêng từng màn hình: bắt đầu, xác minh OTP, đăng nhập bằng mật khẩu và tạo tài khoản, đồng thời giúp điều hướng và back stack rõ ràng, dễ kiểm soát hơn. Nhờ vậy, luồng này dễ theo dõi và an toàn hơn mỗi khi cần thay đổi.
Xử lý nền
Các phiên bản Android mới siết chặt việc chạy nền, và một số phần của ứng dụng cần được cập nhật theo mà không làm hỏng những gì đang chạy tốt. Tôi chuyển các tác vụ phù hợp sang WorkManager và làm cho việc dọn dẹp thông báo, trạng thái ổn định hơn.
Mua hàng, crash và analytics
Có những lỗi liên quan đến cả ứng dụng lẫn các dịch vụ bên thứ ba: crash, lỗi trong luồng mua hàng, hay dữ liệu analytics/doanh thu ghi nhận thiếu nhất quán trên Firebase, Amplitude, Branch và Facebook. Với từng báo cáo, tôi kiểm tra đúng lớp liên quan — báo cáo crash, SDK cụ thể hoặc chính luồng mua hàng — để xác định nguyên nhân.


