React-native-onesignal: デバイスが長時間非アクティブの場合、クリック時の通知は機能しません

作成日 2020年05月28日  ·  35コメント  ·  ソース: OneSignal/react-native-onesignal

説明:

注:通知はすべての場合に受信され、デバイスがアクティブな場合はすべての場合にクリック時に機能します。

この問題は重大であり、デバイスが長時間スタンバイモードになっている場合、またはデバイスをシャットダウンして再起動したときに通知を受信した場合に発生します。

クリックしたときの通知はアプリを開きません。実際、何も起こりません。

環境
react-native: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デバイスの制限です。

onesignalの設定でもまったく同じ問題が発生しています。 ただし、通知エクステンダーは使用していません。

@ crushy26回避策や詳細は見つかりましたか? react-native-screensがインストールされていますか? はいの場合は、これを試してください: https

ところで、 react-native-onesignal @ 3.7.3を使用しています

@binchikこの問題は、エクステンダーに関係なく発生します。 しかし、私は通知を復元せず、デバイスがアクティブなときに通知を表示できるようにすることを計画しています(悲しいことに、少なくともそのようなバグのあるUXを回避するためにこれを行う必要があります)。 これは明日実装します。 参照

いいえ、私はreact-navigationを使用していません。WIXによるreact-native-navigationを使用しています。 上記のreact-native-screensで問題は解決しましたか?

また、この問題が発生しているデバイスは何ですか?

@ crushy26上記のreact-native-screensの問題から修正を適用すると、問題は解決しました。 私がこれを搭載していたデバイスはSamsungGalaxyS8です。 これは私が持っている唯一のデバイスであり、他のデバイスでテストしたことはありません。

@binchikこれをどのようにテストしますか? あなたの場合のシナリオは何ですか? 私にとっては、デバイスが長時間非アクティブであり、その間に通知が受信されるためです。 後でデバイスのロックを解除すると、クリック時の通知は何もしません。

@ crushy26同じシナリオがありましたが、再生手順によって起動時にアプリがクラッシュしました。 あなたが提案したように、設定で「バックグラウンドプロセスなし」オプションを使用しました。 パッチを適用する前はクラッシュしていましたが、パッチを適用するとクラッシュしなくなりました。

adb logcatでデバッグしようとすると、投稿したreact-native-screensの問題からのエラーメッセージが表示されました。

さて、あなたは同じ「バックグラウンドプロセスなし」オプションを使用して再現し、テストし、解決しましたか? それが事実なら、私は同じことをします。なぜなら、これまでは、それは反方法であるか、問題を再現する適切な方法ではないと思っていたからです。

この問題を@ crushy26で閉じても大丈夫ですか?

@rgomezpこの問題は、

とにかく可能な限りあなたを助けることができれば。 お知らせ下さい。

ハウディ、
最も可能性の高い理由は、これがユーザーのごく一部が遭遇する非常に特殊なエッジケースであるということです。

設定>システム>開発者向けオプション>バックグラウンドプロセス制限>バックグラウンドプロセスなし

ほとんどの人は、バックグラウンドプロセスを制限するどころか、開発者向けオプションをオンにすることさえありません。 これを行うと、特定のデバイス環境に残留副作用が生じる可能性があると予想されます。 上記のbinchikで提案されている「パッチ」を実装する場合は、実装することをお勧めします。 ご不明な点がございましたら、お気軽にお問い合わせください。

こんにちは@rgomezp
私が述べたように、それを設定する開発者は問題を再現するためだけのものです。

開発者設定などがなくても、OneSignalのサンプルアプリを試してみるだけでも、同じ問題が発生します。

これは、私のデバイス上の他のアプリでは発生しません。

@rgomezp何か入力やヘルプはありますか?

こんにちは、
私はフォローしません。 問題を再現するために開発者設定が必要な場合、設定なしで同じ問題を発生させるにはどうすればよいですか?

おそらく私は何かが欠けています。

編集:問題はまだ解決していません
PS:バッテリーの最適化や設定はありません。 私はデフォルトのAndroid設定で実行しています。

デバイスが長時間アイドル状態で通知を受信した場合、デバイスのロックを解除して通知をクリックしても何も起こりません。

