かってきままな日々
2021-01-01 (Fr) [長年日記]
_ あけまして
おめでとうございます。今年もきままに書いていきます。
Osaka Point に11月乗車分のポイントが付いた。17p。
LiTE は 0.5% なのね。¥3,400 程乗ったのだろう。 1年で 204p くらい貯まる感じ?
LiTE にしなければ 1% だけど、PiTaPa としてでなくクレジットカードとしての 年会費が ¥204 よりもっと高いので、LiTE にしておいて正解だったのだろう。
1年で乗車1回分が無料になるかならないか、くらいなんだな… そう考えると、キャンペーンでもらった 500p ってめっちゃ大盤振る舞いだな。
_ Ruby で FCM
https://github.com/googleapis/google-api-ruby-client
↑この中に全部あるみたい。
gem install google-api-client
で、以下、ruby で、
まずは require。
require 'google/apis/fcm_v1'
インスタンスを作る。
Fcm = Google::Apis::FcmV1
fcm = Fcm::FirebaseCloudMessagingService.new
一旦 Fcm
に代入してるけど、する必要はなさそう。
OAuth 2.0 で認証する。
SCOPE = 'https://www.googleapis.com/auth/firebase.messaging'
fcm.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
json_key_io: File.open('JSONファイル名'),
scope: SCOPE)
fcm.authorization.fetch_access_token!
Firebase console から設定の「サービスアカウント」で、 「新しい秘密鍵の生成」をクリックすると、 JSON がダウンロードできるので、それを保存しておき、上記に指定。
メッセージを送信する。
msg = ::Google::Apis::FcmV1::SendMessageRequest.new({
message: {
android: {
notification: {
title: 'テスト',
body: 'テストメッセージ7',
},
},
token: 'デバイスのトークン',
},
})
fcm.send_message('projects/プロジェクトの番号', msg)
全体を message:{}
で囲む。
ドキュメントには「プロジェクトID」と書いてあるが、 ID を指定しても通知されず、エラーにもならない。 プロジェクト番号を指定すると通知できた。
この2点に悩みまくって2時間以上かかった。
なにがやりたかったか、というと、プライベート通知になってるのを やめたかっただけなんだけど、やめようと思うと新しい JSON の構造 を使う HTTP v1 にしないといけなかったので、必死に移行作業を していた、という。ここまでできれば、あとはもう少しだろう。