# Référence de l'API du plugin Cordova

```txt title="example"
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");

// Should be called before pushwoosh.onDeviceReady
document.addEventListener('push-notification', function(event) {
	var notification = event.notification;
	// handle push open here
});

// Initialize Pushwoosh. This will trigger all pending push notifications on start.
pushwoosh.onDeviceReady({
	appid: "XXXXX-XXXXX",
	serviceName: "XXXX"
});

pushwoosh.registerDevice(
	function(status) {
		var pushToken = status.pushToken;
    	// handle successful registration here
  },
  function(status) {
    // handle registration error here
  }
);
```

## onDeviceReady

```javascript
PushNotification.prototype.onDeviceReady = function( config )
```

_\[android, ios, wp8, windows]_\
Initialise le plugin Pushwoosh et déclenche un message push de démarrage. Doit être appelé à chaque lancement de l'application.

`config.appid` – Code de l'application Pushwoosh.

`config.serviceName` – Nom du service MPNS pour la plateforme wp8.

```txt title="example"
// initialize Pushwoosh with appid : "PUSHWOOSH_APP_ID", serviceName : "WINDOWS_PHONE_SERVICE". This will trigger all pending push notifications on start.
pushwoosh.onDeviceReady({
    appid : "XXXXX-XXXXX",
    serviceName: "XXXX"
});
```

## registerDevice

```javascript
PushNotification.prototype.registerDevice = function( success, fail )
```

_\[android, ios, wp8, windows]_\
Enregistre l'appareil pour les notifications push et récupère un Push Token.

`success` – Callback de succès. Le Push Token est passé en tant que paramètre « status.pushToken » à ce callback.

`fail` – Callback d'erreur.

```txt title="example"
pushwoosh.registerDevice(
    function(status) {
        alert("Registered with push token: " + status.pushToken);
    },
    function(error) {
        alert("Failed to register: " +  error);
    }
);
```

## unregisterDevice

```javascript
PushNotification.prototype.unregisterDevice = function(	success, fail	)
```

_\[android, ios, wp8, windows]_\
Désinscrit l'appareil de la réception des notifications push.

`success` – Callback de succès.

`fail` – Callback d'erreur.

## setTags

```javascript
PushNotification.prototype.setTags = function(	config, success, fail	)
```

_\[android, ios, wp8, windows]_\
Définit les tags pour l'appareil.

**Paramètres**

`config` – Objet avec des tags d'appareil personnalisés.

`success` – Callback de succès. Le Push Token est passé en tant que paramètre « status.pushToken » à ce callback.

`fail` – Callback d'erreur.

```txt title="example"
// sets tags: “deviceName” with value “hello” and “deviceId” with value 10
pushwoosh.setTags({deviceName:"hello", deviceId:10},
    function() {
        console.warn('setTags success');
    },
    function(error) {
        console.warn('setTags failed');
    }
);

// sets list tags "MyTag" with values (array) "hello", "world"
pushwoosh.setTags({"MyTag":["hello", "world"]});
```

## getTags

```javascript
PushNotification.prototype.getTags = function(	success, fail	)
```

_\[android, ios, wp8, windows]_\
Retourne les tags de l'appareil, y compris les tags par défaut.

`success` – Callback de succès. Reçoit les tags en tant que paramètres.

`fail` – Callback d'erreur.

```javascript
pushwoosh.getTags(
    function(tags) {
        console.warn('tags for the device: ' + JSON.stringify(tags));
    },
    function(error) {
        console.warn('get tags error: ' + JSON.stringify(error));
    }
);
```

## getPushToken

```javascript
PushNotification.prototype.getPushToken = function(	success	)
```

_\[android, ios, wp8, windows]_\
Retourne le Push Token s'il est disponible. Notez que le token est également fourni dans le callback de la fonction `registerDevice`.

`success` – Callback de succès.

```javascript
pushwoosh.getPushToken(
    function(token) {
        console.warn('push token: ' + token);
    }
);
```

## getPushwooshHWID

```javascript
PushNotification.prototype.getPushwooshHWID = function(	success	)
```

_\[android, ios, wp8, windows]_\
Retourne le HWID Pushwoosh utilisé pour les communications avec l'API Pushwoosh.

`success` – Callback de `getPushwooshHWID`.

```
pushwoosh.getPushwooshHWID(
    function(token) {
        console.warn('Pushwoosh HWID: ' + token);
    }
);
```

## getRemoteNotificationStatus

```javascript
PushNotification.prototype.getRemoteNotificationStatus = function(	callback, error	)
```

_\[android, ios]_\
Retourne le statut détaillé des permissions de notifications push.

`callback` – Callback de succès. Reçoit un objet avec les propriétés suivantes :

