Comments (19)
@nicolasvahidzein Depending on how you are sending the messages solutions could look like this:
When sending to a single token
use Kreait\Firebase\Exception\Messaging\InvalidArgument;
use Kreait\Firebase\Exception\Messaging\NotFound;
try {
$messaging->send($message, $token);
} catch (NotFound $e) {
// $token is not registered to the project (any more)
// Handle the token (e.g. delete it in a local database)
} catch (InvalidArgument $e) {
// $token is not a *valid* registration token, meaning
// the format is invalid, OR the message was invalid
}
When sending to multiple tokens
$report = $messaging->sendMulticast($message, $tokens);
foreach ($report->unknownTokens() as $unknownToken) {
// Handle unknown token
}
foreach ($report->invalidTokens() as $invalidToken) {
// Handle invalid tokens
}
from laravel-firebase.
In software engineering, rubber duck debugging is a method of debugging code. The name is a reference to a story in the book The Pragmatic Programmer in which a programmer would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck.[1] Many other terms exist for this technique, often involving different (usually) inanimate objects.
Many programmers have had the experience of explaining a problem to someone else, possibly even to someone who knows nothing about programming, and then hitting upon the solution in the process of explaining the problem.
https://en.wikipedia.org/wiki/Rubber_duck_debugging
๐
from laravel-firebase.
Nevermind, i had not saved my file, it was an old token. Sorry for the bother and thanks again!!!
from laravel-firebase.
Sometimes one has to just write it down to see it. I love Rubber Duck debugging and am glad you figured it out! ๐ฅณ Anytime again ๐
from laravel-firebase.
@jeromegamez Thank you Jerome. What is rubber duck?
from laravel-firebase.
@jeromegamez LOL i should be ashamed, i have a whale, dolphin, octopus and i yet i still failed!!!
from laravel-firebase.
Thanks @jeromegamez i never knew it had a name, i do this often by just talking to myself like a crazy person but actually talking to someone like i did yesterday with my mentor Jonathan White it helped a lot.
from laravel-firebase.
I am also facing this issue
from laravel-firebase.
@RahulDey12 Without more info, the token youโre using is on of these:
- not in valid format
- registered with another project
- expired/refreshed = not registered with your project anymore
Please make sure that youโre using a current registration token of a device thatโs registered with your project.
from laravel-firebase.
How can I handle refresh token
from laravel-firebase.
check your token @RahulDey12 i made the same mistake.
from laravel-firebase.
@RahulDey12 do it on your device or frontend, it's not something you do in your backend.
from laravel-firebase.
From the error docs at https://firebase.google.com/docs/cloud-messaging/send-message#admin
A previously valid registration token can be unregistered for a variety of reasons, including:
The client app unregistered itself from FCM.
The client app was automatically unregistered.
This can happen if the user uninstalls the application or, on iOS, if the APNS Feedback Service reported the APNS token as invalid.
The registration token expired. For example, Google might decide to refresh registration tokens or the APNS token may have expired for iOS devices.
The client app was updated, but the new version is not configured to receive messages.
For all these cases, remove this registration token and stop using it to send messages.
from laravel-firebase.
Ok so i ran a cron job which deletes all invalid token on midnight from my database
from laravel-firebase.
@RahulDey12 can you share how you delete invalid tokens? How do you even know a token is invalid?
from laravel-firebase.
@nicolasvahidzein It is very simple to check the Invalid token. Checkout this link https://developers.google.com/instance-id/reference/server
But @jeromegamez 's method is more efficient I think.
from laravel-firebase.
Thank you very much Jerome @jeromegamez. You as well @RahulDey12 .
from laravel-firebase.
I use Kreait\Firebase\Exception\Messaging\InvalidMessage instead of InvalidArgument because the error message said InvalidMessage, not InvalidArgument.
thank you btw.
@nicolasvahidzein Depending on how you are sending the messages solutions could look like this:
When sending to a single token
use Kreait\Firebase\Exception\Messaging\InvalidArgument; use Kreait\Firebase\Exception\Messaging\NotFound; try { $messaging->send($message, $token); } catch (NotFound $e) { // $token is not registered to the project (any more) // Handle the token (e.g. delete it in a local database) } catch (InvalidArgument $e) { // $token is not a *valid* registration token, meaning // the format is invalid, OR the message was invalid }
When sending to multiple tokens
$report = $messaging->sendMulticast($message, $tokens); foreach ($report->unknownTokens() as $unknownToken) { // Handle unknown token } foreach ($report->invalidTokens() as $invalidToken) { // Handle invalid tokens }
from laravel-firebase.
@rahmat-ihsan This issue is over two years old, with a new major release in between. Please refer to the current documentation at https://firebase-php.readthedocs.io/en/stable/cloud-messaging.html#validating-messages
If you find an error in the documentation somewhere, feel free to create a PR, thanks! ๐
from laravel-firebase.
Related Issues (20)
- how to remove image from firebase using download url? HOT 1
- how to set up pagination? Please help HOT 1
- Next release HOT 2
- No publishable resources for tag []. Publishing complete. HOT 5
- Callable functions
- SenderId mismatch HOT 7
- Laravel error HOT 2
- getting error HOT 1
- Incompatibility with Eloquent Resources? HOT 1
- Confirm email verification Support
- Its not supported php 8. Please fix this
- Push notifications are not getting displayed in IOS and Android randomly HOT 1
- Be able to override FirestoreClient::DEFAULT_DATABASE HOT 7
- Support PHP8.3 HOT 2
- Firestore insert or update problem when using laravel-octane HOT 3
- Auto discovery not working similar to v4.x HOT 5
- Cannot mock final class for phpunit tests as it's return type is other final class HOT 1
- Support symfony/cache version 7 HOT 3
- Make Support For Laravel 11 HOT 2
- Curl error on Laravel 11 HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from laravel-firebase.