Attaching a user to the token
Before we move on to covering the two cases though, let’s take a step back and think about how our push notifications will work, because there’s an important caveat we need to cover.
When a user sends a message, we want to notify every user, except the user who created the message (that will be infuriating), so we need some way to send a notification to every token in our database, except for the ones that belong to the user who sent the message.
How will we be able to prevent that? How can we match a user's message with a user's token?
Well, we have access to the user ID in the message object (that is, we always save the ID along with the message content). What if we did something similar with the token, and saved the user ID along with it, so we can be sure to identify which user belongs to which device?
This seems like a pretty simple solution, but that means we need access to the current user’s ID inside NotificationResource
. Let's do that right away, and then...