Passer au contenu principal

Aperçu

Les notifications push Android sont essentielles pour stimuler l’engagement et la fidélisation des utilisateurs dans votre application Android. Elles vous permettent de fournir des mises à jour en temps réel, des rappels et des messages personnalisés directement à vos utilisateurs, améliorant ainsi l’expérience utilisateur globale et l’attractivité de votre application. OneSignal exploite Firebase Cloud Messaging (FCM) mais est conçu pour offrir encore plus de flexibilité et de fonctionnalités comme le montre ce guide.

Exigences

  • Appareil ou émulateur Android 7.0+ avec “Google Play Store (Services)” installé.
  • Android Studio (les instructions de configuration utilisent Android Studio Meerkat).
  • Application et plateforme OneSignal configurées.

Configurer votre application OneSignal et votre plateforme

Configuration requise pour les notifications push Pour commencer à envoyer des notifications push avec OneSignal, vous devez d’abord configurer votre application OneSignal avec toutes les plateformes que vous prenez en charge—Apple (APNs), Google (FCM), Huawei (HMS), et/ou Amazon (ADM).
Si votre organisation possède déjà un compte OneSignal, demandez à être invité avec un rôle administrateur pour configurer l’application. Sinon, inscrivez-vous pour un compte gratuit pour commencer.
Vous pouvez gérer plusieurs plateformes (iOS, Android, Huawei, Amazon, Web) sous une seule application OneSignal.
1

Créer ou sélectionner votre application

  • Pour ajouter des plateformes à une application existante, allez dans Settings > Push & In-App dans le tableau de bord OneSignal.
  • Pour repartir de zéro, cliquez sur New App/Website et suivez les instructions.

L'exemple montre la création d'une nouvelle application.

2

Configurer et activer une plateforme

  • Choisissez un nom clair et reconnaissable pour votre application et votre organisation.
  • Sélectionnez la ou les plateformes que vous souhaitez configurer (iOS, Android, etc.).
  • Cliquez sur Next: Configure Your Platform.

Exemple de configuration de votre première application, organisation et canal OneSignal.

3

Configurer les identifiants de plateforme

Suivez les instructions en fonction de vos plateformes :Cliquez sur Save & Continue après avoir saisi vos identifiants.
4

Choisir le SDK cible

Sélectionnez le SDK qui correspond à votre plateforme de développement (par exemple, iOS, Android, React Native, Unity), puis cliquez sur Save & Continue.

Sélectionnez le SDK que vous utilisez pour accéder à la documentation.

5

Installer le SDK et enregistrer votre App ID

Une fois votre plateforme configurée, votre OneSignal App ID sera affiché. Copiez et enregistrez cet ID—vous en aurez besoin lors de l’installation et de l’initialisation du SDK.Si vous collaborez avec d’autres personnes, utilisez le bouton Invite pour ajouter des développeurs ou des membres de l’équipe, puis cliquez sur Done pour terminer la configuration.

Enregistrez votre App ID et invitez des membres d'équipe supplémentaires.

Une fois terminé, suivez le guide d’installation du SDK pour votre plateforme sélectionnée afin de terminer l’intégration de OneSignal.

Configuration Android

1. Ajouter le SDK OneSignal

Dans Android Studio, ouvrez votre fichier build.gradle.kts (Module: app) ou build.gradle (Module: app) et ajoutez OneSignal à vos dependencies.
implementation("com.onesignal:OneSignal:[5.1.6, 5.1.99]")

L'exemple montre l'ajout de OneSignal au fichier build.gradle.kts de votre application.

Synchroniser Gradle

Après avoir ajouté la dépendance, synchronisez votre projet :
  • Cliquez sur Sync Now dans la bannière
  • Ou allez dans Fichier > Synchroniser le projet avec les fichiers Gradle

2. Initialiser le SDK dans la classe Application

C’est une meilleure pratique d’initialiser OneSignal dans la méthode onCreate de votre classe Application pour assurer une configuration correcte du SDK sur tous les points d’entrée.
Créez une nouvelle classe (exemple : ApplicationClass) et ajoutez le code suivant.
package com.your.package.name // Remplacez par le nom de votre package
import android.app.Application

class ApplicationClass : Application() {
  override fun onCreate() {
    super.onCreate()
    // L'initialisation OneSignal ira ici
  }
}

Exemple de fichier ApplicationClass.kt.

