Binding to phonegap-plugin-push
Register and receive push notifications
Source: phonegap-plugin-push
Don't forget to switch to a compiler >= 4.03.0.
opam switch 4.03.0
- This binding is available in opam
opam install cordova-plugin-push-notifications
- You can also pin the repository with
opam pin add cordova-plugin-push-notifications https://github.com/dannywillems/ocaml-cordova-plugin-push-notifications.git
To compile your project, use
ocamlfind ocamlc -c -o [output_file] -package gen_js_api -package cordova-plugin-push-notifications [...] -linkpkg [other arguments]
Don't forget to install phonegap-plugin-push with
cordova plugin add phonegap-plugin-push
See the official documentation phonegap-plugin-push
As other binding to Cordova plugins, the OCaml interface is very close to the
JavaScript interface. Instead of creating a new type in the top-level, objects
type like Android options or iOS options are encapsulated in a submodule
Android
(and Ios
) in the module Options
. Each submodule has a type t
representing the object for the options and a function create
to create the
option object.
In addition to standard payloads (= information sent by the push notification server) like title and message you can get back any additional data you sent to the push notification server.
All additional data are encapsulated in the attribute additional_data
(which
is of type Additional_data.t
) of the notification data (of type
Data_notification.t
, passed in the callback
on_notification
).
The binding allows you to get some official additional data like the foreground
(with Additional_data.foreground additional_data_value
) or the notification ID
(with Additional_data.not_id additional_data_value
). If you want to get some
unofficial payload you created, you can use Additional_data.get additional_data_value payload_as_string
which returns a Ojs.t
object (see
gen_js_api).
In ocsigen-start, the module
Os_push_notifications
provides a simple interface to FCM (Google Cloud
Messaging) to create a push notification server and send notification to
devices.