React-native-onesignal: Уведомление о клике не работает, если устройство долгое время неактивно

Созданный на 28 мая 2020  ·  35Комментарии  ·  Источник: OneSignal/react-native-onesignal

Описание:

Примечание: уведомление приходит во всех случаях и по нажатию работает во всех случаях, когда устройство активно.

Эта проблема является критической и возникает, когда устройство находится в режиме ожидания в течение длительного времени или если уведомление получено, когда устройство выключается и вы перезагружаетесь:

Уведомление при нажатии не открывает приложение, по сути, ничего не происходит.

Среда
реагировать-родной: 0.62.0
Устройство: Oneplus 3
Версия Android: 9

Шаги по воспроизведению проблемы:

Эта проблема обычно не возникает, когда устройство активно. Чтобы воспроизвести, вам нужно изменить настройки устройства, а также убедиться, что приложение убито.

  1. Настройки> система> параметры разработчика> ограничение фоновых процессов> нет фоновых процессов
  2. Отправить уведомление с панели управления
  3. Уведомление получено на устройстве
  4. Нажмите на уведомление, приложение не открывается

Что-нибудь еще:
Примечание. Я использую службу расширения уведомлений, чтобы изменить макет уведомления.

Кроме того, я попробовал ожидающее намерение со ссылкой на этот комментарий

Вот код:

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

Самый полезный комментарий

Привет @ jkasten2

Спасибо за ваше время. Я проверил 4.0.4 и перепробовал все возможные варианты. Пока вроде все работает!

Я подтвердю в ближайшие 3 дня, как только он будет тщательно протестирован в бета-версии с нашими пользователями.

Все 35 Комментарий

Привет,

Настройки> система> параметры разработчика> ограничение фоновых процессов> нет фоновых процессов

Зачем ты тут убиваешь фоновые процессы? Мы не можем гарантировать такое поведение, если вы изменяете настройки Android по умолчанию. Щелчок по уведомлению обрабатывается запуском намерения из фонового процесса, поэтому он не будет работать должным образом. Надеюсь, это проясняет проблему.

Привет @rgomezp , спасибо за ответ. Это должно было воспроизвести проблему, поскольку обычно в активном состоянии уведомление при нажатии работает правильно.

Я объясню проблему подробнее здесь:

  1. Скажите, если мое устройство неактивно долгое время, например, 3-4 часа
  2. уведомление получено в течение этого времени
  3. позже я разблокирую устройство и нажимаю на уведомление, оно не открывает приложение.

Эта проблема также возникает, когда устройство выключается, я включаю устройство и получаю
предыдущие уведомления, когда я нажимаю на них, приложение не открывается.

Пожалуйста, дайте мне знать, если вам понадобится дополнительная информация

@rgomezp у тебя было время это проверить? Большинство моих пользователей сталкиваются с этой проблемой

Привет @ crushy26 ,
Наша логика восстановления уведомлений должна с этим справиться. Но вы должны убедиться, что фоновые процессы запускаются. Возможно, это ограничение устройств OnePlus.

У нас точно такая же проблема с настройкой единственного сигнала. Но мы не используем расширитель уведомлений.

@ crushy26 вы нашли способ обхода или более подробную информацию? Установлены ли у вас собственные экраны реагирования? Если да, попробуйте следующее: https://github.com/software-mansion/react-native-screens/issues/17#issuecomment -424704067

Кстати, мы используем [email protected]

@binchik проблема будет вне зависимости от расширителя. Но я планирую не восстанавливать уведомление, а просто разрешить отображение уведомлений, когда устройство активно (к сожалению, это нужно делать, по крайней мере, чтобы избежать такого ошибочного UX). Реализую это завтра. Справка

и нет, я не использую реактивную навигацию, я использую реактивную навигацию от WIX. Помогла ли вышеуказанная вещь с собственными экранами реакции проблему?

а также не могли бы вы сообщить мне, на каком устройстве у вас возникла эта проблема?

@ crushy26 Моя проблема была решена, когда я применил исправление из проблемы с реагирующими экранами, о которой я упоминал выше. Устройство, на которое я его покупал, - это Samsung Galaxy S8. Это единственное устройство, которое у меня есть, ни на одном другом не тестировалось.

@binchik, как вы это тестируете? каков сценарий в вашем случае? потому что для меня это когда устройство долгое время неактивно и за это время приходит уведомление. Позже при разблокировке устройства уведомление о нажатии ничего не делает.

@ crushy26 У меня был тот же сценарий, и ваши шаги воспроизведения также