Ouvrez le fichier AndroidManifest.xml de votre applicationDans votre balise <application> ajoutez android:name=".ApplicationClass" (remplacez .ApplicationClass par le nom réel de votre classe si vous l’avez défini différemment).
xml
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools">

     <application
          android:name=".ApplicationClass"
          android:icon="@mipmap/ic_launcher"
          android:label="@string/app_name"
          ...
      </application>

  </manifest>

AndroidManifest.xml avec le nom .ApplicationClass.

Dans votre ApplicationClass, initialisez OneSignal avec les méthodes fournies. Remplacez YOUR_APP_ID par votre ID d’application OneSignal que vous trouverez dans Paramètres > Clés et ID dans votre tableau de bord OneSignal. Si vous n’avez pas accès à l’application OneSignal, demandez à vos Membres d’équipe de vous inviter.
package com.your.package.name // Remplacez par le nom de votre package

import android.app.Application
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

import com.onesignal.OneSignal
import com.onesignal.debug.LogLevel

class ApplicationClass : Application() {
   override fun onCreate() {
      super.onCreate()

      // Activer la journalisation détaillée pour le débogage (à supprimer en production)
      OneSignal.Debug.logLevel = LogLevel.VERBOSE
      // Initialiser avec votre ID d'application OneSignal
      OneSignal.initWithContext(this, "YOUR_APP_ID")
      // Utilisez cette méthode pour demander les notifications push.
      // Nous recommandons de supprimer cette méthode après les tests et d'utiliser plutôt les messages in-app pour demander l'autorisation de notification.
      CoroutineScope(Dispatchers.IO).launch {
         OneSignal.Notifications.requestPermission(true)
      }
   }
}

Fichier ApplicationClass.kt avec le code OneSignal ajouté.

L’initialisation dans une Activity (comme MainActivity) n’est pas recommandée car elle peut ne pas être appelée lors des démarrages à froid de l’application à partir de liens profonds ou de notifications. Initialisez toujours OneSignal dans votre classe Application pour plus de fiabilité.

3. Personnaliser les icônes par défaut

Nous recommandons de configurer vos icônes de notification pour correspondre à l’image de marque de votre application. Sinon, OneSignal utilisera une icône de cloche par défaut.

Tester l’intégration du SDK OneSignal

Ce guide vous aide à vérifier que votre intégration du SDK OneSignal fonctionne correctement en testant les notifications push, l’enregistrement des abonnements et la messagerie in-app.
Si vous testez avec un émulateur Android, il doit démarrer avec un démarrage à froid.
  1. Allez dans Gestionnaire de périphériques dans Android Studio.
  2. Sélectionnez votre appareil émulateur et cliquez sur Modifier.
  3. Allez dans Paramètres supplémentaires ou Plus.
  4. Définissez l’Option de démarrage sur Démarrage à froid.
  5. Enregistrez les modifications et redémarrez l’émulateur.

Vérifier les abonnements mobiles

1

Lancez votre application sur un appareil de test.

L’invite d’autorisation push native devrait apparaître automatiquement si vous avez ajouté la méthode requestPermission lors de l’initialisation.

Invites d'autorisation push iOS et Android

2

Vérifiez votre tableau de bord OneSignal

Avant d’accepter l’invite, vérifiez le tableau de bord OneSignal :
  • Allez dans Audience > Abonnements.
  • Vous devriez voir une nouvelle entrée avec le statut “Jamais abonné”.

Tableau de bord montrant l'abonnement avec le statut 'Jamais abonné'

3

Retournez dans l'application et appuyez sur Autoriser dans l'invite.

4

Actualisez la page des abonnements du tableau de bord OneSignal.

Le statut de l’abonnement devrait maintenant afficher Abonné.

Tableau de bord montrant l'abonnement avec le statut 'Abonné'

Vous avez créé avec succès un abonnement mobile. Les abonnements mobiles sont créés lorsque les utilisateurs ouvrent votre application pour la première fois sur un appareil ou s’ils désinstallent et réinstallent votre application sur le même appareil.

Configurer les abonnements de test

Les abonnements de test sont utiles pour tester une notification push avant d’envoyer un message.
1

Ajouter aux abonnements de test.

Dans le tableau de bord, à côté de l’abonnement, cliquez sur le bouton Options (trois points) et sélectionnez Ajouter aux abonnements de test.

Ajout d'un appareil aux abonnements de test

2

Nommez votre abonnement.

