1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【FCM legacy -> HTTP v1 移行】Instance ID Server APIは2024/06/20以降も使える

Posted at

FCMのlegacy APIからv1 APIに移行する期限が2024/06/20と、あと1ヶ月程に迫っています。

私は一通り対応し切った”つもり”でしたが、もう一度Googleから来たメールを見直すとTopic登録用に使っていたInstance ID Server API(iid)も対象となっており、無駄に焦ったので備忘録です。

Instance ID Server API for Web | No SDK related to this API. | Latest FCM JS SDK.

↓topicにTokenを登録するため、これらのAPIを使っていた

 https://iid.googleapis.com/iid/v1:batchAdd
 https://iid.googleapis.com/iid/v1:batchRemove

https://developers.google.com/instance-id/reference/server?hl=ja
(The Instance ID API is deprecated. って上のバーに出てるんだけど。。)

結論

結論から申し上げると、2024/06/21以降もbatchAddを始めとしたiid APIは利用できます。

詳細

ソースはどこか

英語版のQ&Aにあります
https://firebase.google.com/support/faq

(抜粋)

API Name API Endpoint Impact on users Action Required
Instance ID server APIs ttps://iid.googleapis.com/v1/web/iid Requests to the endpoint will start failing after 6/21/2024. Use an OAuth 2.0 access token derived from a service account.
Instance ID server APIs ttps://iid.googleapis.com/iid/* The endpoints will continue to work but they won’t support authentication using static server keys after 6/21/2024. Use an OAuth 2.0 access token derived from a service account.

これ、日本語版のQ&Aにはありません。これで私は3時間溶かしました。

注意点

記載にもあるとおり、OAuth 2.0を使って認証をしなくてはなりません。
(serverKeyによる認証が弾かれるようになります。)

余談

自分の移行対応

移行前

PHP内でPush通知を実装

  • 送信はlegacyAPIへcurlリクエスト(「トークン1000件」+「メッセージ」を対象者分ループ)

移行後

同じくPHP内でPush通知を実装

  • topic登録

    • v1 APIはtokenのグループ化(デバイスグループ/topic登録)が出来ないので、iidAPIを利用
      注意: デバイス グループ メッセージングを使用するアプリでは、引き続き以前の API を使用してデバイス グループの管理(作成、更新など)を行う必要があります。HTTP v1 はデバイス グループへのメッセージ送信には対応していますが、管理はサポートしていません。        
      
      1000件ごとに対象者のTokenをv1:batchAddで追加していく。
      この辺の実装方法はググるとすぐ出てくるので割愛いたします。
  • push送信

    • v1 APIを利用
      google clientをcomposer installして導入
      client越しにAuth通して、得られたhttpClientにTopicやPush通知内容を指定してFCM側にリクエスト

    参考にさせていただいたエキサイト株式会社様の記事(末尾にリンク貼りました)が参考になったというかほぼそのままで実装できました。

参考にさせていただいたページ

最後に

エンジニアたるもの日本語ドキュメントを信用するのはやめるべし(自戒)

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?