Skip to content

half-blue/aplus_mobile_fcm_server

Repository files navigation

aplus_mobile_fcm_server

A+つくばネイティブアプリのためのFCMサーバ(通知バックエンド)

https://fcm.aplus-tsukuba.net/

起動方法

A+つくばの本体のdockerを起動し後に,docker compose up -dで起動します. 1分おきに更新を確認するスクリプトが自動実行されます.

環境構築

firebaseServiceAccountKey.jsonを入手して,ルートにおいてください.

初回実行時は,docker exec -it a_plus_tsukuba-fcm bashで中に入り,python manage.py migrate等が必要です.

  • CREATE DATABASE vhoi5_aplus_mobile_fcm_serverが必要な場合があります
  • データベースやテーブルの文字コードはutf8にしてください.utf8mb4にすると動かなくなります.

APIs

app/apis.pyに説明が書いてあります.

アプリ起動時などに確認するもの

  1. GET api/deviceでデバイスが無効になってないか確認(場合によっては通知権限をリクエストする)
    • PATCH api/device/activateで有効化をリクエストできる
  2. GET api/device/subscriptionで購読情報を確認する

購読スレッドを追加する

POST api/thread/<thread_id>/subscribeで登録する.デバイスレコードや購読情報レコードが未作成の場合は新規作成される.

A+つくばに存在しないスレッドIDも登録できるので注意

スレッドの購読を解除する

DELETE api/thread/<thread_id>/unsubscribe で購読解除する.デバイスレコードや購読情報レコード,指定されたスレッドが存在しない場合はエラーになるが,指定されたスレッドが存在し,かつ購読状態でない場合に購読解除してもエラーにはならない.

通知を送信する

python manage.py notice thread_id thread_title body type post_id reply_id

で更新通知を送ります.

About

FCM server for A+Tsukuba Native Apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •