the last PN you received might not contain the most recent game state
Push notifications should generally not contain the full state, but instead just be a signal that it's time for the app to go fetch the state from the server.
The app should also treat "user started/brought to foreground" as a signal to go to server and get latest state.
Finally, because nothing is perfect, you could also arrange to do that check, say, every 8 hours. How you do this varies by OS, and by how far back in OS version compatibility you want to go.
Android allows you to start system services, which can run in the background. iOS needs to have you ask for notifications/schedules explicitly, and doesn't allow arbitrary background services.
I would probably not fall back to email, though. Users who care will likely enable push notifications, or check the game manually ("is it my turn yet?") and the every-8-hours or whatever check will take care of the rest.