同じものの画面記録と、ADBlogcatからフィルタリングしたエラーを添付しています。

録音リンク:

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:callingUid = 10196 10-16 19:15:03.341 1619 2958 D DeviceIdleController:notification UID:1000 10-16 19:15:03.341 1619 1725 W AlarmManager:認識されないアラームリスナーcom.android.server。 f @ bdf59f1

この問題は、サンプルフォルダでも発生します。

@rgomezpさらに情報が必要な場合は、私に知らせてください。

ねえ@rgomezp上記のコメントを調べてください。

確認のために4.0ベータ版にもアップグレードしましたが、まだ問題が解決していません。

これはoneplusデバイスで実行しているユーザーにとって重大な問題であり、今はライブラリを切り替えたくありません。

助けてください。 ありがとうございました。

@ crushy26@binchikはどちらも、

OneSignal以外に、アプリ内で使用している他の依存関係は何ですか?

こんにちは@ jfishman1

サンプルアプリでもう一度確認すると、Android 10を実行しているoneplusデバイスでも問題が解決しません(他のメーカーでも問題が解決する可能性がありますが、oneplus 8、7T、3、3Tでテストしました)

再現するには:

  1. ダッシュボードから通知を送信する
  2. クリックする前に10〜15分待ちます(通知トレイに通知をそのまま保持します)
  3. 通知をクリックすると、アプリは開きません

他に何か必要な場合はお知らせください。

こんにちは@ jfishman1 @rgomezp

問題は、アラームマネージャが認識されていないことにあるようです。

これがシステムログの一部です。

11-26 21:11:29.151 1716 4733 D NotificationService:onNotificationClick:callingUid = 10196
11-26 21:11:29.151 1716 4733 D DeviceIdleController:通知UID:1000
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#ハッシュ: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:無効なID0x00000090。
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設定では、アプリが最近のアプリからスワイプされてからしばらくすると(10分程度)、OnePlusデバイスがアプリを強制終了するように見えます。

logcatからの行は次のとおりです。

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

ハウディ@ crushy26
情報をありがとう。 これは、Dozeモードに関連するOnePlus固有の動作である可能性があります。 残念ながら、オペレーティングシステム(レベル固有)であるために問題を修正できない場合があります。 ただし、私たちはあなたが提供したリンクを掘り下げて、回避策を提供するために私たちの側で実行可能な何かがあるかどうかを確認しています。

お待ち頂きまして、ありがとうございます。
乾杯

@rgomezpねえ、サポートに感謝します。

バッテリーの最適化などのOSレベルの制限があるにもかかわらず、多くの新しいAndroidアプリが、バッテリーの最適化をオフにするなど、ユーザーが追加の手順を実行することなく、これを完璧に実行できるのは不思議です。 (また、ベンダーによってホワイトリストに登録される可能性のあるFacebookなどと比較して、現時点では非常に最近の小規模なアプリであるため、以下のアプリはベンダーによってホワイトリストに登録されません)

example2

ただし、両方のアプリがお住まいの国で利用可能かどうかはわかりません。

こんにちは@ rgomezp @ emawby

最近、Freshchatのreact-native SDKを実装しました。これには、新しいメッセージが受信されたことをユーザーに通知する通知機能があります。

彼らのSDKは正常に機能しており、上記の問題はそこでは発生しません。 同じデバイスに通知を送信することにより、onesignalとfreshchatの通知の両方を並べて比較しました。

Onesignal通知はアプリに入力されず、freshchatは同じ条件下で入力されました

ここでSDKを確認してください

@ crushy26詳細とこれまでのベータ版の

質問1-この問題はOnePlusデバイスでのみ発生しますか?

質問2-特にOnePlusデバイスでは、この問題はデバイスでAndroid 10にアップデートしたときにのみ発生し始めましたか?

質問3-通知をタップしてアプリが開かない問題を確認した後、新しい通知を送信しても、それはまだ表示されていますか?
もしそうなら、新しいものをタップするとアプリが正しく開きますか?

コメント1-OneSignalの通知オープンプロセスはAlarmManagerを使用しません
OneSignal 3.xx SDKで開かれた通知は、 Broadcastを使用してアプリを開きました。 ただし、OneSignal 4.xx SDKでは、これは代わりにActivity開始に切り替えられました。これはより直接的であり、デバイスの制限が少ないはずです。 AlarmManagerは通知オープンプロセスの一部として使用されないため、これに関するログエントリは無関係のようです。

