8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[PUSH通知]APNS TokenをFCM(Firebase Cloud Messaging)のTokenに変換

Last updated at Posted at 2017-12-29

iOSアプリのAPNSTokenをFCM(Firebase Cloud Messaging)のToken(registrationID)に変換するツールを作ったので公開してみます。ニッチなニーズかもしれないが、、、

https://hikarusato.github.io/apnstoken-to-fcmtoken/
APNS TO FCM TOKEN

#作った経緯
iOSアプリのPUSH通知をFCMで行うようにするとAndroidアプリと一緒にPUSH通知関連の管理ができるし1リクエストで複数人にプッシュ通知できるし、かなり便利だと思います。しかも、iOSアプリにFirebaseのSDKを組み込む前にできてしまう。
でも、それ(iOSアプリにFirebaseのSDKを組み込む前にFCMでプッシュ通知)をやるためには下記のAPIを利用する必要があり、次のような制限があります。
https://developers.google.com/instance-id/reference/server#create_registration_tokens_for_apns_tokens

  • GUIで変換するツールが無い(もしかしたら、私の探し方が悪いだけ存在しているのかもしれませんが)ので、エンジニア以外に変換をお願いできない。
  • 1度のAPIリクエストにのせられるAPNS Tokenは100個まで。

これらを解消するため作成しました。

#利用対象
ニッチだと思いますが、下記のいずれかだと思います。

  • iOSアプリにFirebaseのSDKを組み込む前にFCMでプッシュ通知がしたい。
  • あるいは、FirebaseのSDKを組み込んだがFCMのToken(registrationID)をサーバーのDBに保存できていない。

#使い方
1. FCM Server KeyのところにFirebaseのプロジェクトの設定->クラウドメッセージング->サーバーキーを入力。
2. iOSアプリのBundleIDを入力。
3. Sandboxの場合チェックオンする。よくわからない時はチェックオフが大体正しいです。
4. APNSTokenが改行区切りで入ったUTF8のcsvファイルをドラッグ&ドロップする。

APNSTokenリスト内容例
test001a775fa3f12d4c714058a799f47ca5aa1028839e874f1080ceb8c4fe3b
test002cc4d396422d1a257b93f3bc0584de40fa961f4cfff09112a6f89890c9
test0037f30c67ce13756b28c90b2a2a2c4f4602a6032c4c58ec494112e8c3b7
test00470cc1c7885356c22ee185dba8c4c292906fb2652a1a0c09a0bae26119
test005a5378d2e78268e4a2975a9e166b137f8dd757b9f52130edeb1fc766a1

5. [START CONVERT]ボタンをクリックする。下記のような感じでLogの部分に進捗が表示されて、終わったらファイル保存ダイアログが開きます。
apns_to_fcm.gif
作成されるcsvファイルには、

  • 1カラム目には変換後のFCMToken(RegistrationID)
  • 2カラム目には変換前のAPNSToken

が入っています。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?