问题标签 [react-native-onesignal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - React Native:为什么我无法重新添加事件监听器?
在我的 React Native 应用程序中,我有两个屏幕screenA
和screenB
. 我正在使用react-navigation@4.x
,并且使用.screenA
screenB
this.props.navigation.navigate('screenB')
this.props.navigation.goBack()
我正在使用OneSignal
,并且在screenA
安装时我添加了一个 OneSignal 事件侦听器。
屏幕A
我在 中具有相同的代码screenB
,到目前为止,它按预期工作。当我打开
screenA
并打开推送通知时,它会记录screenA
,当我打开screenB
它时会记录screenB
,因为screenB
's 事件侦听器会覆盖screenA
's.
但是,当我导航回 时screenA
,screenB
的事件侦听器仍然存在,因此我添加此代码screenB
以删除其事件侦听器:
屏幕B
为了screenA
重新调用它的事件侦听器,我添加了以下代码:
屏幕A
**问题: **
当我返回时触发了这个条件isFocused
,所以到达了代码块,但是没有成功添加事件监听器。screenA
addEventListener
有谁知道我该如何解决这个问题?
react-native - 排队导航,直到安装屏幕,然后导航
当用户通过单击通知打开应用程序时,我试图导航到底部选项卡导航器上的某个屏幕。
查看官方文档Navigating without the navigation prop,我的主导航器设置如下:
我的root.js如下:
我在我的根目录中添加了 OneSignal 事件侦听器,index.js
如下所示:
我的onOpened
功能如下:
但是当我按预期测试它时会Not mounted yet.
打印到控制台。所以我想
将这些操作添加到您可以稍后调用的队列中
正如官方反应导航文档所述,但我不知道该怎么做。我发现react-native-queue但它不再被维护并且使用 setTimeout 似乎是一个丑陋的黑客,因为加载时间会有所不同。那么有没有更好的方法或解决方案,我只能在加载完成(我正在考虑为此使用 redux)并且我的导航器已安装(不知道如何执行此操作)后才能使用导航?
android - One Signal Google Play 服务库错误 React-Native
我最近遇到了我的应用程序的问题。
我已经安装了 OneSignal,它工作正常。添加 onesignal 后的一些更新停止工作。我不确切知道我做错了什么或哪个模块与onesignal冲突,我已经解决这个问题好几天了,我仍然无法解决它。需要帮忙。
我的 package.json:
我的 android/build.gradle:
我的 android/app/build.gradle:
我的 src/main/AndroidManifest.xml:
我的 src/debug/AndroidManifest.xml:
一些观察:
- 我检查了 onesignal 设置并再次执行所有步骤,没有任何改变。
- 我检查了这个错误的所有问题,stackoverflow 中的问题,我尝试了所有我能做的小解决方案,没有任何改变。
- 我试图直接在 onesignal 面板上移除设备,但没有任何改变。
- 我同时运行了 avd 和真实设备,没有任何改变。
- 我总是在调试时运行,而不是在发布时运行。
android - 安装 react-native-onesignal 时无法解决:com.google.android.gms:play-services-ads-identifier:12.0.1
几天来一直在这个问题上,尝试了所有解决方案但没有任何效果,当我尝试在 Android Studio 上运行项目时收到该错误消息。
应用程序/build.gradle
构建.gradle
使用
谢谢您的帮助
react-native - 我怎样才能让 react-native-onesignal 在所有设备上工作?
我在 OneSignal 上已经面临这种情况几个月了,但我仍然没有想出如何解决它:
我的问题是:我怎样才能让它在所有设备上工作?我想我迷失在 gradle 文件中的依赖项设置中。
安卓/build.gradle
android/app/build.gradle
Ps:我也在这个项目中使用 react-native-google-signin。
更新
我打开了一个关于react-native-onesignal的问题
ios - 在 iOS 模拟器上测试 OneSignal 推送通知
我已经在我的项目中设置了react-native-onesignal以使用 OneSignal 实现推送通知。
自 Xcode 11.4 Beta 起,可以在 iOS 模拟器上测试推送通知。我创建了 JSON 格式的 apns 文件来测试模拟器上的推送通知,它工作得很好。
但是如何模拟 OneSignal 推送通知?
我关注了 OneSignal 文档并希望接收从 OneSignal 仪表板发送的推送通知。
这是我在 App.tsx 文件中实现的内容。
当我从 OneSignal 仪表板发送推送通知时,我看不到任何记录的消息。
我需要在 apns 文件中做任何技巧吗?
任何帮助,将不胜感激。
push-notification - 需要适用于 Android 和 IOS 的 React Native OneSignal 后台监听器
我希望后台监听器更新状态,就像 firebase 为我们提供消息()。setBackgroundMessageHandler。
一个信号版本
"react-native-onesignal": "^4.0.3",
react-native - React Native - 从通知打开应用程序时获取初始路由
我正在使用 react-native 和 onesignal 来处理通知。
如果您在应用程序处于后台时按下通知,我将捕获该'opened'
事件并重定向到正确的路线(在通知元数据中)
但是当应用程序关闭时,单击通知只会打开应用程序,而不会触发'opened'
事件。
如何获取初始按下的通知元数据?
谢谢
ios - React Native:如何将文件添加到“Xcode 项目根目录”?
我正在按照本指南向我的 React Native 项目添加自定义推送通知声音。它说要拿走我的.wav
文件和Add files to the Xcode project root. Make sure Add to targets is selected when adding files so that they are automatically add to the bundle resources
. 谁能准确解释如何做到这一点?我是否将文件拖放到 XCode 文件结构中的特定位置?