上記の質問に回答してください。この後、これについてさらに詳しく調べることができます。

@ jkasten2

上記の質問に答えて、

  1. この問題が他のベンダーでも続くかどうかはわかりませんが、OnePlus 3、3T、6、8、およびNordでこれをテストしました。すべてに問題があります。
  2. OnePlus3のAndroid9以降、問題は解決しませんでした
  3. はい

今日、最新のベータSDKをテストしましたが、問題はそこでも発生します。

詳細をありがとう。 新しい通知がまだ受信されているため、アプリを開かない通知タップだけが非常に奇妙です。つまり、アプリはデバイスによって強制的に強制終了されていません。

他のデバイス、エミュレーター、またはAndroidバージョンでこの問題が発生した場合は、問題を絞り込むことができるようにお知らせください。
私たちの側から、ログを追加して、リストされているデバイスの1つで問題を再現することを検討できます。

こんにちは@ jkasten2 、私は通知の前後にADBログを貼り付けています私が統合したfreshchatの通知とonesignalからの通常の通知の両方をクリックします(アクティビティが強制終了されるまでに10分ほどかかります。すべてが正常に機能します)

FreshChatの通知クリック太字で強調表示しました。 そのすぐ上にonesignalの通知クリックがあります。

また、以下では、アクティビティが強制終了されていることがわかります。これがonesignalの問題の原因です。 その前にすべてが正常に動作します。

ログは、アクティビティが強制終了された後に正確に何が起こったか、およびアクティビティを機能させるためにfreshchatが実行した手順を把握するのにも役立ちます。

PS:Freshchatはカスタマーサポートサービスであり、スタッフがダッシュボードを介して返信すると、ユーザーに通知を送信します

