High reliability(ensures message sending task) installable "Large volume push" send service using APNs, FCM like 'Braze'
Installable push sending service which can control push targets
with their properties by notification’s conditions.
------- Select FCM API version
| $ export PUSH_WORKER__FCM__LEGACY__SERVER_KEY={..fcm server key..}
| $ export PUSH_WORKER__FCM__CLIENT=legacy
-------
| $ export PUSH_WORKER__FCM__V1__KEY_FILE_NAME={..fcm service account key path..}
| $ export PUSH_WORKER__FCM__V1__PROJECT_ID={..fcm project id..}
| $ export PUSH_WORKER__FCM__CLIENT=v1
-------
------- Select APNs authorization method
| $ export PUSH_WORKER__APNS__P8_CERT__FILE_NAME={..apple apns p8 file path..}
| $ export PUSH_WORKER__APNS__P8_CERT__KEY_ID={..apple apns key_id..}
| $ export PUSH_WORKER__APNS__P8_CERT__TEAM_ID={..apple team_id..}
| $ export PUSH_WORKER__APNS__P8_CERT__TOPIC={..apple product bundle id..}
| $ export PUSH_WORKER__APNS__CERT_TYPE=p8
-------
| $ export PUSH_WORKER__APNS__PEM_CERT__FILE_NAME={..apple apns pem file path..}
| $ export PUSH_WORKER__APNS__CERT_TYPE=pem
-------
$ docker-compose -f local-docker-compose.yml up -d
/
/apiserver
/worker
/messaging
/apns
/fcm
/notification
_________________________
v _____ | _____
[API server] --(____()----> [Notification worker] ----(____()---> [Messaging(APNS) worker] ---+
^ +--(____()---> [Messaging(FCM) worker] ----+
| ______ |
+-----------------(_____()-----------------------------------------+
FCM worker can’t send notification with 403
{"code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED"}}
You should set permission “cloudmessaging.messages.create”
openssl pkcs12 -in {P12 FILE} -out {EXPORTED PEM FILE} -nodes -clcerts