fix: hapus otomatis token FCM yang UNREGISTERED saat kirim gagal 404
This commit is contained in:
@@ -83,6 +83,17 @@ class FcmService
|
|||||||
if (! $response->successful()) {
|
if (! $response->successful()) {
|
||||||
Log::error('FCM send failed: '.$response->status().' '.$response->body());
|
Log::error('FCM send failed: '.$response->status().' '.$response->body());
|
||||||
|
|
||||||
|
// Token mati/tercabut (mis. SW browser diganti) → hapus dari database
|
||||||
|
// supaya tidak dipakai lagi; aplikasi akan daftarkan token baru saat login berikutnya.
|
||||||
|
if ($response->status() === 404) {
|
||||||
|
$body = $response->json();
|
||||||
|
$code = $body['error']['details'][0]['errorCode'] ?? null;
|
||||||
|
if ($code === 'UNREGISTERED') {
|
||||||
|
\App\Models\ParentDevice::where('fcm_token', $token)->delete();
|
||||||
|
Log::error('FCM device unregistered — token dihapus dari database');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user