Когда я попытался отладить с помощью adb logcat , я увидел сообщения об ошибках из опубликованной мной проблемы с реагирующими экранами.

Итак, вы воспроизвели и протестировали, решили с использованием той же опции «без фоновых процессов»? Я сделаю то же самое, если это так, потому что до сих пор я думал, что это анти-метод или неправильный способ воспроизвести проблему.

Можно ли закрыть этот выпуск @ crushy26 ?

@rgomezp Проблема сохраняется и в примере приложения в репозитории. Я не уверен, как здесь кто-то не сообщил об этой проблеме. OnePlus используется большинством пользователей по всему миру. Остальные приложения, даже от не очень известных разработчиков, хорошо работают с такими же настройками отсутствия фоновых процессов (это только для воспроизведения), но в обычном сценарии на неактивном устройстве щелчки уведомлений работают и для других приложений. Мои 2 приложения оба с одним сигналом, дают одинаковые проблемы.

Если я могу вам чем-нибудь помочь. Дай мне знать.

Привет,
Наиболее вероятная причина в том, что это очень специфический пограничный случай, с которым когда-либо столкнется небольшая часть пользователей.

Настройки> система> параметры разработчика> ограничение фоновых процессов> нет фоновых процессов

Большинство людей даже не включают параметры разработчика, не говоря уже об ограничении фоновых процессов. Ожидается, что это может иметь остаточные побочные эффекты в определенных средах устройства. Если вы хотите внедрить «патч», как предлагает binchik выше, мы рекомендуем вам это сделать. Пожалуйста, дайте нам знать, если у вас возникнут дополнительные вопросы.

Привет @rgomezp!
Как я уже упоминал, разработчик устанавливает его только для воспроизведения проблемы.

Без настроек разработчика или чего-то еще, просто попробовав пример приложения из OneSignal, вы получите ту же проблему.

Этого не происходит ни с одним другим приложением на моем устройстве.

@rgomezp какие-либо материалы или помощь?

Привет,
Я не слежу. Если вам нужны настройки разработчика для воспроизведения проблемы, то как она может выдать ту же проблему без настроек?

Возможно, я что-то упускаю.

Изменить: проблема все еще сохраняется
PS: Никакой оптимизации батареи или каких-либо настроек. Я использую настройки Android по умолчанию.

Когда устройство долгое время находится в режиме ожидания и получено уведомление, при разблокировке устройства и нажатии на уведомление ничего не происходит.

Я прилагаю запись экрана для той же ошибки и ошибки, которую я отфильтровал из ADB logcat.

Ссылка на запись:

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

Ошибка фильтрации ADB logcat:

10-16 19: 15: 03.341 1619 2958 D NotificationService: onNotificationClick: callUid = 10196 10-16 19: 15: 03.341 1619 2958 D DeviceIdleController: UID уведомления f @ bdf59f1

Эта проблема сохраняется и в папке с примером.

@rgomezp, если вам нужна дополнительная информация, дайте мне знать.

Привет, @rgomezp, не могли бы вы заглянуть в комментарий выше.

Я также обновился до бета-версии 4.0, чтобы проверить, но проблема все еще существует.

Это критическая проблема для моих пользователей, работающих на устройствах oneplus, и сейчас я действительно не хочу переключать библиотеку.

Пожалуйста помоги. Спасибо.

@ crushy26 и @binchik вы оба можете воспроизвести это в пустом приложении с активным только OneSignal?

Какие еще зависимости вы используете в приложении, кроме OneSignal?

Привет @ jfishman1

Еще раз проверив пример приложения, проблема сохраняется для устройств oneplus под управлением Android 10 (может сохраняться и у других производителей, но я тестировал на oneplus 8, 7T, 3, 3T)

Воспроизвести:

  1. Отправить уведомление через панель управления
  2. Подождите 10-15 минут, прежде чем нажимать (сохраняйте уведомление, как оно находится в панели уведомлений)
  3. Нажмите на уведомление, и оно не откроет приложение

Позвольте мне знать, если вам нужно что-нибудь еще.

Привет, @ jfishman1 @rgomezp

Проблема, похоже, связана с нераспознанным диспетчером аварийных сигналов.

Вот фрагмент из системного журнала:

11-26 21: 11: 29.151 1716 4733 D NotificationService: onNotificationClick: callUid = 10196
11-26 21: 11: 29.151 1716 4733 D DeviceIdleController: UID уведомления
11-26 21: 11: 29.151 1716 1836 W AlarmManager: нераспознанный прослушиватель сигналов тревоги 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: значок: 1
11-26 21: 11: 29.158 4990 4990 D BubbleTextView: applyDotState cn = ComponentInfo {com.hog.debug / com.hog.MainActivity}, animated = 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: Неверный идентификатор 0x00000090.
11-26 21: 11: 29.167 2399 2399 D NotificationEntryMgr: удалить данные, 0 | com.hog.debug | 719030530 | null | 10505

