React-native-onesignal: La notification au clic ne fonctionne pas lorsque l'appareil est inactif pendant une longue période

Créé le 28 mai 2020  ·  35Commentaires  ·  Source: OneSignal/react-native-onesignal

La description:

Remarque : la notification est reçue dans tous les cas et le clic fonctionne dans tous les cas lorsque l'appareil est actif.

Ce problème est critique et se produit lorsque l'appareil est en mode veille pendant une longue période ou si la notification est reçue lorsque l'appareil est éteint et que vous redémarrez :

La notification lorsque vous cliquez dessus n'ouvre pas l'application, en fait, rien ne se passe.

Environnement
natif réactif : 0.62.0
Appareil : Oneplus 3
Version Android : 9

Étapes pour reproduire le problème :

Ce problème ne se produit généralement pas lorsque l'appareil est actif. Pour reproduire, vous devez modifier les paramètres de l'appareil et vous assurer également que l'application est supprimée.

  1. Paramètres > système > options de développement > limite de processus en arrière-plan > aucun processus en arrière-plan
  2. Envoyer une notification depuis le tableau de bord
  3. La notification est reçue sur l'appareil
  4. Cliquez sur la notification, l'application ne s'ouvre pas

Rien d'autre:
Remarque : j'utilise le service d'extension de notification pour modifier la présentation de la notification.

De plus, j'ai essayé l'intention en attente en référence à ce commentaire

Voici le code :

import android.util.Log;
import androidx.core.app.NotificationCompat;
import com.onesignal.OSNotificationDisplayedResult;
import com.onesignal.NotificationExtenderService;
import com.onesignal.OSNotificationReceivedResult;
import java.math.BigInteger;
import android.widget.RemoteViews;
import android.app.PendingIntent;
import android.content.Intent;
import org.json.JSONObject;
import org.json.JSONArray;
import org.json.JSONException;

public class NotificationBigStyle extends NotificationExtenderService {
   String channelId = "";
   <strong i="29">@Override</strong>
   protected boolean onNotificationProcessing(OSNotificationReceivedResult receivedResult) {
      OverrideSettings overrideSettings = new OverrideSettings();
      RemoteViews notificationBig = new RemoteViews(getPackageName(), R.layout.notification_big);

   notificationBig.setTextViewText(R.id.notification_title,receivedResult.payload.body);
   notificationBig.setImageViewResource(R.id.image,R.drawable.notification);

   int requestID = (int) System.currentTimeMillis();

   Intent intent = new Intent(getApplicationContext(), MainActivity.class);
   intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); 
   PendingIntent pendingIntent = PendingIntent.getActivity(this,requestID,intent, PendingIntent.FLAG_UPDATE_CURRENT);

   try {
      JSONObject payload = new JSONObject(receivedResult.payload.rawPayload);
      String channelPayload = payload.getString("chnl");
      JSONObject channel = new JSONObject(channelPayload);
      channelId = channel.getString("id");
   }
   catch (JSONException e) {
       e.printStackTrace();
   }


    overrideSettings.extender = new NotificationCompat.Extender() {
         <strong i="30">@Override</strong>
         public NotificationCompat.Builder extend(NotificationCompat.Builder builder) {
                   builder
                    .setCustomHeadsUpContentView(notificationBig)
                    .setCustomContentView(notificationBig)
                    .setContent(notificationBig)
                    .setCustomBigContentView(notificationBig)
                    .setContentIntent(pendingIntent)
                    .setChannelId(channelId)
                    .setAutoCancel(true);
                   return builder;
         }
      };

      OSNotificationDisplayedResult displayedResult = displayNotification(overrideSettings);
      return true;
   }
}
Android Possible Bug

Commentaire le plus utile

Salut @jkasten2

Merci pour votre temps. J'ai vérifié avec 4.0.4 et essayé tous les cas possibles. Pour l'instant, tout semble fonctionner !

Je confirmerai dans les 3 prochains jours une fois qu'il sera testé de manière approfondie en bêta avec nos utilisateurs.

Tous les 35 commentaires

Salut,

Paramètres > système > options de développement > limite de processus en arrière-plan > aucun processus en arrière-plan

