Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/junker/fcm

Common Lisp Client for FCM - Firebase Cloud Messaging
https://github.com/junker/fcm

common-lisp fcm fcm-notifications firebase firebase-fcm

Last synced: 10 days ago
JSON representation

Common Lisp Client for FCM - Firebase Cloud Messaging

Awesome Lists containing this project

README

        

# FCM

Common Lisp client for FCM - Firebase Cloud Messaging.

## Warning

This software is still ALPHA quality. The APIs will be likely to change.

## Installation

This system can be installed from [UltraLisp](https://ultralisp.org/) like this:

```common-lisp
(ql-dist:install-dist "http://dist.ultralisp.org/"
:prompt nil)
(ql:quickload "fcm")
```

## Usage

```common-lisp
(defvar *fcm* (fcm:make-client-with-service-account "config/firebase.json"))
(defvar *token* "some-device-token")
(defvar *message*
(list :|token| *token*
:|notification| (list :|title| "Message Title"
:|body| "Message body"
:|image| "https://example.org/logo.jpg")))

(handler-case (fcm:send *fcm* *message*)
(fcm:fcm-error (err)
(case (intern (fcm:fcm-error-status err))
('NOT_FOUND
(log:warn "unregistered FCM token: ~A" *token*))
(t
(log:error "FCM error: ~A: ~A; token: ~A" (type-of err) err *token*)))))

```

## Documentation

- [FCM Message format](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages)