Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
5 contributors

Users who have contributed to this file

@simonhaenisch @macdonst @jacquesdev @fredgalvao @alharding
68 lines (54 sloc) 1.66 KB

Typescript definitions

For those of you who use Typescript, we're glad to say that we provide the complete definition file along with our package.

Example usage

All objects will be understood as having a defined type, including init options and eventHandler parameters. All available attributes and properties will have autocomplete support and type checkings.

import 'phonegap-plugin-push/types';

const push = PushNotification.init({
	android: {
	},
	ios: {
		alert: "true",
		badge: true,
		sound: 'false'
	},
	windows: {}
});

push.on('registration', (data) => {
	console.log(data.registrationId);
});

push.on('notification', (data) => {
	console.log(data.message);
	console.log(data.title);
	console.log(data.count);
	console.log(data.sound);
	console.log(data.image);
	console.log(data.additionalData);
});

push.on('error', (e) => {
	console.log(e.message);
});

If you have custom attributes being sent from the server on the payload, you can define them on a custom interface extending the standard one:

module my.custom {
	export interface NotificationEventResponse extends PhonegapPluginPush.NotificationEventResponse {
		additionalData: NotificationEventAdditionalData;
	}

	export interface NotificationEventAdditionalData extends PhonegapPluginPush.NotificationEventAdditionalData {
		bacon?: boolean;
	}
}

push.on('notification', (data: my.custom.NotificationEventResponse) => {
	//standard attributes
	console.log(data.message);
	console.log(data.title);
	console.log(data.count);
	console.log(data.sound);
	console.log(data.image);
	console.log(data.additionalData);

	//custom attributes
	console.log(data.additionalData.bacon);
});
You can’t perform that action at this time.