Вот несколько решений подобной проблемы,
https://visdap.blogspot.com/2019/04/android-notifications-triggered-by.html

Привет,
Спасибо Вам за информацию. Мы будем исследовать.

Привет @rgomezp

К сказанному хочу добавить.
Без каких-либо настроек разработчика, в настройках Android по умолчанию, устройства OnePlus, похоже, убивают приложение через некоторое время после того, как приложение удаляется из недавних приложений (примерно через 10 минут).

Вот строка из logcat:

ActivityManager: Убийство 13935: com.hog.debug / u0a570 (прил 905): пустой # 31

Привет @ crushy26 ,
Спасибо за информацию. Похоже, это может быть специфическое для OnePlus поведение, связанное с режимом дремоты. К сожалению, есть случаи, когда мы не можем исправить проблемы из-за того, что они зависят от уровня операционной системы. Тем не менее, мы исследуем предоставленную вами ссылку, чтобы узнать, есть ли какие-либо действия с нашей стороны, чтобы обеспечить рабочий обходной путь.

Спасибо тебе за твое терпение.
Ваше здоровье

@rgomezp Привет, спасибо за поддержку.

Странно, что даже при наличии ограничений на уровне ОС, таких как оптимизация батареи ..., многие новые приложения для Android могут выполнять это безупречно, без каких-либо дополнительных действий со стороны пользователя, таких как отключение оптимизации батареи и т. Д., Что меня беспокоит. (Кроме того, нижеприведенные приложения точно не будут включены в белый список поставщиком, поскольку на данный момент это очень недавние и небольшие приложения по сравнению с Facebook и т. Д., Которые могут быть внесены в белый список поставщиками)

пример

пример2

не уверен, доступны ли оба приложения в вашей стране для тестирования.

Привет @rgomezp @emawby

Недавно я реализовал SDK Freshchat, поддерживающий реакцию, и в нем есть функция уведомлений, позволяющая пользователям узнать о получении нового сообщения.

Их SDK работает нормально, и вышеупомянутая проблема не сохраняется. Сравнивали уведомления oneignal и freshchat бок о бок, отправляя уведомления на одно и то же устройство.

Уведомление Onesignal не вошло в приложение, а в freshchat - при тех же условиях.

Пожалуйста, проверьте sdk здесь

@ crushy26 Спасибо за подробности и опробование бета-версии. У меня есть дополнительные вопросы.

Вопрос 1. Вы видите эту проблему только на устройствах OnePlus?

Вопрос 2. В частности, на устройствах OnePlus эта проблема возникала только при обновлении до Android 10?

Вопрос 3. После нажатия на уведомление и наблюдения за тем, что приложение не открывается, если вы отправляете новое уведомление, оно все еще отображается?
Если да, правильно ли нажатие на новый открывает приложение?

Комментарий 1. В процессе открытия уведомлений OneSignal не используется AlarmManager.
Уведомление, открытое в OneSignal 3.xx SDK, использовало Broadcast для открытия приложения. Однако в SDK OneSignal 4.xx это было переключено на запуск Activity который является более прямым и должен иметь меньше ограничений для устройств. AlarmManager не используется как часть процесса открытия уведомления, поэтому записи журнала об этом не связаны.

Пожалуйста, ответьте на вопросы, которые вы можете выше, и после этого мы сможем изучить этот вопрос более подробно.

@ jkasten2

Отвечая на ваши вопросы выше,

  1. Не уверен, сохраняется ли эта проблема у других поставщиков, но я тестировал это конкретно на OnePlus 3, 3T, 6, 8 и Nord .. у всех из них есть проблемы.
  2. Проблема сохраняется с Android 9 на OnePlus 3
  3. да

Сегодня протестировал последнюю бета-версию SDK, проблема сохраняется и там.

Спасибо за подробности. Только касания уведомлений, не открывающие приложение, очень странно, поскольку новые уведомления все еще получаются, что означает, что приложение не было принудительно убито устройством.

Сообщите нам, если вы заметите эту проблему на других устройствах, эмуляторах или версиях Android, чтобы мы могли сузить ее.
С нашей стороны, мы можем рассмотреть возможность добавления дополнительных журналов и попытки воспроизвести проблему на одном из перечисленных устройств.

Привет @ jkasten2 , я

