> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mapping SDK web

> Comparez les méthodes du SDK web OneSignal entre le modèle Player hérité et le nouveau modèle utilisateur. Apprenez à migrer votre implémentation avec des exemples de code TypeScript et des références de méthodes mises à jour.

<Warning>
  OneSignal est passé d'un modèle centré sur l'appareil (Player ID) à un modèle centré sur l'utilisateur (OneSignal ID). Pour obtenir des conseils de migration, consultez le [Guide de migration du modèle utilisateur](./user-model-migration-guide).

  Pour la documentation sur les implémentations héritées centrées sur l'appareil, voir [Version 9](/v9.0/docs/web-push-sdk).
</Warning>

## Vue d'ensemble

Ce document établit une correspondance entre les méthodes, propriétés et événements du **SDK web modèle Player** hérité de OneSignal et le SDK **modèle utilisateur** plus récent. Chaque section inclut des exemples de code TypeScript correspondants, démontrant clairement comment mettre à jour votre intégration.

Tous les exemples sont simplifiés à des fins de démonstration. Pour des implémentations complètes et à jour, consultez les liens de documentation fournis sous chaque méthode ou événement.

## Service worker OneSignal

Mettez à jour l'import dans votre fichier `OneSignalSDKWorker.js` :

**Modèle Player :**

```javascript theme={null}
importScripts('https://cdn.onesignal.com/sdks/OneSignalSDKWorker.js');
```

**Modèle utilisateur :**

```javascript theme={null}
importScripts("https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.sw.js");
```

Conservez le même chemin de fichier. Mettez simplement à jour l'URL `importScripts`.

Voir [Service worker OneSignal](./onesignal-service-worker) pour plus d'informations.

## Initialisation

### `init()`

**Modèle Player :** [Docs](/v9.0/docs/web-push-sdk)

```html theme={null}
<script src="https://cdn.onesignal.com/sdks/OneSignalSDK.js" async></script>
<script>
window.OneSignal = window.OneSignal || [];
OneSignal.push(function() {
  OneSignal.init({
    appId: "YOUR_APP_ID"
  });
});
</script>
```

