Aperçu
Dans OneSignal, un utilisateur représente un individu avec un ou plusieurs Abonnements sur vos canaux de messagerie (push mobile, push Web, e-mail et SMS).- Chaque utilisateur peut avoir jusqu’à 20 abonnements.
- Chaque utilisateur se voit automatiquement attribuer un OneSignal ID (UUID v4).
- Les utilisateurs commencent comme anonymes jusqu’à ce que vous leur attribuiez un External ID. L’attribution d’un External ID relie les abonnements ensemble et peut remplacer l’ID OneSignal existant si l’utilisateur existe déjà dans votre application.
- Les utilisateurs et les abonnements ont des propriétés différentes. Par exemple, les tags sont stockés au niveau utilisateur, tandis que le statut d’abonnement (opt-in/out) appartient à l’abonnement.
- Lorsque le contexte utilisateur change — par exemple, lors de la connexion (anonyme → identifié) ou du changement de compte (UtilisateurA → UtilisateurB) — l’abonnement est réattribué de l’ancien utilisateur au nouveau.
- L’abonnement héritera désormais des propriétés du nouvel utilisateur.
- Les propriétés liées à l’utilisateur précédent (comme les tags, la langue ou l’External ID) ne s’appliqueront plus.
- UtilisateurA a le tag
premium=true - UtilisateurB a le tag
premium=false - Si un abonnement passe de UtilisateurA à UtilisateurB, il ne sera plus associé à
premium=trueet reflétera plutôt les propriétés de UtilisateurB.
Utilisateurs anonymes vs identifiés
- Utilisateur anonyme : N’a pas d’External ID → chaque abonnement est séparé avec son propre ID OneSignal (traité comme des utilisateurs séparés).
- Utilisateur identifié : A un External ID → OneSignal fusionne tous les abonnements sous un seul ID OneSignal.
- Abonnement push Web →
OneSignal_ID_1 - Abonnement mobile →
OneSignal_ID_2 - Abonnement e-mail →
OneSignal_ID_3 - Abonnement SMS →
OneSignal_ID_4 - Résultat : Quatre utilisateurs (chaque abonnement est un utilisateur séparé avec des propriétés uniques)
- Abonnement push Web avec External ID
External_ID_A→OneSignal_ID_1 - Abonnement mobile avec le même
External_ID_A→ fusionné dansOneSignal_ID_1 - Abonnement e-mail avec le même
External_ID_A→ fusionné dansOneSignal_ID_1 - Abonnement SMS avec le même
External_ID_A→ fusionné dansOneSignal_ID_1 - Résultat : Un utilisateur avec quatre abonnements (tous liés au même utilisateur)
Attribuez toujours un External ID. Cela garantit que les abonnements sur tous les canaux et appareils s’unifient sous un seul profil utilisateur et évite la duplication.
- Utilisez des identifiants stables et non génériques (par ex. votre ID utilisateur interne ou adresse e-mail).
- Appelez
OneSignal.logintôt dans le cycle de vie de votre application.
Utilisateurs anonymes vs identifiés
- Utilisateur anonyme : N’a pas d’External ID → chaque abonnement est séparé avec son propre ID OneSignal (traité comme des utilisateurs séparés).
- Utilisateur identifié : A un External ID → OneSignal fusionne tous les abonnements sous un seul ID OneSignal.
- Abonnement push Web →
OneSignal_ID_1 - Abonnement mobile →
OneSignal_ID_2 - Abonnement e-mail →
OneSignal_ID_3 - Abonnement SMS →
OneSignal_ID_4 - Résultat : Quatre utilisateurs (chaque abonnement est un utilisateur séparé avec des propriétés uniques)
- Abonnement push Web avec External ID
External_ID_A→OneSignal_ID_1 - Abonnement mobile avec le même
External_ID_A→ fusionné dansOneSignal_ID_1 - Abonnement e-mail avec le même
External_ID_A→ fusionné dansOneSignal_ID_1 - Abonnement SMS avec le même
External_ID_A→ fusionné dansOneSignal_ID_1 - Résultat : Un utilisateur avec quatre abonnements (tous liés au même utilisateur)
Attribuez toujours un External ID. Cela garantit que les abonnements sur tous les canaux et appareils s’unifient sous un seul profil utilisateur et évite la duplication.
- Utilisez des identifiants stables et non génériques (par ex. votre ID utilisateur interne ou adresse e-mail).
- Appelez
OneSignal.logintôt dans le cycle de vie de votre application.
Propriétés utilisateur
| Propriété | Description |
|---|---|
| Canal | Les Abonnements que l’utilisateur possède, tels que Push, E-mail ou SMS. |
| OneSignal ID | Un UUID v4 généré automatiquement par OneSignal pour chaque utilisateur. Il peut changer lors de l’attribution d’un External ID. |
| Dernière session | L’horodatage le plus récent de l’interaction avec l’application. |
| Première session | Quand l’utilisateur a été initialement créé dans OneSignal. |
| E-mail du plus récent abonnement e-mail. | |
| Téléphone | Numéro de téléphone du plus récent abonnement SMS. |
| Adresse IP | De l’abonnement le plus récemment mis à jour. |
| External ID | Un identifiant unique que vous attribuez pour unifier l’utilisateur avec votre système. |
| Tags | Métadonnées personnalisées (par ex. préférences, comportement). Voir Tags de données. |
| Emplacement | Coordonnées GPS des abonnements mobiles (si le suivi de localisation est activé). Voir Notifications déclenchées par la localisation. |
| Fuseau horaire | timezone_id au format IANA TZ, défini par le SDK. Peut être mis à jour via l’API. |
| Langue | Langue de l’utilisateur au format ISO 639-1. Peut être mis à jour via l’API ou setLanguage. |
| Alias | Paires clé-valeur comme mixpanel_id : 1234. Voir Alias. |
OneSignal ID
L’OneSignal ID est un UUID v4 interne généré pour représenter de manière unique un utilisateur. Il est automatiquement créé dans des scénarios tels que :- Première ouverture de l’application mobile (ou après réinstallation)
- Nouvel abonnement push Web
- Création d’utilisateurs/abonnements via Create user ou Import CSV
- Effacement du cache du navigateur et retour sur le site
- Déconnexion avec
OneSignal.logout
OneSignal.login, tout ID OneSignal existant lié à l’abonnement actuel est remplacé par celui associé à cet External ID. Les abonnements sur différentes plateformes (Push, E-mail, SMS) seront fusionnés sous le même ID OneSignal s’ils partagent le même External ID.
Réattribution et comportement
Si un utilisateur réinstalle l’application ou efface le cache, un nouvel ID OneSignal et un nouvel abonnement sont créés. Cependant, l’appel deOneSignal.login liera le nouvel abonnement au profil utilisateur d’origine.
Les abonnements ajoutés via OneSignal.User.addEmail ou addSms hériteront de l’ID OneSignal actuel.
Références SDK :
External ID
L’External ID est une chaîne unique que vous attribuez aux utilisateurs pour les suivre sur tous les appareils et abonnements.
Utilisez l'External ID pour suivre l'utilisateur sur tous ses abonnements.
OneSignal.login- Recommandé voir SDK mobile et SDK Web- API Create user
- API Transfer subscription
OneSignal.logout(pour supprimer)
ID restreints
N’utilisez pas de valeurs placeholder ou de valeurs temporaires pour les External ID. Les valeurs suivantes ne peuvent pas être utilisées pour les External ID :NANULL-101all00000000-0000-0000-0000-000000000000
Plusieurs utilisateurs sur le même appareil
Lorsque plusieurs utilisateurs partagent un appareil, chaque nouvelle connexion doit déclencher un appel àOneSignal.login avec un External ID différent. Cela réattribue l’ID OneSignal et l’abonnement au nouvel utilisateur.
Pour gérer la déconnexion, vous pouvez faire ce qui suit pour supprimer le contexte utilisateur :
- Appelez
OneSignal.logout()→ efface l’External ID, supprime les propriétés utilisateur précédentes (tags, alias, etc.) et attribue un ID OneSignal anonyme. - Désactivez éventuellement les notifications en utilisant
optOut, et réactivez-les avecoptInlors de la reconnexion.
Utilisateurs actifs mensuels (MAU)
Les MAU sont utilisés pour la facturation et sont définis comme un Abonnement mobile ayant une dernière session dans la période de facturation de 30 jours. Cela inclut :- Les utilisateurs qui ouvrent votre application pour la première fois, créant un abonnement mobile via notre SDK
- Les utilisateurs qui réinstallent l’application et l’ouvrent à nouveau, créant un autre abonnement mobile via notre SDK
- Les utilisateurs importés via notre API
Exemple de facturation MAU
Si un utilisateur a ces abonnements :- Mobile iOS (actif au cours des 30 derniers jours)
- Mobile Android (actif au cours des 30 derniers jours)
- Push Web
- SMS
Réduire les MAU (par ex., cas d’utilisation de paywall)
Vous pouvez retarder l’initialisation du SDK et la création d’abonnement en utilisant les méthodes de confidentialité du SDK mobile.- Appelez
setConsentRequired()avant d’initialiser le SDK – cela empêche la création automatique d’un abonnement - Appelez
setConsentGiven()lorsque vous êtes prêt à créer un abonnement pour l’utilisateur