Nommez l’abonnement pour pouvoir identifier facilement votre appareil plus tard dans l’onglet Abonnements de test.

Tableau de bord montrant le champ 'Nommez votre abonnement'

3

Créez un segment d'utilisateurs de test.

Allez dans Audience > Segments > Nouveau segment.
4

Nommez le segment.

Nommez le segment Test Users (le nom est important car il sera utilisé plus tard).
5

Ajoutez le filtre Test Users et cliquez sur Créer un segment.

Création d'un segment 'Test Users' avec le filtre Test Users

Vous avez créé avec succès un segment d’utilisateurs de test. Nous pouvons maintenant tester l’envoi de messages à cet appareil individuel et à des groupes d’utilisateurs de test.

Envoyer un push de test via l’API

1

Obtenez votre clé API d'application et votre ID d'application.

Dans votre tableau de bord OneSignal, allez dans Paramètres > Clés et ID.
2

Mettez à jour le code fourni.

Remplacez YOUR_APP_API_KEY et YOUR_APP_ID dans le code ci-dessous par vos clés réelles. Ce code utilise le segment Test Users que nous avons créé précédemment.
curl -X \
POST --url 'https://api.onesignal.com/notifications' \
 --header 'content-type: application/json; charset=utf-8' \
 --header 'authorization: Key YOUR_APP_API_KEY' \
 --data \
 '{
  "app_id": "YOUR_APP_ID",
  "target_channel": "push",
  "name": "Testing basic setup",
  "headings": {
  	"en": "👋"
  },
  "contents": {
    "en": "Hello world!"
  },
  "included_segments": [
    "Test Users"
  ],
  "ios_attachments": {
    "onesignal_logo": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
  },
  "big_picture": "https://avatars.githubusercontent.com/u/11823027?s=200&v=4"
}'
3

Exécutez le code.

Exécutez le code dans votre terminal.
4

Vérifiez les images et la livraison confirmée.

Si toutes les étapes de configuration ont été complétées avec succès, les abonnements de test devraient recevoir une notification avec une image incluse :

Notification push avec image sur iOS et Android

Les images apparaîtront petites dans la vue de notification réduite. Développez la notification pour voir l’image complète.
5

Vérifiez la livraison confirmée.

Dans votre tableau de bord, allez dans Livraison > Messages envoyés, puis cliquez sur le message pour voir les statistiques.Vous devriez voir la statistique confirmé, ce qui signifie que l’appareil a reçu le push.

Statistiques de livraison montrant la livraison confirmée

Si vous avez un plan Professionnel ou supérieur, faites défiler jusqu’à Activité de l’audience pour voir la confirmation au niveau de l’abonnement :

Livraison confirmée au niveau de l'appareil dans Activité de l'audience

Vous avez envoyé avec succès une notification via notre API à un segment.
  • Pas de livraison confirmée ? Consultez le guide de dépannage ici.
  • Vous rencontrez des problèmes ? Copiez-collez la requête API et un journal du début à la fin du lancement de l’application dans un fichier .txt. Ensuite, partagez les deux avec support@onesignal.com.

Envoyer un message in-app

Les Messages in-app vous permettent de communiquer avec les utilisateurs pendant qu’ils utilisent votre application.
1

Fermez ou mettez en arrière-plan votre application sur l'appareil.

Cela est nécessaire car les utilisateurs doivent répondre aux critères d’audience in-app avant qu’une nouvelle session ne commence. Dans OneSignal, une nouvelle session commence lorsque l’utilisateur ouvre votre application après qu’elle ait été en arrière-plan ou fermée pendant au moins 30 secondes. Pour plus de détails, consultez notre guide sur comment les messages in-app sont affichés.
2

Créez un message in-app.

  • Dans votre tableau de bord OneSignal, naviguez vers Messages > In-App > Nouveau In-App.
  • Trouvez et sélectionnez le message Welcome.
  • Définissez votre audience comme le segment Test Users que nous avons utilisé précédemment.

Ciblage du segment 'Test Users' avec un message in-app

3

Personnalisez le contenu du message si désiré.

Exemple de personnalisation du message Welcome in-app

4

Définissez le déclencheur sur 'À l'ouverture de l'application'.

5

Planifiez la fréquence.

Sous Planifier > À quelle fréquence voulez-vous afficher ce message ? sélectionnez Chaque fois que les conditions de déclenchement sont satisfaites.

Options de planification des messages in-app

6

Rendez le message actif.

