プッシュ通知に対する質問で最も多く寄せられるのがInvalid Tokenに関するものです。今回はInvalid Tokenがなぜ発生するのか説明したいと思います。
そもそも Invalid Tokenとは?
Invalid Tokenはその名の通り、不正なトークンであるというエラーです。プッシュ通知が届く、届かないというエラーではなく、トークンが不正であるためにエラーが発生しています。エラーはAPNs/FCMにおいて発生しています。
不正なトークンとは?
不正なトークンとは、証明書とトークンの組み合わせが不正であるという状態になります。通常、アプリをリリースするに当たって証明書を設定してデバイストークンを収集し、プッシュ通知を配信するだけであれば発生しません。
発生する理由は?
最も多いのは開発時とリリース時で同じアプリケーションキーを使い回している場合です。開発時にすでに幾つかのデバイストークンが保存されてしまっており、その状態で証明書をリリース版に差し替えたことで開発時にデバイストークンがInvalid Tokenになってしまいます。
もう一つ多いのはインポートした場合です。この場合、インポート元のデバイストークンにおいてエラーが発生してしまっているのにそのまま放置されていたり、開発用のトークンと本番環境のものが混ざってしまっていたりすると発生します。
発生しないようにするには?
まず開発版とリリース版でアプリケーションキーを分けるようにしてください。また、一からInstallationクラスの中身を作るようにしてください。この二つが守られている限りは問題は発生しないでしょう。
もしリリース版で更新してしまったとしたら、Installationクラスの内容はすべて削除しないといけないでしょう。
もしInvalid Tokenが発生してお困りのことがあれば、テクニカルサポートまでご連絡ください(有償)。ログを調べて、Invalid Tokenの原因を知ることができます。
Invalid Tokenは排除しなければプッシュ通知が送れなくなってしまいます。ぜひ早めに対応にしてください。