Closed sdc-78 closed 7 years ago
Bonjour,
La fonction didReceiveRemoteNotification
est dans votre application, si elle n'est pas appelée en cas de notification cela ne peut pas être la faute du SDK Dimelo, c'est plus probablement AzME ou la façon dont vous intégrez leur notifications qui ne délègue plus les autres notifications a notre SDK.
Votre application doit appeler consumeReceivedRemoteNotification
avec les notifications reçu, et si cette fonction renvoi false c'est que la notification n'est pas pour nous et vous pouvez appeler un autre handler. N'y aurai-t-il pas un handler pour les notifications de AzME avant qui s'attribue nos notifications ? Ils faut que vous vérifiez que la méthode consumeReceivedRemoteNotification
est bien appelé de votre côté.
Oui, la méthode application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
est bien dans notre code, et elle appelle bien consumeReceivedRemoteNotification
. Comme je vous l'ai indiqué, j'arrive parfaitement à faire fonctionner Dimelo dès que je désactive AzME. L'intégration d'AzME se fait de manière très similaire à la votre, et je passe les notifications à AzME en dernier. S'il y a un soucis, il est plus subtile que cela. Vous avez peut-être raison en indiquant que « c'est plus probablement AzME », mais on peut aussi dire que c'est plus probablement Dimelo ! Ça ne m'aide pas à avancer !
Ok alors que renvoi la méthode "consumeReceivedRemoteNotification" quand vous l’appelez avec une de nos notifications? c'est vous qui avez le code pas nous et rien de ce que vous nous avez indiqué pour l'instant ne pointe vers un bug du SDK Dimelo.
Peut-on continuer la discussion sur un canal privé ? Vos équipes ont déjà mon email.
J'ai fini par m'apercevoir que sous iOS 10, AzME positionnait sa propre implémentation de UNUserNotificationCenterDelegate
lorsqu'on n'en définissait pas une dans application(_:didFinishLaunchingWithOptions:)
. Du coup, cette implémentation interceptait toutes les notifications et ne traitait que les siennes. Cela explique pourquoi sous iOS 10, les notifications de Dimelo ne fonctionnaient pas. La solution est donc de positionner UNUserNotificationCenter.current().delegate
et de traiter les notifications AzME et les notifications DImelo dans les méthodes userNotificationCenter(_:didReceive:withCompletionHandler:)
et userNotificationCenter(_:willPresent:withCompletionHandler:)
.
Problem solved et ça nous fait par la même occasion une expérience avec les clients qui auraient également intégré AzME.
Merci pour l'explication détaillée ;).
Merci @sdc-78
SI je désactive l'utilisation d'AzME dans mon application, les notifications de Dimelo fonctionnent convenablement. En revanche, si je laisse AzME activé, les notifications d'AzME fonctionnement convenablement et j'ai des dysfonctionnements avec les notifications de Dimelo.
Voilà ce que j'observe :