Pourquoi tuez-vous les processus d'arrière-plan ici ? Nous ne pouvons pas garantir le comportement si vous modifiez les paramètres Android par défaut. Le clic de notification est géré en démarrant une intention à partir d'un processus d'arrière-plan, il ne fonctionnera donc pas comme prévu. Espérons que cela clarifie le problème.

Salut @rgomezp , merci pour la réponse. C'était pour reproduire le problème, car normalement pendant l'état actif, la notification au clic fonctionne correctement.

Je vais expliquer le problème plus en détail ici :

  1. Dire si mon appareil est inactif pendant une longue période, comme pendant 3 à 4 heures
  2. la notification est reçue pendant ce temps
  3. plus tard, je déverrouille l'appareil et clique sur la notification, cela n'ouvre pas l'application.

Ce problème se produit également lorsque l'appareil est éteint, j'allume l'appareil et je reçois
notifications précédentes, lorsque je clique dessus, l'application n'ouvre pas.

S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations

@rgomezp avez-vous eu le temps de vérifier cela? La plupart des utilisateurs sont confrontés à ce problème

Salut @crushy26 ,
Notre logique de restauration de notification devrait gérer cela. Mais vous devez vous assurer d'autoriser le démarrage des processus en arrière-plan. C'est peut-être une limitation des appareils OnePlus.

Nous avons exactement le même problème avec notre configuration onesignal. Mais nous n'utilisons pas d'extension de notification.

@crushy26 avez-vous trouvé une solution de contournement ou plus de détails ? Avez-vous des écrans react-native installés ? Si oui, essayez ceci : https://github.com/software-mansion/react-native-screens/issues/17#issuecomment -424704067

BTW, nous utilisons [email protected]

@binchik le problème se produira quel que soit l'extenseur. Mais je prévois de ne pas restaurer la notification et d'autoriser simplement l'affichage des notifications lorsque l'appareil est actif (malheureusement, je dois le faire au moins pour éviter une telle UX boguée). Je vais mettre ça en place demain. référence

et non, je n'utilise pas la navigation réactive, j'utilise la navigation réactive native de WIX. La chose ci-dessus avec les écrans natifs réactifs a-t-elle résolu le problème ?

et pourriez-vous également me faire savoir, sur quel appareil rencontrez-vous ce problème ?

@crushy26 Mon problème a été résolu lorsque j'ai appliqué le correctif du problème des écrans natifs de réaction que j'ai mentionnés ci-dessus. L'appareil sur lequel je l'utilisais est le Samsung Galaxy S8. C'est le seul appareil que j'ai, je n'ai testé sur aucun autre.

@binchik comment procédez-vous pour tester cela ? quel est le scénario dans ton cas ? car pour moi, c'est lorsque l'appareil est inactif pendant une longue période et pendant ce temps, une notification est reçue. Plus tard, lors du déverrouillage de l'appareil, la notification au clic ne fait rien.

@crushy26 J'ai eu le même scénario, et vos étapes de reproduction ont également fait planter l'application au lancement. J'ai utilisé l'option "pas de processus d'arrière-plan" dans les paramètres comme vous l'avez proposé. Avant le patch, il plantait, après avoir appliqué le patch, il a cessé de planter.

Lorsque j'ai essayé de déboguer avec adb logcat , j'ai vu les messages d'erreur du problème react-native-screens que j'ai posté.

D'accord, vous avez donc reproduit et testé, résolu en utilisant la même option "pas de processus en arrière-plan" ? Je ferai de même si c'est le cas car jusqu'à présent je pensais que c'était une anti-méthode ou pas une bonne façon de reproduire le problème.

Est-il possible de clore ce problème @crushy26 ?