Щелчок по уведомлению FreshChat выделен жирным шрифтом. Чуть выше - щелчок уведомления oneignal.

Кроме того, ниже вы можете видеть, что активность прекращается, что является причиной проблемы с одним сигналом. До этого все нормально работало.

Журналы также помогут вам выяснить, что именно произошло после того, как действие было прекращено, и шаги, предпринятые freshchat, чтобы заставить его работать.

PS: Freshchat - это служба поддержки клиентов, которая отправляет уведомление пользователю, как только наши сотрудники ответят ему через панель управления.

01-04 13: 14: 41.712 1625 1684 I ActivityManager: Убить 14104: com.hog.debug / u0a681 (прил. 915): удалить задачу
01-04 13: 14: 47.515 1625 5669 I ActivityTaskManager: START u0 {act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10200000 cmp = com.hog.debug / com.hog .MainActivity bnds = [235,356] [438,710]} из uid 10135 pid 5427
01-04 13: 14: 47.558 1625 1684 D OpRestartProcessManager: updateSelf: com.hog.debug, размер: 30
01-04 13: 14: 47.597 1625 1702 I ActivityManager: запуск процедуры 14106: com.hog.debug / u0a681 для действия {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: setRefreshRate token AppWindowToken {1d1d0ab token = Token {45ef2fa ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}}} rate 0 tmpRate 0
01-04 13: 14: 47.635 1625 2774 D OpQuickReply: setQuickReplyResumedolvedApp AppWindowToken {1d1d0ab token = Token {45ef2fa ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} com.hog.Namebug.hog.Name
01-04 13: 14: 47.646 1625 5669 D Foreground_io: TOP_APP - это ProcessRecord {7a9e577 14106: com.hog.debug / u0a681}, uid - 10681
01-04 13: 14: 53.362 1625 2266 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 14: 53.733 1625 2266 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 15: 20.771 1625 2975 W Служба уведомлений: тост уже уничтожен. pkg = com.hog.debug callback=android.app.ITransientNotification$Stub$Proxy@e3ceec1
01-04 13: 15: 23.833 1625 2772 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 15: 23.835 1625 2772 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 15: 24.015 1625 5025 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 15: 24.018 1625 5025 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 15: 26.510 1625 6049 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 15: 26.511 1625 2969 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из 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 (имеет дополнительные функции)} из uid 10681 pid 14106
01-04 13: 15: 28.033 1625 6049 I ActivityTaskManager: процесс com.hog.debug уже существует в BG. Итак, отправив свой 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.Interstitial }Activity t131
01-04 13: 15: 28.035 1625 6049 E ScreenModeService: setRefreshRate token AppWindowToken {762c1bb token = Token {867be4a ActivityRecord {88da7b5 u0 com.hog.debug / com.freshchat.consumer.sdk.activity rate.Interstitial} tmpRate 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.sdkNitial} pactivity .hog.debug
01-04 13: 15: 28.053 1625 1684 D OpRestartProcessManager: updateSelf: com.hog.debug, размер: 30
01-04 13: 15: 28.060 1625 2238 I ActivityTaskManager: START u0 {cmp = com.hog.debug / com.freshchat.consumer.sdk.activity.ChannelListActivity (имеет дополнительные функции)} из uid 10681 pid 14106
01-04 13: 15: 28.081 1625 1684 D OpRestartProcessManager: продолжительность слишком мала, игнорировать: 18 в com.hog.debug
01-04 13: 15: 28.092 1625 1684 D OpRestartProcessManager: updateSelf: com.hog.debug, размер: 30
01-04 13: 15: 28.092 1625 6049 I ActivityTaskManager: процесс com.hog.debug уже существует в BG. Итак, отправив свой 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.ChannelList} Активность
01-04 13: 15: 28.094 1625 6049 E ScreenModeService: setRefreshRate token AppWindowToken {534e1a1 token = Token {cc7608 ActivityRecord {5944dfa u0 com.hog.debug / com.freshchat.consumer.sdk.activity.ChannelList} tmpRate 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.com.freshchat.consumer.sdk13elkg} tactivity. .hog.debug
01-04 13: 15: 28.237 1625 2975 I ActivityTaskManager: START u0 {cmp = com.hog.debug / com.freshchat.consumer.sdk.activity.ConversationDetailActivity (имеет дополнения)} из uid 10681 pid 14106
01-04 13: 15: 28.239 1625 1684 D OpRestartProcessManager: продолжительность слишком мала, игнорировать: 147 в com.hog.debug
01-04 13: 15: 28.254 1625 6049 I ActivityTaskManager: процесс com.hog.debug уже существует в BG. Итак, отправив свой 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.Conversation131} Active
01-04 13: 15: 28.256 1625 6049 E ScreenModeService: setRefreshRate token AppWindowToken {e5dfe5f token = Token {4b536fe ActivityRecord {2ff82b9 u0 com.hog.debug / com.freshchat.consumer.sdk.activity.ConversationDetail} tmpRate 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.debug / com. .hog.debug
01-04 13: 15: 28.265 1625 1684 D OpRestartProcessManager: updateSelf: com.hog.debug, размер: 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, размер: 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: setRefreshRate token AppWindowToken {1d1d0ab token = Token {45ef2fa ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}}} rate 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} com.hog.MainActivity t131} com.hog.Namebug.hog.
01-04 13: 15: 33.171 1625 5874 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из pid = 14106, uid = 10681
01-04 13: 15: 33.172 1625 5874 D ActivityTaskManager: setRequestedOrientation () равным 1 для ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131} из 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: Убить 14106: com.hog.debug / u0a681 (прил. 915): удалить задачу
01-04 13: 15: 34.717 1625 4923 I WindowManager: WIN DEATH: Window {ddd423b u0 com.hog.debug / com.hog.MainActivity}
01-04 13: 16: 16.230 1625 1702 I ActivityManager: запуск процедуры 15317: com.hog.debug / u0a681 для трансляции {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: вибрация от com.hog.debug, usageHint = 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 причина: опубликовать службу как клиент добавить соединение = 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 причина: uid active tActive: true
01-04 13: 17: 38.657 1625 16546 D Служба вибратора: вибрация от com.hog.debug, usageHint = 6, token = android.os.Binder@2a59887
01-04 13: 17: 38.867 1625 1625 E NotificationService: отключение звука недавно шумного 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 причина: событие датчика tHold: false
01-04 13: 22: 29.956 1625 5665 I ActivityManager: Killing 15317: com.hog.debug / u0a681 (прил. 999): пустой # 31
01-04 13: 22: 29.997 1625 2909 D OPBF: setCGroupState (): tofreeze = false, uid: 10681 pkg: com.hog.debug --- >>> ok, причина: приложение умерло по pid 15317
01-04 13: 33: 30.982 5427 5427 D Статистика: Intent.getPackage () имеет значение null. поэтому попробуйте получить имя пакета из 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: удалить данные, 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: удалить данные, 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 (имеет дополнения)} из uid 10681 pid -101-04 13: 35: 00.324 1625 2223 W ActivityTaskManager: startActivity вызывается из неактивного контекста;
ложный01-04 13: 35: 00.353 1625 1684 D OpRestartProcessManager: updateSelf: com.hog.debug, размер: 3001-04 13: 35: 00.374 1625 1702 I ActivityManager: запуск процедуры 20400: com.hog.debug / u0a681 для действия {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

Привет, @ jkasten2 @rgomezp есть новости по этому

Привет,
К сожалению, пока ничего. Нам нужно будет получить устройство OnePlus, чтобы попытаться воспроизвести. Спасибо за терпеливость.

@ crushy26 Мы исправили проблему регрессии 4.xx, когда при открытии уведомления не заморозить в react-native-onesignal 4.0.4 . Мы также улучшили возможность возобновления работы приложения, как это делает Android Launcher, если приложение уже работает в фоновом режиме. Это включало изменение способа создания намерения, что также могло привести к косвенному устранению проблем с холодным запуском.

Таким образом, я подозреваю следующее:

  • react-native-onesignal 3.x.x мог не работать из-за использования фоновой трансляции, которую Settings > system > developer options > background process limit > no background processes блокировал
  • react-native-onesignal версии 4.0.0 - 4.0.3 не работали из-за ошибки регрессии, описанной выше.

Я тестировал OneSignal-Android-SDK 4.2.0 на OnePlus 6T (модель A6013) с OxygenOS 10.3.8 (Android 10) (номер сборки A6013_34_210114) и не смог воспроизвести какие-либо открытые проблемы.

  • Однако я не тестировал с background process limit как вы заметили.

@ crushy26 Не могли бы вы попробовать новую версию и сообщить нам, если проблема все еще

Привет @ jkasten2

Спасибо за ваше время. Я проверил 4.0.4 и перепробовал все возможные варианты. Пока вроде все работает!

Я подтвердю в ближайшие 3 дня, как только он будет тщательно протестирован в бета-версии с нашими пользователями.

Приятно слышать @ crushy26

Сообщите нам, если вы хотите повторно открыть проблему

Была ли эта страница полезной?
0 / 5 - 0 рейтинги