This are the instructions for an older version of the API. Therefore this version of Pushraven will not receive any updates.
Add Pushraven.jar and json-simple.jar to your project. Or add Pushraven as a Maven dependency:
<dependency>
<groupId>us.raudi.pushraven</groupId>
<artifactId>Pushraven</artifactId>
<version>1.0.2</version>
</dependency>
Pushraven.setKey(my_key);
Notification raven = new Notification();
raven.title("MyTitle")
.text("Hello World!")
.color("#ff0000")
.to(client_key);
Some attributes from the specification may not have been added to Pushraven yet, so you can use the following methods:
raven.addRequestAttribute("delay_while_idle", true); // for request attributes
raven.addNotificationAttribute("color", "#ff0000"); // for notification attirubtes
Request attributes are those in table 1 from the specification.
Notification attributes are those in tables 2a (iOS) and 2b (Android)
NOTE: you may also use the static Notification from Pushraven:
Pushraven.notification.title("title")
.to("clients")
...
Pushraven.push(raven);
// or
Pushraven.setNotification(raven); // if not already set
Pushraven.push();
You can use the clear() methods to ready the raven for a new notification:
raven.clear(); // clears the notification, equatable with "raven = new Notification();"
raven.clearAttributes(); // clears FCM protocol paramters excluding targets
raven.clearTargets(); // only clears targets
NOTE: Clearing the raven is more efficient than creating a new object. As creating a new object will cause Java Garbage Collector to delete the old object.
[1] https://firebase.google.com/docs/cloud-messaging/http-server-ref