Pourquoi les notifications push ne fonctionnent pas sur testflight?

J'ai testé les notifications push en tant que count développeur et cela a fonctionné, mais quand j'ai essayé de le tester sur TestFlight pour que les testeurs le testent, il n'affiche pas de notification push mais datatables sont correctement reçues. certificate que je dois générer pour TestFlight?

Mais quand j'ai essayé de le mettre sur TestFlight pour que les testeurs le testent, il n'affiche pas de notification push mais datatables sont correctement reçues.

Cette phrase est confuse. Si vous n'avez pas reçu la notification push, queldatatables sont correctement reçues?

Quoi qu'il en soit, si je me souviens bien, pour TestFlight, vous utilisez un profil d'approvisionnement AdHoc, qui fonctionne avec l'environnement de production push. Par conséquent, vous aurez besoin d'un certificate de production push pour pousser vers les appareils qui ont installé l'application via TestFlight. De plus, n'oubliez pas que les jetons de périphériques de développement sont différents des jetons de périphériques de production. Assurez-vous donc d'utiliser les bons jetons.

1.Vous devez utiliser un certificate de production pour la construction de testflight. 2. Vous devez également supprimer sanbox (mode bac à sable) de l'URL de notification push dans le script d'envoi push.

Si vous utilisez Firebase, vous devez append:

  • Vol d'essai:

     -(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [[FIRInstanceID instanceID] setAPNSToken:deviceToken type:FIRInstanceIDAPNSTokenTypeSandbox]; } 
  • Production:

     -(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { [[FIRInstanceID instanceID] setAPNSToken:deviceToken type:FIRInstanceIDAPNSTokenTypeProd]; } 

si vous avez utilisé GCM. En développement:-

 _registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken, kGGLInstanceIDAPNSServerTypeSandboxOption:@YES}; 

En dissortingbution: –

 _registrationOptions = @{kGGLInstanceIDRegisterAPNSOption:deviceToken, kGGLInstanceIDAPNSServerTypeSandboxOption:@NO}; 

Nous avons besoin de deux certificates pour envoyer des notifications, un pour le développement et un pour la production. Dans mon cas, j'utilise la solution PushSharp pour envoyer une notification.

C'est pour le développement:

 var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Sandbox, "development.p12", "password"); var broker = new ApnsServiceBroker(config); 

C'est pour la production:

 var config = new ApnsConfiguration(ApnsConfiguration.ApnsServerEnvironment.Production, "production.p12", "password"); var broker = new ApnsServiceBroker(config);