Q.デバイストークンって端末ごとに変わる?A.変わります。Q.どんなときに変わるの?A.以下の3パターンです。Q.なんで変わってしまうの?A.google様が「リフレッシュしといたから」と仰るので。Q.いつ、なんでリフレッシュするの?A.分かりませんでした。上記3パターンの操作をユーザーが行ったとき、Push通知を実装したアプリはgoogle様へデバイストークン発行のお問い合わせを行います。そのとき、リフレッシュされていれば、新トークンの発行となります。ちなみに、Androidではちょっと言葉が違うので、ここで置き換えます。ここからは詳細なお話です。アプリ側の実装を見てみると、こうなっています。ほとんどはライブラリ内の実装なので、上記1〜3のタイミングで変わってしまうのは嫌だ!って言っても無理です。このように実装されています。ここでgoogleにお問い合わせした結果、リフレッシュされていると、新IDの発行と相成ります。基本的にGCMを送信するサーバAPIを用意していて、そこのDBにregistrationIDを登録していると思います。ユーザー単位でregistrationIDを管理している場合、必ず、updateが可能な作りにしておきましょう。ないと、突然、Push通知が来なくなった、とかの障害となります。以上、GCMを実装される方の少しでも助けになれたら幸いです。