```
{
  "enabled" : notificaions enabled flag.
  "pushBadge" : badges permission granted. (iOS only)
  "pushAlert" : alert permission granted. (iOS only)
  "pushSound" : sound permission granted. (iOS only)
}
```

`error` — Callback d'erreur.

## setApplicationIconBadgeNumber

```javascript
PushNotification.prototype.setApplicationIconBadgeNumber = function(	badgeNumber	)
```

_\[android, ios]_\
Définit le numéro du badge de l'icône de l'application.

`badgeNumber` – Numéro du badge de l'icône.

## getApplicationIconBadgeNumber

```javascript
PushNotification.prototype.getApplicationIconBadgeNumber = function(	callback	)
```

_\[android, ios]_\
Retourne le numéro du badge de l'icône de l'application.

`callback` – Callback de succès.

```
pushwoosh.getApplicationIconBadgeNumber(function(badge){ alert(badge);} );
```

## addToApplicationIconBadgeNumber

```javascript
PushNotification.prototype.addToApplicationIconBadgeNumber = function( badgeNumber )
```

_\[android, ios]_\
Ajoute une valeur au badge de l'icône de l'application.

`badgeNumber` — Numéro incrémental du badge de l'icône.

## getLaunchNotification

```javascript
PushNotification.prototype.getLaunchNotification = function(	callback	)
```

_\[android, ios]_\
Retourne la charge utile (payload) de la notification push si l'application a été démarrée en réponse à une notification push, ou null.

`callback` – Callback de succès.

## clearLaunchNotification

```javascript
PushNotification.prototype.clearLaunchNotification = function(	callback	)
```

_\[android, ios]_\
Efface la notification de lancement, `getLaunchNotification()` retournera null après cet appel.

## setUserId

```javascript
PushNotification.prototype.setUserId = function(	userId	)
```

_\[android, ios]_\
Définit l'identifiant utilisateur (User ID) – un identifiant Facebook, un nom d'utilisateur, un e-mail ou tout autre identifiant utilisateur. Cela permet de faire correspondre les données et les événements sur plusieurs appareils de l'utilisateur.

`userId` – Identifiant de chaîne de l'utilisateur.

## postEvent

```javascript
PushNotification.prototype.postEvent = function( event, attributes )
```

_\[android, ios]_\
Publie des événements pour les messages In-App. Cela peut déclencher l'affichage d'un message In-App tel que spécifié dans le Control Panel Pushwoosh.

`event` – Événement à déclencher.

`attributes` – Objet avec des attributs d'événement supplémentaires.

```
pushwoosh.setUserId("XXXXXX");
pushwoosh.postEvent("buttonPressed", { "buttonNumber" : 4, "buttonLabel" : "banner" });
```

## createLocalNotification

```javascript
PushNotification.prototype.createLocalNotification = function( config, success, fail )
```

_\[android, ios]_\
Planifie une notification locale.

`config.msg` – Message de la notification.

`config.seconds` – Délai de la notification en secondes.

`config.userData` – Données supplémentaires à passer dans la notification.

`success` – Callback de succès.

`fail` – Callback d'erreur.

```
pushwoosh.createLocalNotification({msg:"Your pumpkins are ready!", seconds:30, userData:{}})
```

## clearLocalNotification

```javascript
PushNotification.prototype.clearLocalNotification = function()
```

_\[android]_\
Efface toutes les notifications locales en attente créées par `createLocalNotification`.

## clearNotificationCenter

```javascript
PushNotification.prototype.clearNotificationCenter = function()
```

_\[android]_\
Efface toutes les notifications présentées dans le centre de notifications Android.

## setMultiNotificationMode

```javascript
PushNotification.prototype.setMultiNotificationMode = function( success, fail )
```

_\[android]_\
Permet d'afficher plusieurs notifications dans le centre de notifications Android.

## setSingleNotificationMode

```javascript
PushNotification.prototype.setSingleNotificationMode = function(	success,
fail	)
```

_\[android]_\
Permet d'afficher uniquement la dernière notification dans le centre de notifications Android.

## setSoundType

```javascript
PushNotification.prototype.setSoundType = function( type, success, fail )
```

_\[android]_\
Définit le son par défaut pour les pushs entrants.

`type` – Type de son (0 – par défaut, 1 – pas de son, 2 – toujours).

## setVibrateType

```javascript
PushNotification.prototype.setVibrateType = function(type, success, fail )
```

_\[android]_\
Définit le mode de vibration par défaut pour les pushs entrants.

`type` – Type de vibration (0 – par défaut, 1 – pas de vibration, 2 – toujours).

## setLightScreenOnNotification

