percolatestudio/push

Name: push

Owner: Percolate Studio

Description: Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox)

Created: 2015-04-29 07:02:16.0

Updated: 2018-04-23 13:46:20.0

Pushed: 2015-08-07 01:30:13.0

Homepage: https://atmospherejs.com/raix/push

Size: 274

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Gi-SoftWare

raix:push Push notifications

Push notifications for cordova (ios, android) browser (Chrome, Safari, Firefox) - One unified api on client and server.

Status:

Getting started

Depending on the platforms you want to work with you will need some credentials or certificates.

Have a look at the Basic example

Or check out the DEMO by @elvismercado

Config

Add a config.push.json file in your project and configure credentials / keys / certificates:


pn": {
"passphrase": "xxxxxxxxx",  
"key": "apnProdKey.pem",
"cert": "apnProdCert.pem"

pn-dev": {
"passphrase": "xxxxxxxxx",
"key": "apnDevKey.pem",
"cert": "apnDevCert.pem"
  
cm": {
"apiKey": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"projectNumber": xxxxxxxxxxxx

roduction": true,
 "badge": true,
 "sound": true,
 "alert": true,
 "vibrate": true

Note: This file should be pure json, comments are not supported

Common api
// Push.debug = true; // Add verbosity

Push.send({
    from: 'push',
    title: 'Hello',
    text: 'world',
    badge: 1, //optional, use it to set badge count of the receiver when the app is in background.
    query: {
        // Ex. send to a specific user if using accounts:
        userId: 'xxxxxxxxx'
    } // Query the appCollection
    // token: appId or token eg. "{ apn: token }"
    // tokens: array of appId's or tokens
    // payload: user data
    // delayUntil: Date
});

When in secure mode the client send features require adding allow/deny rules in order to allow the user to send push messages to other users directly from the client - Read more below

Client api
Push.id(); // Unified application id - not a token
Push.setBadge(count); // ios specific - ignored everywhere else
Security allow/deny send

This package allows you to send notifications from the server and client. To restrict the client or allowing the client to send use allow or deny rules.

When a client calls send on Push, the Push's allow and deny callbacks are called on the server to determine if the send should be allowed. If at least one allow callback allows the send, and no deny callbacks deny the send, then the send is allowed to proceed.

Push.allow({
    send: function(userId, notification) {
        return true; // Allow all users to send
    }
});

// Or...
Push.deny({
    send: function(userId, notification) {
        return false; // Allow all users to send
    }
});
Meteor Methods
raix:push-update

Stores a token associated with an application and optionally, a userId.

Parameters:

options - An object containing the necessary data to store a token. Fields:

Returns:

recordId - The id of the stored document associating appName, token, and optionally user in an object of the form:


sult: 'recordId'

raix:push-setuser

Associates the current users ID with an Application/Token record based on the given id.

Parameters:

id - String - The ID of the Application/Token record

raix:push-metadata

Adds metadata to a particular Application/Token record.

Parameters

data - Object containing the following fields:

More Info

For more internal or advanced features read ADVANCED.md

Kind regards

Morten (aka RaiX)


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.