开发者社区 > 弹性计算 > 云服务器ECS > 正文

app进程被杀死收不到推送

已解决

移动推送已经正常接入,有"PUSH_00000"初始化成功日志,也有各大厂商的tokenid输出,并且接入了辅助弹框,但是在控制台测试通知的时仍无法收到推送。(控制台测试时已输入"通知点击后跳转activity"、"辅助弹窗title"、"辅助弹窗boby内容",并确保了Android8.0特殊配置中的通知通道值和应用中的一致性)

展开
收起
云菜一妹 2023-12-12 11:49:08 241 0
5 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。
    推荐回答

    如果您已经正确接入了移动推送,并且有"PUSH_00000"初始化成功日志和各大厂商的tokenid输出,但在控制台测试通知时仍然无法收到推送,可能有以下几种原因:

    1. 检查您的应用是否已经获取了相应的权限。确保您已经在AndroidManifest.xml文件中添加了以下权限:

      <uses-permission android:name="com.example.permission.MESSAGE" />
      <uses-permission android:name="android.permission.INTERNET" />
      

      其中,com.example.permission.MESSAGE是您自定义的消息接收权限,需要替换为您自己的包名。

    2. 检查您的应用是否处于运行状态。如果应用处于后台或者已经被关闭,推送消息可能无法正常接收。请确保您的应用在前台或者处于运行状态。

    3. 检查您的设备是否已经连接到了互联网。如果设备没有连接到互联网,推送消息可能无法正常接收。请确保您的设备已经连接到互联网。

    4. 检查您的设备是否已经开启了移动推送功能。有些设备可能需要手动开启移动推送功能才能正常接收推送消息。请确保您的设备已经开启了移动推送功能。

    5. 检查您的控制台配置是否正确。请确保您在控制台中输入了正确的通知点击后跳转activity、辅助弹窗title和辅助弹窗body内容,并确保了Android 8.0特殊配置中的通知通道值和应用中的一致性。

    2023-12-12 13:01:43
    赞同 展开评论 打赏
  • 如果您已经在移动推送中成功接入,并且在控制台上进行了测试,但仍无法收到推送通知,可能有以下几个原因:

    1. 设备注册:确保您的设备已成功注册到移动推送平台。您可以检查设备的 Token ID 是否正确获取,并与移动推送平台上记录的设备列表进行对比。

    2. 消息设置:确保在控制台上正确配置了推送消息的内容、标题和跳转目标(Activity)。请确认这些配置项是否与您的应用代码中的处理逻辑一致。

    3. 通知通道:如果您的应用运行在 Android 8.0 及以上的设备上,需要确保通知通道的配置正确。请检查推送消息中使用的通知通道值与应用代码中的通知通道配置是否匹配。

    4. 权限配置:确认您的应用已经在 AndroidManifest.xml 文件中正确声明了相关的权限和服务,如 INTERNET 权限和推送服务(PushService)。

    5. 网络连接:确保您的设备有可用的网络连接,以便能够接收到推送消息。

    6. 厂商限制:某些手机厂商可能会对推送进行限制或优化,导致推送无法按预期发送。您可以查阅各大厂商的文档或支持资源,了解他们对推送的要求和限制。

    2023-12-12 21:31:57
    赞同 展开评论 打赏
  • 杀死App之后立刻推送,有几率收不到通知https://help.aliyun.com/document_detail/617851.html?spm=a2c4g.372593.0.i4

    问题描述
    测试过程中,杀死app造成设备离线,立刻给此手机推送,有几率收不到通知

    问题原因
    一般这种现象在小米系列手机里较常见,可能和MIUI的资源管理特性有关。一般排查如果受理和上下线相差1-2秒的话,那可能就是发送时正好断开,因为从决定走哪个通道到真正从那个通道发出去会有百毫秒到一两秒的差距。
    如果上下线时间和推送时间相差较远,需要联系技术支持分析。

    解决方案
    此问题和小米手机推送资源有关,单实际线上生成环境中,恰好在用户杀死app的瞬间发出推送的几率是比较小的,该问题线上影响较小

    适用于
    移动推送

    2023-12-12 16:35:25
    赞同 展开评论 打赏
  • 根据你提供的信息,你的移动推送服务已经正常接入并输出了初始化成功的日志以及各大厂商的tokenID。然而,在控制台测试时仍然无法收到推送通知。为了帮助你解决这个问题,我将提供一些可能的原因和解决方案:

    1. 设备状态:

      • 确保你的设备网络连接正常,且没有关闭接收来自应用的通知。
      • 检查设备是否开启了省电模式或者应用待机优化功能,这些设置可能会限制后台应用的行为,包括阻止它们接收推送消息。
    2. 权限问题:

      • 确保在应用中正确请求了必要的权限,如INTERNETACCESS_NETWORK_STATEWAKE_LOCK等。
      • 在Android 6.0(API级别23)及以上版本,需要动态请求用户权限,尤其是对于通知相关的权限。
    3. 通知渠道设置:

      • 对于Android 8.0及更高版本,你需要创建一个通知渠道,并确保它与你在控制台中配置的通知渠道一致。
      • 如果你有多个通知类型,请确保为每个类型都设置了正确的渠道。
    4. 厂商定制系统:

      • 许多厂商会对其Android系统进行定制,这可能导致某些推送服务无法正常工作。
      • 根据手机品牌或型号,检查其是否有关于推送服务的特殊要求或限制,并相应地调整你的代码。
    5. 应用被杀死后的问题:

      • 尽管你提到已经在manifest中添加了android:persistent="true"属性,但这个属性通常用于长时间运行的服务,而不是常规的应用。
      • 对于推送服务,你可能需要使用前台服务或JobScheduler来保证即使应用被杀死也能继续接收消息。
    6. 重新安装和清除数据:

      • 有时,应用缓存或其他临时文件可能会导致推送服务出现问题。
      • 尝试卸载并重新安装应用,或者在设备设置中清除应用的数据和缓存。
    7. 集成错误:

      • 检查你是否按照移动推送服务提供商的官方文档正确地集成了推送服务。
      • 确保所有的依赖库和资源文件都已经正确引入到项目中。
    2023-12-12 14:39:46
    赞同 展开评论 打赏
  • 控制台测试无法收到推送的问题可能涉及多个方面,以下是一些可能的原因和解决方案:

    • 权限问题:请确保您的应用具有发送通知的权限,并且在运行时请求这个权限。在Android中,您需要在运行时请求permission.SEND_NOTIFICATION权限。
    • 通知渠道问题:从Android 8.0开始,用户可以自定义通知渠道。您需要确保您的应用在初始化时创建了与控制台测试时使用的通知渠道相匹配的渠道。请查看您的特殊配置是否正确。
    • 网络问题:请确保您的设备可以连接到互联网,并且没有任何防火墙或安全设置阻止您的应用发送通知。
    • 日志输出问题:请检查日志输出,看看是否有任何错误或异常。如果您的初始化过程或接收通知的过程有任何错误,都可能在日志中有所反映。
    • 通知点击后跳转问题:请确保您正确设置了"通知点击后跳转activity"的配置。如果没有正确设置,那么通知可能无法被正确地处理。
    • 辅助弹框问题:请确保您正确设置了辅助弹框的标题和内容。如果这些设置不正确,那么通知可能无法被正确地显示。
    • 服务器问题:最后,请检查您的服务器是否正在正确地发送通知。您可以使用一些网络调试工具来检查是否有任何网络连接问题,或者检查您的服务器是否正在产生正确的HTTP请求。
    2023-12-12 12:13:06
    赞同 展开评论 打赏
问答分类:
问答标签:

云服务器ECS是一种安全可靠、弹性可伸缩的IaaS级云计算服务。在这里你可以获取最新的ECS产品资讯、最前沿的技术交流以及优惠活动等信息,加速自己的技术成长。

相关电子书

更多
移动测试智能化 助力高质量App生态体系 立即下载
女性移动App安全攻防战 立即下载
千万级用户直播App——服务端架构设计和思考 立即下载