```javascript
PushNotification.prototype.setLightScreenOnNotification = function( on, success, fail )
```

_\[android]_\
Allume l'écran lorsqu'une notification arrive.

`on` – Activer/désactiver le déverrouillage de l'écran (désactivé par défaut).

## setEnableLED

```javascript
PushNotification.prototype.setEnableLED = function( on, success, fail )
```

_\[android]_\
Active le clignotement de la LED lorsqu'une notification arrive et que l'écran est éteint.

`on` – Activer/désactiver le clignotement de la LED (désactivé par défaut).

## setColorLED

```javascript
PushNotification.prototype.setColorLED = function( color, success, fail )
```

_\[android]_\
Définit la couleur de la LED. À utiliser avec [setEnableLED](#setenableled).

`color` – Couleur de la LED au format entier ARGB.

## getPushHistory

```javascript
PushNotification.prototype.getPushHistory = function(	success	)
```

_\[android]_\
Retourne un tableau des notifications push reçues.

`success` – Callback de succès.

```
pushwoosh.getPushHistory(function(pushHistory) {
    if(pushHistory.length == 0)
        alert("no push history");
    else
        alert(JSON.stringify(pushHistory));
});

pushwoosh.clearPushHistory();
```

## clearPushHistory

```javascript
PushNotification.prototype.clearPushHistory = function()
```

_\[android]_\
Efface l'historique des pushs.

## cancelAllLocalNotifications

```javascript
PushNotification.prototype.cancelAllLocalNotifications = function( callback )
```

_\[ios]_\
Efface toutes les notifications locales du centre de notifications.

## presentInboxUI

_\[android, ios]_\
Ouvre l'écran de la [boîte de réception (Inbox)](/fr/developer/guides/message-inbox/mobile-message-inbox).

```javascript
PushNotification.prototype.presentInboxUI = function()
```

## setCommunicationEnabled

Une méthode binaire activant/désactivant toute communication avec Pushwoosh. La valeur booléenne **false** désabonne l'appareil de la réception des notifications push et arrête le téléchargement des messages in-app. La valeur **true** annule cet effet.

```javascript
PushNotification.prototype.setCommunicationEnabled = function(enable, success, fail)
```

## removeAllDeviceData

Supprime toutes les données concernant l'appareil.

```javascript
PushNotification.prototype.removeAllDeviceData = function()
```

## push-receive

_\[android, ios]_\
Événement de réception de notification push. Est déclenché lorsque l'application reçoit une notification push au premier plan ou en arrière-plan. Les applications fermées ne reçoivent pas cet événement.

**Propriétés de l'événement**

`message` – (`string`) Message de la notification push.

`userdata` – (`object`/`array`) Données personnalisées de la notification push.

`onStart` – (`boolean`) Est une notification de lancement.

`foreground` – (`boolean`) La notification est-elle reçue au premier plan.

`android` – (`object`) Charge utile (payload) de notification spécifique à Android.

`ios` – (`object`) Charge utile (payload) de notification spécifique à iOS.

`windows` – (`object`) Charge utile (payload) de notification spécifique à Windows.

```
document.addEventListener('push-receive',
	function(event) {
		var userData = event.notification.userdata;

		if (typeof(userData) != "undefined") {
			// handle custom notification data
			console.warn('user data: ' + JSON.stringify(userData));
		}
	}
);
```

## Foreground notifications

Par défaut, le plugin Pushwoosh n'affiche pas les notifications au premier plan et déclenche automatiquement l'événement `push-receive`. Consultez le [guide de personnalisation du plugin](/fr/developer/pushwoosh-sdk/cross-platform-frameworks/cordova/customizing-cordova-plugin/) pour contrôler ce comportement.

### push-notification

_\[android, ios, wp8, windows]_\
Événement d'acceptation de notification push. Il est déclenché lorsque l'utilisateur appuie sur la notification push.

```
document.addEventListener('push-notification',
	function(event) {
		var message = event.notification.message;
		var userData = event.notification.userdata;

		if (typeof(userData) != "undefined") {
			console.warn('user data: ' + JSON.stringify(userData));
		}
	}
);
```

**Propriétés de l'événement**

Identique à [push-receive](#push-receive).

### additionalAuthorizationOptions

_\[ios uniquement]_\
Fournit des [options d'autorisation de notification](https://developer.apple.com/documentation/usernotifications/unauthorizationoptions?language=objc) supplémentaires. Doit être appelé avant d'appeler **registerDevice**.

```
pushwoosh.additionalAuthorizationOptions({ 
	"UNAuthorizationOptionCriticalAlert" : 1,
	"UNAuthorizationOptionProvisional": 0 // set 0 or don't specify the option if you don't want to add it to your app. 
});
```