应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
aliyun-react-native-push是阿里云提供的用于React Native应用集成EMAS推送功能的库。如果App切到后台或者杀掉进程之后就收不到推送了,可能是由于未正确配置或存在其他问题。
在使用aliyun-react-native-push库接入推送和辅助通道时,首先需要确保已经在React Native项目中安装了EMAS插件或依赖,并在项目中引入了EMAS SDK。然后,您可能需要根据EMAS官方文档提供的指南,对配置文件进行修改、添加必要的依赖项以及设置初始化代码等步骤。
此外,一些手机厂家会在自家ROM中做系统级别的推送通道,再由系统分发给各个App,以提高在自家ROM上的推送送达率。因此,针对小米、华为、荣耀、vivo、OPPO、魅族、谷歌等设备管控较严的情况,您可能需要分别接入相应的设备厂商推送辅助通道,以提高这些设备上的推送到达率。
推送的时候 厂商通道 点击通知跳转activity 设置这个类 AndroidPopupActivity ,此回答整理自钉群“【移动推送】技术支持3群-应用研发平台EMAS”
当您的应用程序在后台运行或被杀死时,接收不到推送通知可能是由于Android和iOS系统的限制。在这种情况下,您可能需要配置后台推送和远程通知。
对于Android,您需要配置Google Cloud Messaging (GCM) 或 Firebase Cloud Messaging (FCM) 以实现后台推送。对于iOS,您需要配置Apple Push Notification service (APNs) 以实现后台推送。
以下是一些可能的解决方案:
对于Android,确保您的应用程序已经注册了GCM/FCM,并且在应用程序被杀死时仍然可以接收推送通知。您可以在AndroidManifest.xml文件中配置GCM/FCM,并使用Firebase Cloud Messaging库来处理推送通知。
对于iOS,确保您的应用程序已经注册了APNs,并且在应用程序被杀死时仍然可以接收推送通知。您可以在Info.plist文件中配置APNs,并使用Apple Push Notification service框架来处理推送通知。
确保您的应用程序已经被设置为在后台运行。对于Android,您可以在AndroidManifest.xml文件中设置android:persistent
属性为true
。对于iOS,您可以在Info.plist文件中设置UIApplicationExitsOnSuspend
属性为NO
。
确保您的推送服务器正确地发送了推送通知。您可以使用诸如Firebase Cloud Messaging之类的推送服务器来发送推送通知。
如果您的应用程序使用了React Native的特定功能,例如BackgroundFetch或Job Scheduler,确保这些功能已经正确配置并且可以正常工作。
如果以上解决方案都无法解决问题,您可能需要检查您的应用程序代码,或者联系阿里云的技术支持来获取帮助。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。