@rgomezp Le problème persiste également sur l'exemple d'application dans le référentiel. Je ne sais pas comment quelqu'un ici n'a pas signalé ce problème. OnePlus est utilisé par la majorité des utilisateurs du monde entier. Les applications de repos, même de développeurs moins connus, fonctionnent bien avec les mêmes paramètres de processus sans arrière-plan (c'est juste pour la reproduction), mais dans un scénario normal sur un appareil inactif, les clics de notification fonctionnent également pour d'autres applications. Mes 2 applications avec un signal, donnant les mêmes problèmes.

Si je peux vous aider de toute façon possible. Fais-moi savoir.

Salut,
La raison la plus probable est qu'il s'agit d'un cas limite très spécifique qu'une petite partie des utilisateurs rencontrera un jour.

Paramètres > système > options de développement > limite de processus en arrière-plan > aucun processus en arrière-plan

La plupart des gens n'activent même jamais leurs options de développement et encore moins limitent leurs processus d'arrière-plan. On s'attend à ce que cela puisse avoir des effets secondaires résiduels sur certains environnements d'appareils. Si vous souhaitez implémenter le "patch" comme suggéré par binchik ci-dessus, nous vous encourageons à le faire. S'il vous plaît laissez-nous savoir si vous avez d'autres questions.

Salut @rgomezp ,
Comme je l'ai mentionné, le réglage du développeur sert uniquement à reproduire le problème.

Sans paramètres de développeur ou quoi que ce soit et en essayant simplement un exemple d' application de OneSignal, vous obtiendrez le même problème.

Cela ne se produit avec aucune autre application sur mon appareil.

@rgomezp des entrées ou de l'aide?

Bonjour,
Je ne suis pas. Si vous avez besoin de paramètres de développeur pour reproduire le problème, comment peut-il donner le même problème sans les paramètres ?

Peut-être que j'ai raté quelque chose.

Edit : le problème persiste toujours
PS : Aucune optimisation de la batterie ni aucun paramètre. Je fonctionne avec les paramètres Android par défaut.

Lorsque l'appareil est inactif pendant une longue période et qu'une notification est reçue, rien ne se passe lors du déverrouillage de l'appareil et en cliquant sur la notification.

Je joins un enregistrement d'écran pour le même et l'erreur que j'ai filtrée d'ADB logcat.

Lien d'enregistrement :

https://onesignal.intercom-attachments-3.com/i/o/256430949/37d362816e15f5ba6e3932fb/VID-20201016-WA0047.mp4

Erreur filtrée par logcat ADB :

10-16 19:15:03.341 1619 2958 D NotificationService : onNotificationClick : callUid=10196 10-16 19:15:03.341 1619 2958 D DeviceIdleController : UID de notification f@bdf59f1

Ce problème persiste également dans le dossier d'exemple.

@rgomezp si vous avez besoin de plus d'informations, faites le moi savoir.

@rgomezp pouvez-vous s'il vous plaît examiner le commentaire ci-dessus.

J'ai également mis à niveau vers la version 4.0 bêta pour vérifier, mais le problème persiste.

C'est un problème critique pour mes utilisateurs fonctionnant sur des appareils oneplus et je ne veux vraiment pas changer de bibliothèque maintenant.

S'il vous plaît aider. Merci.

@crushy26 et @binchik êtes-vous tous les deux capables de reproduire cela sur une application vierge avec seulement OneSignal actif ?

Quelles autres dépendances utilisez-vous dans l'application en plus de OneSignal ?

Salut @jfishman1

Vérifié à nouveau sur l' exemple d' application, le problème persiste pour les appareils oneplus exécutant Android 10 (peut également persister sur d'autres fabricants, mais j'ai testé sur oneplus 8, 7T, 3, 3T)

Reproduire:

  1. Envoyer une notification via le tableau de bord
  2. Attendez 10-15 minutes avant de cliquer (gardez la notification telle quelle dans la barre de notification)
  3. Cliquez sur la notification et elle n'ouvrira pas l'application

Fait moi savoir si tu as besoin de quoique ce soit d'autre.

Salut @jfishman1 @rgomezp

Le problème semble être que le gestionnaire d'alarmes n'a pas été reconnu.

Voici l'extrait du journal système :

11-26 21:11:29.151 1716 4733 D NotificationService : onNotificationClick : callUid=10196
11-26 21:11:29.151 1716 4733 D DeviceIdleController : UID de notification
11-26 21:11:29.151 1716 1836 W AlarmManager : écouteur d'alarme non reconnu com.android.server. f@b869e3d
11-26 21:11:29.157 4990 4990 D NotificationListener : onNotificationRemoved# hash : 268132846
11-26 21:11:29.157 4990 4990 D NotificationListener : onNotificationRemoved# sbn : 231717922, package = com.hog.debug
11-26 21:11:29.158 4990 4990 D Launcher.Utilities: isNotificationBadging: badge: 1
11-26 21:11:29.158 4990 4990 D BubbleTextView : applyDotState cn = ComponentInfo{com.hog.debug/com.hog.MainActivity}, animation = true, wasDoted = true, isDoted = false, dotScale = 1.0, mDotInfo = null
11-26 21:11:29.158 4990 4990 D PopupDataProvider: onNotificationRemoved dotShouldBeRefreshed = PackageUserKey = com.hog.debug#0, containsDot = false
11-26 21:11:29.161 4990 4990 E neplus.launche : ID non valide 0x00000090.
11-26 21:11:29.167 2399 2399 D NotificationEntryMgr : supprimer les données, 0|com.hog.debug|719030530|null|10505

Voici quelques solutions pour un problème similaire,
https://visdap.blogspot.com/2019/04/android-notifications-triggered-by.html

Salut,
Merci pour l'info. Nous allons enquêter.

Salut @rgomezp

Je voudrais ajouter à ce qui précède.
Sans aucun paramètre de développeur, sur les paramètres Android par défaut, les appareils OnePlus semblent tuer l'application après un certain temps après que l'application ait été balayée à partir d'applications récentes (après environ 10 minutes)

Voici la ligne de logcat :

ActivityManager: Killing 13935:com.hog.debug/u0a570 (adj 905): vide # 31

Salut @crushy26 ,
Merci pour l'info. Il semble que cela puisse être un comportement spécifique à OnePlus lié au mode Doze. Malheureusement, il existe des cas où nous ne pouvons pas résoudre les problèmes car ils sont spécifiques au système d'exploitation. Cependant, nous creusons dans le lien que vous avez fourni pour voir s'il y a quelque chose d'actionnable de notre côté pour fournir une solution de contournement.

Merci pour votre patience.
Acclamations

@rgomezp Hé, merci pour le soutien.

Il est étrange que même s'il existe des restrictions au niveau du système d'exploitation, telles que l'optimisation de la batterie, de nombreuses nouvelles applications Android sont capables de l'exécuter parfaitement sans aucune mesure supplémentaire à prendre par l'utilisateur, comme désactiver l'optimisation de la batterie, etc. (De plus, les applications ci-dessous ne seront certainement pas ajoutées à la liste blanche par le fournisseur, car il s'agit d'applications très récentes et à petite échelle pour le moment, par rapport à Facebook, etc., qui pourraient être mises sur liste blanche par les fournisseurs)

Exemple

exemple2

Je ne sais pas si les deux applications sont disponibles dans votre pays pour les tester.

Salut @rgomezp @emawby

J'ai récemment implémenté le SDK natif de Freshchat et il a la fonctionnalité de notification pour informer les utilisateurs qu'un nouveau message a été reçu.

Leur SDK fonctionne correctement et le problème ci-dessus ne persiste pas. Comparez les notifications de onesignal et de freshchat côte à côte, en envoyant des notifications au même appareil.

La notification Onesignal n'est pas entrée dans l'application et Freshchat l'a fait dans les mêmes conditions

Veuillez vérifier le SDK ici

@crushy26 Merci pour les détails et pour avoir essayé la version bêta jusqu'à présent, j'ai quelques questions de suivi.

Question 1 - Voyez-vous ce problème uniquement sur les appareils OnePlus ?

Question 2 - Sur les appareils OnePlus en particulier, ce problème n'a-t-il commencé à se produire que lors de la mise à jour vers Android 10 sur eux ?

Question 3 - Après avoir appuyé sur la notification et constaté que l'application ne s'ouvre pas, si vous envoyez une nouvelle notification, est-elle toujours affichée ?
Si c'est le cas, le fait d'appuyer sur le nouveau ouvre-t-il correctement l'application ?

Commentaire 1 - Le processus d'ouverture de notification de OneSignal n'utilise pas d'AlarmManager
La notification ouverte dans le SDK OneSignal 3.xx utilisait un Broadcast pour ouvrir l'application. Cependant, dans le SDK OneSignal 4.xx, cela a été remplacé par le démarrage d'un Activity qui est plus direct et devrait avoir moins de restrictions de périphérique. Un AlarmManager n'est pas utilisé dans le cadre du processus d'ouverture de notification, de sorte que les entrées de journal à ce sujet ne semblent pas liées.

Veuillez répondre aux questions que vous pouvez ci-dessus et nous pourrons examiner cela plus en profondeur par la suite.

@jkasten2

Répondant à vos questions ci-dessus,

  1. Je ne sais pas si ce problème persiste sur d'autres fournisseurs, mais je l'ai testé spécifiquement sur OnePlus 3, 3T, 6, 8 et Nord.
  2. Le problème persiste depuis Android 9 sur OnePlus 3
  3. Oui

Testé le dernier SDK bêta aujourd'hui, le problème persiste là aussi.

Merci pour les détails. Seuls les robinets de notification qui n'ouvrent pas l'application sont très étranges car de nouvelles notifications sont toujours reçues, ce qui signifie que l'application n'a pas été supprimée de force par l'appareil.

Faites-nous savoir si vous rencontrez ce problème sur d'autres appareils, émulateurs ou versions Android afin que nous puissions affiner le problème.
De notre côté, nous pouvons envisager d'ajouter une journalisation supplémentaire et d'essayer de reproduire le problème sur l'un des appareils répertoriés.

Salut @jkasten2 , je

Cliquez sur la notification de FreshChat que j'ai mis en gras. Juste au-dessus se trouve le clic de notification de onesignal.

En outre, vous pouvez voir ci-dessous que l'activité est en train d'être tuée, ce qui est la cause du problème d'onesignal. Avant cela tout fonctionne bien.

Les journaux vous aideront également à comprendre ce qui s'est exactement passé après l'arrêt de l'activité et les mesures prises par freshchat pour que cela fonctionne.

PS : Freshchat est un service de support client, qui envoie une notification à l'utilisateur une fois que notre personnel lui répond via le tableau de bord

01-04 13:14:41.712 1625 1684 I ActivityManager : Killing 14104:com.hog.debug/u0a681 (adj 915) : supprimer la tâche
01-04 13:14:47.515 1625 5669 I ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x1020000 cmp=com.hog.debug/com.hog .MainActivity bnds=[235.356][438.710]} de l'uid 10135 pid 5427
01-04 13:14:47.558 1625 1684 D OpRestartProcessManager : updateSelf : com.hog.debug, taille : 30
01-04 13:14:47.597 1625 1702 I ActivityManager : Démarrer le proc 14106:com.hog.debug/u0a681 pour l'activité {com.hog.debug/com.hog.MainActivity}
01-04 13:14:47.629 1625 2774 D OnePlusSmartBoostManager : writeHotCount com.hog.debug, pid=14106
01-04 13:14:47.633 1625 2774 D OpColorDisplayService: frontPackageChanged: com.hog.debug
01-04 13:14:47.634 1625 2774 D OpProximityController: noteFrontPackageChanged pkg:com.hog.debug uid:10681 lpkg:net.oneplus.launcher luid:10135
01-04 13:14:47.634 1625 2774 E ScreenModeService : getAppToken AppWindowToken{1d1d0ab token=Token{45ef2fa ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131}}}
01-04 13:14:47.634 1625 2774 E ScreenModeService : jeton setRefreshRate AppWindowToken{1d1d0ab token=Token{45ef2fa ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131}}} taux 0 tmpRate 0
01-04 13:14:47.635 1625 2774 D OpQuickReply : setQuickReplyResumed focusApp AppWindowToken{1d1d0ab token=Token{45ef2fa ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131}}} pkgName com.hog.debug
01-04 13:14:47.646 1625 5669 D Foreground_io: TOP_APP est ProcessRecord{7a9e577 14106:com.hog.debug/u0a681} uid est 10681
01-04 13:14:53.362 1625 2266 D ActivityTaskManager: setRequestedOrientation() à 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:14:53.733 1625 2266 D ActivityTaskManager: setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:20.771 1625 2975 W NotificationService : Toast déjà tué. pkg=com.hog.debug callback=android.app.ITransientNotification$Stub$Proxy@e3ceec1
01-04 13:15:23.833 1625 2772 D ActivityTaskManager : setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:23.835 1625 2772 D ActivityTaskManager : setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:24.015 1625 5025 D ActivityTaskManager : setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:24.018 1625 5025 D ActivityTaskManager : setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:26.510 1625 6049 D ActivityTaskManager : setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:26.511 1625 2969 D ActivityTaskManager : setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:28.014 1625 2969 I ActivityTaskManager: START u0 {cmp=com.hog.debug/com.freshchat.consumer.sdk.activity.InterstitialActivity (a des extras)} à partir de l'uid 10681 pid 14106
01-04 13:15:28.033 1625 6049 I ActivityTaskManager : le processus com.hog.debug existe déjà dans BG. Donc envoyant son PID : 14106
01-04 13:15:28.035 1625 6049 E ScreenModeService : getAppToken AppWindowToken{762c1bb token=Token{867be4a ActivityRecord{88da7b5 u0 com.hog.debug/com.freshchat.consumer.sdk.activity.InterstitialActivity t131}}}
01-04 13:15:28.035 1625 6049 E ScreenModeService : jeton setRefreshRate AppWindowToken{762c1bb token=Token{867be4a ActivityRecord{88da7b5 u0 com.hog.debug/com.freshchat.consumer.sdk.activity.InterstitialActivity t131}}} taux tmpTaux 0
01-04 13:15:28.035 1625 6049 D OpQuickReply : setQuickReplyResumed focusApp AppWindowToken{762c1bb token=Token{867be4a ActivityRecord{88da7b5 u0 com.hog.debug/com.freshchat.consumer.sdk.activity.Interstitial}Activity p.131 .hog.debug
01-04 13:15:28.053 1625 1684 D OpRestartProcessManager : updateSelf : com.hog.debug, taille : 30
01-04 13:15:28.060 1625 2238 I ActivityTaskManager: START u0 {cmp=com.hog.debug/com.freshchat.consumer.sdk.activity.ChannelListActivity (a des extras)} à partir de l'uid 10681 pid 14106
01-04 13:15:28.081 1625 1684 D OpRestartProcessManager : la durée est trop courte, ignorer : 18 dans com.hog.debug
01-04 13:15:28.092 1625 1684 D OpRestartProcessManager : updateSelf : com.hog.debug, taille : 30
01-04 13:15:28.092 1625 6049 I ActivityTaskManager : le processus com.hog.debug existe déjà dans BG. Donc envoyant son PID : 14106
01-04 13:15:28.094 1625 6049 E ScreenModeService : getAppToken AppWindowToken{534e1a1 token=Token{cc7608 ActivityRecord{5944dfa u0 com.hog.debug/com.freshchat.consumer.sdk.activity.ChannelListActivity t131}}}
01-04 13:15:28.094 1625 6049 E ScreenModeService : jeton setRefreshRate AppWindowToken{534e1a1 token=Token{cc7608 ActivityRecord{5944dfa u0 com.hog.debug/com.freshchat.consumer.sdk.activity.ChannelListActivity t131}}} taux tmpTaux 0
01-04 13:15:28.094 1625 6049 D OpQuickReply : setQuickReplyResumed focusApp AppWindowToken{534e1a1 token=Token{cc7608 ActivityRecord{5944dfa u0 com.hog.debug/com.freshchat.consumer.sdk.comactivity.ChannelList}Activity pkgt131} .hog.debug
01-04 13:15:28.237 1625 2975 I ActivityTaskManager: START u0 {cmp=com.hog.debug/com.freshchat.consumer.sdk.activity.ConversationDetailActivity (a des extras)} à partir de l'uid 10681 pid 14106
01-04 13:15:28.239 1625 1684 D OpRestartProcessManager : la durée est trop courte, ignorez : 147 dans com.hog.debug
01-04 13:15:28.254 1625 6049 I ActivityTaskManager : le processus com.hog.debug existe déjà dans BG. Donc envoyant son PID : 14106
01-04 13:15:28.255 1625 6049 E ScreenModeService : getAppToken AppWindowToken{e5dfe5f token=Token{4b536fe ActivityRecord{2ff82b9 u0 com.hog.debug/com.freshchat.consumer.sdk.activity.ConversationDetailActivity t131}}}
01-04 13:15:28.256 1625 6049 E ScreenModeService : jeton setRefreshRate AppWindowToken{e5dfe5f token=Token{4b536fe ActivityRecord{2ff82b9 u0 com.hog.debug/com.freshchat.consumer.sdk.activity.ConversationDetail}Taux d'activité 0 t131}} tmpTaux 0
01-04 13:15:28.256 1625 6049 D OpQuickReply : setQuickReplyResumed focusApp AppWindowToken{e5dfe5f token=Token{4b536fe ActivityRecord{2ff82b9 u0 com.hog.debug/com.freshchat.consumer.sdk.com activité. .hog.debug
01-04 13:15:28.265 1625 1684 D OpRestartProcessManager : updateSelf : com.hog.debug, taille : 30
01-04 13:15:28.999 1625 2238 V InputMethodManagerService : showSoftInput : package= com.hog.debug
01-04 13:15:31.720 1625 1684 D OpRestartProcessManager : updateSelf : com.hog.debug, taille : 30
01-04 13:15:31.720 1625 5874 E ScreenModeService : getAppToken AppWindowToken{1d1d0ab token=Token{45ef2fa ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131}}}
01-04 13:15:31.720 1625 5874 E ScreenModeService : token setRefreshRate AppWindowToken{1d1d0ab token=Token{45ef2fa ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131}}} taux 0 tmpRate 0
01-04 13:15:31.720 1625 5874 D OpQuickReply : setQuickReplyResumed focusApp AppWindowToken{1d1d0ab token=Token{45ef2fa ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131}}} pkgName com.hog.debug
01-04 13:15:33.171 1625 5874 D ActivityTaskManager : setRequestedOrientation() à 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:33.172 1625 5874 D ActivityTaskManager : setRequestedOrientation() sur 1 pour ActivityRecord{1a30125 u0 com.hog.debug/com.hog.MainActivity t131} de pid=14106, uid=10681
01-04 13:15:34.459 1625 4923 D OpColorDisplayService : lpackageName : com.hog.debug
01-04 13:15:34.460 1625 4923 D OpProximityController: noteFrontPackageChanged pkg:net.oneplus.launcher uid:10135 lpkg:com.hog.debug luid:10681
01-04 13:15:34.598 1625 1684 I ActivityManager : Killing 14106:com.hog.debug/u0a681 (adj 915) : supprimer la tâche
01-04 13:15:34.717 1625 4923 I WindowManager : GAGNER LA MORT : Window{ddd423b u0 com.hog.debug/com.hog.MainActivity}
01-04 13:16:16.230 1625 1702 I ActivityManager : Démarrer le proc 15317:com.hog.debug/u0a681 pour la diffusion {com.hog.debug/com.onesignal.GcmBroadcastReceiver}
01-04 13:16:16.270 1625 2774 D OnePlusSmartBoostManager : writeHotCount com.hog.debug, pid=15317
01-04 13:16:19.002 1625 16475 D VibratorService : vibre depuis 'com.hog.debug', utilisationHint = 5, token = android.os.Binder@2a59887
01-04 13:16:48.536 1625 2909 D OPBF : setCGroupState():tofreeze=true, uid:10681 pkg:com.hog.debug --->>> ok Reason:publish service as client add connection = AppBindRecord{bf96007 com.google.android.gms/.ads.identifier.service.AdvertisingIdService:com.hog.debug}
01-04 13:17:22.778 1625 2909 D OPBF : setCGroupState():tofreeze=false, uid:10681 pkg:com.hog.debug --->>> ok Reason:uid active tActive:true
01-04 13:17:38.657 1625 16546 D VibratorService: vibre depuis 'com.hog.debug', usageHint = 6, token = android.os.Binder@2a59887
01-04 13:17:38.867 1625 1625 E NotificationService : Mise en sourdine récemment bruyante 0|com.hog.debug|-1049021932|null|10681
01-04 13:19:27.475 1625 2909 D OPBF : setCGroupState():tofreeze=true, uid:10681 pkg:com.hog.debug --->>> ok Reason:sensor event tHold:false
01-04 13:22:29.956 1625 5665 I ActivityManager: Killing 15317:com.hog.debug/u0a681 (adj 999): vide #31
01-04 13:22:29.997 1625 2909 D OPBF : setCGroupState():tofreeze=false, uid:10681 pkg:com.hog.debug --->>> ok raison: l'application est morte à cause du pid 15317
01-04 13:33:30.982 5427 5427 D Statistiques : Intent.getPackage() est null. essayez donc d'obtenir le nom du package à partir de componentName.getPackageName() : com.hog.debug
01-04 13:34:56.588 5427 5427 D NotificationListener : onNotificationRemoved# sbn : 35673602, package = com.hog.debug
01-04 13:34:56.599 2412 2412 D NotificationEntryMgr : supprimer les données, 0|com.hog.debug|-1049021932|null|10681
01-04 13:34:59.802 5427 5427 D NotificationListener : onNotificationRemoved# sbn : 159738643, package = com.hog.debug
01-04 13:34:59.810 2412 2412 D NotificationEntryMgr : supprimer les données, 0|com.hog.debug|250143270|null|10681
01-04 13:35:00.319 1625 2223 I ActivityTaskManager: START u0 {flg=0x4000000 cmp=com.hog.debug/com.freshchat.consumer.sdk.activity.ConversationDetailActivity (a des extras)} à partir de l'uid 10681 pid -101-04 13:35:00.324 1625 2223 W ActivityTaskManager : startActivity appelée à partir d'un contexte non-Activity ;
faux01-04 13:35:00.353 1625 1684 D OpRestartProcessManager : updateSelf : com.hog.debug, taille : 3001-04 13:35:00.374 1625 1702 I ActivityManager : Démarrer le proc 20400:com.hog.debug/u0a681 pour l'activité {com.hog.debug/com.freshchat.consumer.sdk.activity.ConversationDetailActivity}
01-04 13:35:00.400 1625 5025 D OnePlusSmartBoostManager : writeHotCount com.hog.debug, pid=20400

Salut @jkasten2 @rgomezp des mises à jour à ce sujet ? S'il vous plaît laissez-moi savoir si nous sommes proches de quelque chose.

Salut,
Malheureusement rien encore. Nous devrons nous procurer un appareil OnePlus pour essayer de reproduire. Merci pour votre patience.

@crushy26 Nous avons corrigé un problème de régression 4.xx avec l'ouverture de la notification ne démarrant pas l'application si elle essayait de la refroidir dans react-native-onesignal 4.0.4 . Nous avons également apporté une amélioration pour reprendre l'application comme le fait un lanceur Android si l'application s'exécute déjà en arrière-plan. Cela impliquait de changer la façon dont l'intention est créée, ce qui pourrait également entraîner indirectement la résolution des problèmes de démarrage à froid.

Donc en résumé je soupçonne ce qui suit :

  • react-native-onesignal 3.x.x n'a peut-être pas fonctionné à cause de l'utilisation d'une diffusion en arrière-plan que Settings > system > developer options > background process limit > no background processes bloquait
  • react-native-onesignal versions 4.0.0 - 4.0.3 ne fonctionnaient pas en raison du bogue de régression ci-dessus.

J'ai testé OneSignal-Android-SDK 4.2.0 sur un OnePlus 6T (modèle A6013) avec OxygenOS 10.3.8 (Android 10) (numéro de build A6013_34_210114) et je n'ai pu reproduire aucun problème ouvert.

  • Cependant, je n'ai pas testé avec background process limit comme vous l'avez noté.

@crushy26 Pourriez-vous essayer la nouvelle version et nous faire savoir si vous rencontrez toujours le problème ?

Salut @jkasten2

Merci pour votre temps. J'ai vérifié avec 4.0.4 et essayé tous les cas possibles. Pour l'instant, tout semble fonctionner !

Je confirmerai dans les 3 prochains jours une fois qu'il sera testé de manière approfondie en bêta avec nos utilisateurs.

C'est super d'entendre @crushy26

Faites-nous savoir si vous souhaitez rouvrir le problème

Cette page vous a été utile?
0 / 5 - 0 notes