notification firebase laravel
Em đang gặp vấn đề: User đăng nhập vào -> gửi tk, mk, device token. Em phải check user , device token => gửi thông báo đến thiết bị đó: bạn đã đăng nhập Vấn đề là : Em test , cái token em nhập bừa vào nó ko tồn tại -> ko thể push notification đi đc -> báo lỗi 500
Việc em cần làm là phải check cái token device gửi lên xem có tồn tại ko. ko tồn tại thì báo lỗi. nhưng em ko biết check token device như nào? Thanks!
2 ANSWERS
Nếu làm như thế thì đồng nghĩa với việc là bạn đang giấu bug. Vì thêm catch lại thì exception đó đang được handle trong catch, và notification vẫn chưa được gửi đi vì đang gặp lỗi kia.
@huukimit notification ko đc gửi đi vì cái device token nó ko tồn tại. em test em nhập token bừa vào -> ko có thiết bị nào có token đấy cả.
@nhatnguyen123321 à ừm, mình quên mất. Đúng là cũng sẽ có TH device token nó bị lỗi thật. Nhưng chắc mình nghĩ vẫn nên có cơ chế xử lý case này.
Hình như có cách có thể check device token có valid hay là không đó bạn.
Tham khảo:
- https://developers.google.com/instance-id/reference/server
- https://stackoverflow.com/questions/38442434/firebase-cloud-messaging-how-to-validate-tokens
Ngoài ra, bạn nên xóa những token mà đã từng bị invalid đi, để lần sau có gửi notify nó ko bị lặp lại nữa.
lại phải call api. mà em lại ko biết call api trong controller kiểu j
@nhatnguyen123321
ngày xưa thì còn hơi khó, chứ giờ thì easy lắm rồi.
Dùng Http Client. Laravel support tận răng luôn rồi.
https://laravel.com/docs/8.x/http-client
Tuy nhiên mình nghĩ mỗi lần bắn notify, foreach cả ngàn thằng, mà còn phải call cả ngàn lần api để check token thì ko ổn. (tốn quá nhiều thời gian)
Tốt nhất là ko check nữa, cứ gửi như bình thường, thằng nào bị lỗi invalid thì xóa luôn. Rồi sang gưi thằng khác