LaunchLint Academy

La réponse courte
Push combine autorisation, capacité, jeton et fournisseur. Un envoi en développement ne prouve pas la production.
- Contrôlez APNs, canaux Android, POST_NOTIFICATIONS, cycle des jetons, destinations et refus.
Preuves nécessaires avant publication
Ne contrôlez pas notifications push en production comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Séparez trois niveaux de preuve pour notifications push en production : configuration visible dans les fichiers, comportement sur un appareil propre et réglages externes dans Apple Developer, App Store Connect ou Play Console. Le contrôle n’est fiable que si ces niveaux décrivent le même candidat. Attribuez chaque écart à un responsable avec un critère d’arrêt.
Preuves nécessaires avant publication
- Valeur de production pour définir le but identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
1. Définir le but
Séparez transactionnel, sécurité et marketing.
Ne contrôlez pas définir le but comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour définir le but identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
2. Contrôler Apple
Capacité, App ID, signature et aps-environment correspondent.
Ne contrôlez pas contrôler apple comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour contrôler apple identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
3. Configurer APNs
Vérifiez équipe, clé, topic, endpoint et erreurs.
Ne contrôlez pas configurer apns comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour configurer apns identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
4. Gérer Android
Planifiez autorisation, canaux et refus.
Ne contrôlez pas gérer android comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour gérer android identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
5. Résoudre Expo et FCM
Contrôlez projet, identifiants, profil et plugins.
Ne contrôlez pas résoudre expo et fcm comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour résoudre expo et fcm identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
6. Gérer les jetons
Supprimez les jetons obsolètes et traitez les retours.
Ne contrôlez pas gérer les jetons comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour gérer les jetons identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
7. Protéger le payload
Minimisez les données et validez les destinations.
Ne contrôlez pas protéger le payload comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour protéger le payload identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
8. Tester la matrice
Couvrez foreground, background, réinstallation et logout.
Ne contrôlez pas tester la matrice comme un réglage isolé. Reliez-le à notifications push en production, à l’artefact de production signé et aux valeurs de la console. Notez quel fichier produit le réglage, si un framework ou un plugin peut le modifier pendant la construction et comment la valeur résolue a été vérifiée. Une valeur plausible dans le projet ne prouve pas que le binaire envoyé contient la même configuration.
Preuves nécessaires avant publication
- Valeur de production pour tester la matrice identifiée
- Fichier ou réglage responsable relié
- Configuration native résolue contrôlée
- Artefact signé testé sur un appareil propre
- Écarts iOS et Android documentés
- Chaque écart possède responsable et critère d’arrêt
Questions fréquentes
Pourquoi la production échoue-t-elle ?
Environnement, signature, bundle, FCM ou profil diffèrent souvent.
Android demande-t-il une autorisation ?
Les versions actuelles l’exigent pour les notifications ordinaires.
Peut-on inclure des données personnelles ?
Minimisez-les et chargez le détail dans l’app.
LaunchLint envoie-t-il un push ?
Non. Il contrôle la configuration statique.