01-04 13:14:41.712 1625 1684 I ActivityManager:Killing 14104:com.hog.debug / u0a681(adj 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]} from 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:アクティビティ{com.hog.debug / com.hog.MainActivity}のproc 14106:com.hog.debug / u0a681を開始します。
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トークンAppWindowToken {1d1d0ab token = Token {45ef2fa ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivityt131}}}レート0tmpRate 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はProcessRecord {7a9e577 14106:com.hog.debug / u0a681} uidは10681です
01-04 13:14:53.362 1625 2266 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:14:53.733 1625 2266 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:20.771 1625 2975 W NotificationService:トーストはすでに強制終了されています。 pkg = com.hog.debug callback = android.app.ITransientNotification $ Stub $ Proxy @ e3ceec1
01-04 13:15:23.833 1625 2772 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:23.835 1625 2772 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:24.015 1625 5025 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:24.018 1625 5025 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:26.510 1625 6049 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:26.511 1625 2969 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:28.014 1625 2969 I ActivityTaskManager:START u0 {cmp = com.hog.debug / com.freshchat.consumer.sdk.activity.InterstitialActivity(has extras)} from 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.InterstitialActivity t131}}}
01-04 13:15:28.035 1625 6049 E ScreenModeService:setRefreshRateトークンAppWindowToken {762c1bb token = Token {867be4a ActivityRecord {88da7b5 u0 com.hog.debug / com.freshchat.consumer.sdk.activity.InterstitialActivityt131}}}レート0 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.sdk.activity.InterstitialActivity t131}}} pkgName com .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(has extras)} from uid 10681 pid 14106
01-04 13:15:28.081 1625 1684 D OpRestartProcessManager:期間が短すぎます。無視してください:com.hog.debugの18
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.ChannelListActivity t131}}}
01-04 13:15:28.094 1625 6049 E ScreenModeService:setRefreshRateトークンAppWindowToken {534e1a1 token = Token {cc7608 ActivityRecord {5944dfa u0 com.hog.debug / com.freshchat.consumer.sdk.activity.ChannelListActivityt131}}}レート0 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.freshchat.consumer.sdk.activity.ChannelListActivity t131}}} pkgName com .hog.debug
01-04 13:15:28.237 1625 2975 I ActivityTaskManager:START u0 {cmp = com.hog.debug / com.freshchat.consumer.sdk.activity.ConversationDetailActivity(has extras)} from uid 10681 pid 14106
01-04 13:15:28.239 1625 1684 D OpRestartProcessManager:期間が短すぎます。無視してください:com.hog.debugの147
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.ConversationDetailActivity t131}}}
01-04 13:15:28.256 1625 6049 E ScreenModeService:setRefreshRateトークンAppWindowToken {e5dfe5f token = Token {4b536fe ActivityRecord {2ff82b9 u0 com.hog.debug / com.freshchat.consumer.sdk.activity.ConversationDetailActivityt131}}}レート0 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.activity.ConversationDetailActivity t131}}} pkgName 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:sh​​owSoftInput: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トークンAppWindowToken {1d1d0ab token = Token {45ef2fa ActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivityt131}}}レート0tmpRate 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:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
01-04 13:15:33.172 1625 5874 D ActivityTaskManager:pid = 14106、uid = 10681からのActivityRecord {1a30125 u0 com.hog.debug / com.hog.MainActivity t131}のsetRequestedOrientation()を1に設定
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):タスクを削除します
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:ブロードキャスト{com.hog.debug / com.onesignal.GcmBroadcastReceiver}のproc 15317:com.hog.debug / u0a681を開始します。
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 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: '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 reason:sensor event tHold:false
01-04 13:22:29.956 1625 5665 I ActivityManager:Killing 15317:com.hog.debug / u0a681(adj 999):empty#31
01-04 13:22:29.997 1625 2909 D OPBF:setCGroupState():tofreeze = false、uid:10681 pkg:com.hog.debug --- >>> ok reason:app died cause by 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(has extras)} from uid 10681 pid -101-04 13:35:00.324 1625 2223 W ActivityTaskManager:非アクティビティコンテキストから呼び出されたstartActivity。
false01-04 13:35:00.353 1625 1684 D OpRestartProcessManager:updateSelf:com.hog.debug、サイズ:3001-04 13:35:00.374 1625 1702 I ActivityManager:アクティビティ{com.hog.debug / com.freshchat.consumer.sdk.activity.ConversationDetailActivity}のproc 20400:com.hog.debug / u0a681を開始します。
01-04 13:35:00.400 1625 5025 D OnePlusSmartBoostManager:writeHotCount com.hog.debug、pid = 20400

こんにちは@ jkasten2 @rgomezpこれに関する更新はありますか? 近づいたら教えてください。

ハウディ、
残念ながらまだ何もありません。 再現を試みるには、OnePlusデバイスを入手する必要があります。 お待ちいただいてありがとうございます。

@ crushy26 react-native-onesignal 4.0.4でアプリを冷却しようとすると、通知が開いてアプリが起動しないという4.xxリグレッションの問題を修正しました。 また、アプリがすでにバックグラウンドで実行されている場合にAndroid Launcherと同じように、アプリを再開するように改善しました。 インテントの作成方法を変更する必要があり、コールドスタートの問題も間接的に修正される可能性があります。

要約すると、私は次のことを疑っています。

  • react-native-onesignal 3.x.x Settings > system > developer options > background process limit > no background processesがブロックしていたバックグラウンドブロードキャストを使用しているため、 react-native-onesignal 3.x.xが機能しなかった可能性があります
  • react-native-onesignalバージョン4.0.0-4.0.3は、上記のリグレッションバグのために機能しませんでした。

OxygenOS 10.3.8(Android 10)(ビルド番号A6013_34_210114)を搭載したOnePlus 6T(モデルA6013)でOneSignal-Android-SDK 4.2.0をテストし

  • しかし、あなたが指摘したように、私はbackground process limitテストしませんでした。

@ crushy26新しいバージョンを試して、まだ問題が発生するかどうかをお知らせください。

ねえ@ jkasten2

御時間ありがとうございます。 4.0.4で確認し、可能な限りすべてのケースを試しました。 今のところ、すべてが機能しているようです!

ベータ版でユーザーと徹底的にテストされたら、3日以内に確認します。

@ crushy26を聞くのは素晴らしいこと

問題を再開するかどうかをお知らせください

このページは役に立ちましたか?
0 / 5 - 0 評価