Cliquez sur Activer le message pour qu’il soit disponible pour vos utilisateurs de test chaque fois qu’ils ouvrent l’application.
7

Ouvrez l'application et voyez le message.

Après que le message in-app soit actif, ouvrez votre application. Vous devriez le voir s’afficher :

Message in-app Welcome affiché sur les appareils

Vous ne voyez pas le message ?
  • Démarrez une nouvelle session
    • Vous devez fermer ou mettre en arrière-plan l’application pendant au moins 30 secondes avant de la rouvrir. Cela garantit qu’une nouvelle session est démarrée.
    • Pour plus d’informations, consultez comment les messages in-app sont affichés.
  • Toujours dans le segment Test Users ?
    • Si vous avez réinstallé ou changé d’appareil, rajoutez l’appareil aux Abonnements de test et confirmez qu’il fait partie du segment Test Users.
  • Vous rencontrez des problèmes ?
    • Suivez Obtenir un journal de débogage tout en reproduisant les étapes ci-dessus. Cela générera une journalisation supplémentaire que vous pourrez partager avec support@onesignal.com et nous vous aiderons à enquêter sur ce qui se passe.
Vous avez configuré avec succès le SDK OneSignal et appris des concepts importants comme :Continuez avec ce guide pour identifier les utilisateurs dans votre application et configurer des fonctionnalités supplémentaires.

Identification des utilisateurs

Précédemment, nous avons démontré comment créer des Abonnements mobiles. Maintenant, nous allons étendre l’identification des Utilisateurs sur tous leurs abonnements (y compris push, email et SMS) en utilisant le SDK OneSignal. Nous couvrirons les ID externes, les tags, les abonnements multi-canaux, la confidentialité et le suivi des événements pour vous aider à unifier et engager les utilisateurs sur toutes les plateformes.

Assigner un ID externe

Utilisez un ID externe pour identifier les utilisateurs de manière cohérente sur les appareils, adresses e-mail et numéros de téléphone en utilisant l’identifiant utilisateur de votre backend. Cela garantit que vos messages restent unifiés sur tous les canaux et systèmes tiers (particulièrement important pour les Intégrations). Définissez l’ID externe avec la méthode login de notre SDK chaque fois qu’ils sont identifiés par votre application.
OneSignal génère des ID uniques en lecture seule pour les abonnements (ID d’abonnement) et les utilisateurs (ID OneSignal).Lorsque les utilisateurs téléchargent votre application sur différents appareils, s’abonnent à votre site Web et/ou vous fournissent des adresses e-mail et des numéros de téléphone en dehors de votre application, de nouveaux abonnements seront créés.Il est fortement recommandé de définir l’ID externe via notre SDK pour identifier les utilisateurs sur tous leurs abonnements, quelle que soit la manière dont ils sont créés.

Ajouter des tags de données

Les Tags sont des paires clé-valeur de données de chaîne que vous pouvez utiliser pour stocker des propriétés utilisateur (comme username, role ou préférences) et des événements (comme purchase_date, game_level ou interactions utilisateur). Les tags alimentent la Personnalisation avancée des messages et la Segmentation permettant des cas d’utilisation plus avancés. Définissez les tags avec les méthodes addTag et addTags de notre SDK lorsque des événements se produisent dans votre application. Dans cet exemple, l’utilisateur a atteint le niveau 6 identifiable par le tag appelé current_level défini sur une valeur de 6.

Un profil utilisateur dans OneSignal avec un tag appelé "current_level" défini sur "6"

Nous pouvons créer un segment d’utilisateurs ayant un niveau entre 5 et 10, et l’utiliser pour envoyer des messages ciblés et personnalisés :

Éditeur de segment montrant un segment ciblant les utilisateurs avec une valeur current_level supérieure à 4 et inférieure à 10


Capture d'écran montrant une notification push ciblant le segment Niveau 5-10 avec un message personnalisé


La notification push est reçue sur un appareil iOS et Android avec le contenu personnalisé

Ajouter des abonnements email et/ou SMS

Plus tôt, nous avons vu comment notre SDK crée des abonnements mobiles pour envoyer des messages push et in-app. Vous pouvez également atteindre les utilisateurs via les canaux e-mail et SMS en créant les abonnements correspondants. Si l’adresse e-mail et/ou le numéro de téléphone existent déjà dans l’application OneSignal, le SDK l’ajoutera à l’utilisateur existant, il ne créera pas de doublons. Vous pouvez afficher les utilisateurs unifiés via Audience > Utilisateurs dans le tableau de bord ou avec l’API View user.

