[英]IOS expo push notifications in app killed state
為了更清楚地說明這個問題,我正在為 IOS 開發這個,在我當前的項目中使用 expo 推送通知和 react-navigation v6 以及 expo sdk44。
當應用程序處於終止狀態時用戶與通知交互時我遇到問題(通知成功到達所有數據),我遇到的問題是,我想將用戶導航到特定屏幕。 問題是因為我的navigationRef is null
。 在這里我需要提到我沒有創建單獨的RootNavigator
。 就像這里顯示的那樣https://reactnavigation.org/docs/navigating-without-navigation-prop/ 。
處理這個問題的“正確”方式是什么? 到目前為止,我已經嘗試將所有相關的推送通知偵聽器代碼放在 NavigatonContainer 的 onReady 回調中(這有效)。
我還嘗試制作單獨的useEffect
並更改isReady
變量的狀態並在<NavigationContainer ref={navigationRef} onReady={() => {setNavigatorReady(true)}}>
中設置其新值以強制重新渲染並因此運行再次使用useEffect
中的代碼。 (這種方法不起作用)
只是總結一下我目前的問題。 當用戶在應用程序處於終止狀態時與通知交互時,我希望它們被導航到特定屏幕。
提前致謝。
我也在使用react-navigation 6.x
和expo
。 為了解決這個問題,我幾乎遵循了expo
文檔的這一部分: https ://docs.expo.dev/versions/latest/sdk/notifications/#addnotificationresponsereceivedlistenerlistener-event-notificationresponse--void-void。
它向您展示了如何實現addNotificationResponseReceivedListener
,每當用戶與通知交互時都會調用它。 它適用於所有情況,即使應用程序被killed
,這是您感興趣的特定情況。
該文檔還向您展示了如何將此偵聽器與react-navigation
集成。 鏈接: https ://docs.expo.dev/versions/latest/sdk/notifications/#handling-push-notifications-with-react-navigation
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.