**Modèle utilisateur :** [Docs](./mobile-sdk-reference#initialize)

```html theme={null}
<script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
<script>
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(async function(OneSignal) {
  await OneSignal.init({
    appId: "YOUR_APP_ID",
  });
});
</script>
```

### `provideUserConsent()`

**Modèle Player :** [Docs](/v9.0/docs/web-push-sdk)

```typescript theme={null}
OneSignal.provideUserConsent(true)
```

**Modèle utilisateur :** [Docs](./mobile-sdk-reference#setconsentgiven)

```typescript theme={null}
OneSignal.setConsentGiven(true)
```

## Inscription aux notifications push

### `showNativePrompt()`

**Modèle Player :**

```typescript theme={null}
OneSignal.showNativePrompt()
```

**Modèle utilisateur :** [Docs](./mobile-sdk-reference#requestpermission-fallbacktosettings-push)

```typescript theme={null}
OneSignal.Notifications.requestPermission()
```

### `registerForPushNotifications()` — Supprimé dans le modèle utilisateur

```typescript theme={null}
OneSignal.registerForPushNotifications()
```

### `#permissionPromptDisplay`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('permissionPromptDisplay', () => ...)
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#addeventlistener-push-notification)

```typescript theme={null}
OneSignal.Notifications.addEventListener('permissionPromptDisplay', event => { ... })
```

### `showSlidedownPrompt()`

**Modèle Player :**

```typescript theme={null}
OneSignal.showSlidedownPrompt()
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#promptpush)

```typescript theme={null}
OneSignal.Slidedown.promptPush()
```

### `showHttpPrompt()` — Supprimé dans le modèle utilisateur

```typescript theme={null}
OneSignal.showHttpPrompt()
```

### `showCategorySlidedown()`

**Modèle Player :**

```typescript theme={null}
OneSignal.showCategorySlidedown()
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#promptpushcategories)

```typescript theme={null}
OneSignal.Slidedown.promptPushCategories()
```

### `#getNotificationPermission`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('getNotificationPermission', (permission) => ...)
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#addeventlistener-push-subscription)

```typescript theme={null}
OneSignal.User.PushSubscription.addEventListener('change', ({ optedIn }) => { ... })
```

### `isPushNotificationsSupported()`

**Modèle Player :**

```typescript theme={null}
OneSignal.isPushNotificationsSupported()
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#ispushsupported)

```typescript theme={null}
OneSignal.Notifications.isPushSupported()
```

### `isPushNotificationsEnabled()`

**Modèle Player :**

```typescript theme={null}
await OneSignal.isPushNotificationsEnabled()
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#optedin)

```typescript theme={null}
OneSignal.User.PushSubscription.optedIn
```

### `#subscriptionChange`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('subscriptionChange', (subscribed) => ...)
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.PushSubscription.addEventListener('change', ({ token }) => { ... })
```

## Analytique

### `#notificationPermissionChange`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('notificationPermissionChange', ({ to }) => ...)
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#permissionchange)

```typescript theme={null}
OneSignal.Notifications.addEventListener('permissionChange', permission => { ... })
```

### `#popoverShown`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('popoverShown', () => ...)
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#addeventlistener-slidedown)

```typescript theme={null}
OneSignal.Slidedown.addEventListener('slidedownShown', presented => { ... })
```

### `#customPromptClick`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('customPromptClick', ({ result }) => ...)
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#click)

```typescript theme={null}
OneSignal.Notifications.addEventListener('click', ({notification, result}) => { ... })
```

## ID utilisateur

### `getUserId()`

**Modèle Player :**

```typescript theme={null}
OneSignal.getUserId()
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#id)

```typescript theme={null}
OneSignal.User.PushSubscription.id;
```

### `setExternalUserId()`

**Modèle Player :** [Docs](./users)

```typescript theme={null}
OneSignal.setExternalUserId("external id")
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#login-external-id)

```typescript theme={null}
OneSignal.login("external id")
```

### `removeExternalUserId()`

**Modèle Player :**

```typescript theme={null}
OneSignal.removeExternalUserId()
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#logout)

```typescript theme={null}
OneSignal.logout()
```

### `getExternalUserId()`

**Modèle Player :**

```typescript theme={null}
await OneSignal.getExternalUserId()
```

**Modèle utilisateur :** [Docs](./web-sdk-reference#externalid)

```typescript theme={null}
OneSignal.User.externalId
```

## Balises

### `sendTag()`

**Modèle Player :**

```typescript theme={null}
OneSignal.sendTag("key", "value")
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.addTag("key", "value")
```

**Modèle utilisateur** [doc](./web-sdk-reference#addtag-%2C-addtags)

### `sendTags()`

**Modèle Player :**

```typescript theme={null}
OneSignal.sendTags({ key1: 'value1', key2: 'value2' })
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.addTags({ key1: 'value1', key2: 'value2' })
```

### `getTags()`

**Modèle Player :**

```typescript theme={null}
await OneSignal.getTags()
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.getTags()
```

### `deleteTag()`

**Modèle Player :**

```typescript theme={null}
OneSignal.deleteTag("key")
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.removeTag("key")
```

### `deleteTags()`

**Modèle Player :**

```typescript theme={null}
OneSignal.deleteTags(["key1", "key2"])
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.removeTags(["key1", "key2"])
```

## Notifications push

### `sendSelfNotification()` — Supprimé dans le modèle utilisateur

```typescript theme={null}
OneSignal.sendSelfNotification('title', 'message', 'url')
```

### `setSubscription()`

**Modèle Player :**

```typescript theme={null}
OneSignal.setSubscription(false)
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.Notifications.permission = false
```

## Réception des notifications

### `#notificationDisplay`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('notificationDisplay', (event) => { ... })
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.Notifications.addEventListener('foregroundWillDisplay', ({ notification }) => { ... })
```

### `#notificationDismiss`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('notificationDismiss', (event) => { ... })
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.Notifications.addEventListener('dismiss', ({ notification }) => { ... })
```

### `#addListenerForNotificationOpened`

**Modèle Player :**

```typescript theme={null}
OneSignal.on('addListenerForNotificationOpened', (event) => { ... })
```

## E-mail

### `setEmail()`

**Modèle utilisateur** [doc](./web-sdk-reference#addemail-%2C-removeemail)

**Modèle Player :**

```typescript theme={null}
OneSignal.setEmail('email@example.com')
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.addEmail('email@example.com')
```

### `logoutEmail()`

**Modèle Player :**

```typescript theme={null}
OneSignal.logoutEmail()
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.removeEmail('email@example.com')
```

### `getEmailId()` — Supprimé dans le modèle utilisateur

## SMS

### `setSMSNumber()`

**Modèle Player :**

```typescript theme={null}
OneSignal.setSMSNumber('+11234567890')
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.addSms('+11234567890')
```

### `logoutSMSNumber()`

**Modèle Player :**

```typescript theme={null}
OneSignal.logoutSMS()
```

**Modèle utilisateur :**

```typescript theme={null}
OneSignal.User.removeSms('+11234567890')
```

***