Un profil utilisateur avec des abonnements push, email et SMS unifiés par ID externe

Meilleures pratiques pour la communication multi-canaux
  • Obtenir un consentement explicite avant d’ajouter des abonnements e-mail ou SMS.
  • Expliquer les avantages de chaque canal de communication aux utilisateurs.
  • Fournir des préférences de canal afin que les utilisateurs puissent sélectionner les canaux qu’ils préfèrent.

Confidentialité et consentement de l’utilisateur

Pour contrôler quand OneSignal collecte les données utilisateur, utilisez les méthodes de contrôle du consentement du SDK : Consultez notre documentation Confidentialité et sécurité pour plus d’informations sur :

Demander les autorisations push

Au lieu d’appeler requestPermission() immédiatement à l’ouverture de l’application, adoptez une approche plus stratégique. Utilisez un message in-app pour expliquer la valeur des notifications push avant de demander l’autorisation. Pour les meilleures pratiques et les détails d’implémentation, consultez notre guide Demander les autorisations push.

Écouter les événements push, utilisateur et in-app

Utilisez les écouteurs du SDK pour réagir aux actions et aux changements d’état de l’utilisateur. Le SDK fournit plusieurs écouteurs d’événements auxquels vous pouvez vous connecter. Consultez notre guide de référence du SDK pour plus de détails.

Événements de notification push

Pour une personnalisation complète, consultez Extensions de service mobile.

Changements d’état de l’utilisateur

Événements de message in-app

  • addClickListener() : Gère les actions de clic in-app. Idéal pour les liens profonds ou le suivi des événements.
  • addLifecycleListener() : Suit le cycle de vie complet des messages in-app (affichés, cliqués, rejetés, etc.).

Configuration avancée et capacités

Explorez plus de capacités pour améliorer votre intégration :

Configuration et référence du SDK mobile

Assurez-vous d’avoir activé toutes les fonctionnalités clés en consultant le guide de Configuration push mobile. Pour tous les détails sur les méthodes et options de configuration disponibles, visitez la référence du SDK mobile.

Disposition de notification personnalisée

Android 12 et supérieur imposent des modèles système pour les notifications personnalisées. Cependant, vous pouvez toujours personnaliser votre disposition en utilisant les styles de notification standard d’Android.
Les applications ciblant Android 12+ ne peuvent pas utiliser de dispositions entièrement personnalisées en raison des changements de comportement. Consultez Notification.DecoratedCustomViewStyle pour les personnalisations disponibles.
Pour personnaliser votre disposition :

Désactiver le comportement d’ouverture par défaut

Lorsqu’une notification est cliquée, OneSignal reprendra votre application ou ouvrira votre Activity de lancement si votre application a été fermée. Pour empêcher OneSignal d’ouvrir automatiquement votre Activity de lancement lorsqu’une notification est cliquée, ajoutez ceci à votre AndroidManifest.xml :
AndroidManifest.xml
  <application ...>
     <meta-data android:name="com.onesignal.NotificationOpened.DEFAULT" android:value="DISABLE" />
  </application>
Vous devez implémenter un écouteur personnalisé d’ouverture de notification dans la méthode onCreate de votre classe Application. Vous devrez appeler startActivity depuis ce rappel pour amener l’utilisateur vers votre Activity prévue.

Données en arrière-plan et remplacements push

Support des langues de droite à gauche (RTL)

Pour prendre en charge les langues RTL dans les notifications et l’interface utilisateur, ajoutez ceci à votre AndroidManifest.xml :
AndroidManifest.xml
  <application
    android:supportsRtl="true"
    ...
  </application>
Assurez-vous de tester toutes les Activities et vues pour vérifier le comportement RTL correct. Consultez la documentation Android sur la localisation de votre application pour plus d’informations.

Besoin d’aide ?Discutez avec notre équipe d’assistance ou envoyez un e-mail à support@onesignal.comVeuillez inclure :
  • Les détails du problème que vous rencontrez et les étapes de reproduction si disponibles
  • Votre OneSignal App ID
  • L’External ID ou le Subscription ID le cas échéant
  • L’URL du message que vous avez testé dans le OneSignal Dashboard le cas échéant
  • Tous les journaux ou messages d’erreur pertinents
Nous serons ravis de vous aider !