开发者社区 问答 正文

在应用研发平台EMAS中,uniapp我在manifest.json里配置了原来的厂商通道appke

在应用研发平台EMAS中,uniapp我在manifest.json里配置了原来的厂商通道appkey那些,然后也和emas的应用里配置的对了下,也和厂商的开发平台上的对了下,都是一致的,但是应用没运行时,收不到推送,可能是什么原因啊?我们以前php是用的这种方式在后端推送的,找不到这个相关的文档了呢,上面发的openapi里的内容和这个不一样了.

展开
收起
小小鹿鹿鹿 2023-10-16 13:29:38 101 分享 版权
阿里云 AI 助理回答

在应用研发平台EMAS中,您提到使用uniapp开发的应用在manifest.json中配置了厂商通道的AppKey,并且与EMAS控制台和厂商开发平台上的配置一致,但在应用未运行时仍然无法收到推送。以下是可能的原因及解决方案:


1. 厂商通道配置问题

即使AppKey配置正确,仍需确保以下几点: - 厂商通道是否已正确开启:部分厂商(如华为、小米、OPPO等)需要单独开通厂商推送服务,并上传相关密钥文件或证书。 - 通知渠道设置:对于鸿蒙系统,需要创建通知渠道并选择正确的分类类型(如服务与通讯类)。如果未正确设置通知渠道,可能导致推送失败。 - 测试消息限制:某些厂商对测试消息有每日推送条数限制(如鸿蒙最多支持1000条测试消息)。请确认是否启用了测试消息功能。

建议操作: - 检查EMAS控制台中的“厂商通道”配置页面,确保各厂商的AppID/AppSecret已正确填写。 - 确认厂商开发平台上的推送服务已启用,并检查是否有相关错误日志。


2. 推送SDK初始化问题

推送SDK在初始化时可能会因缓存问题导致设备未正确注册到推送服务。如果包名保持不变但切换了环境(如从测试环境切换到生产环境),可能导致设备未重新注册。

原因: - 推送SDK在初始化过程中会以包名为标识缓存设备信息。如果更换了AppKey但包名未变,SDK可能不会重新发起设备注册过程。

解决方案: - 强烈建议使用不同的包名区分测试环境和生产环境。如果必须使用相同包名,请先卸载原有App,然后重新安装,避免覆盖安装。 - 在代码中调用CloudPushService.register方法后,检查是否成功获取到deviceId。如果deviceId为空,说明设备未正确注册。


3. 推送方式与消息分类问题

不同厂商对推送消息有不同的分类要求,尤其是鸿蒙系统。如果消息分类不正确,可能导致推送失败或被系统拦截。

原因: - 鸿蒙系统对消息分类有严格要求,例如“服务与通讯类”消息不受每日推送数量限制,而“运营类”消息则有限制。 - 如果推送的消息未正确分类,可能导致消息被归为非重要消息,从而被系统收纳或丢弃。

建议操作: - 使用EMAS控制台推送时,选择正确的通知渠道类型(如阿里云在线通知渠道)。 - 调用OpenAPI推送时,传入正确的HarmonyNotificationSlotType参数,确保消息分类符合厂商要求。


4. 后台推送逻辑问题

您提到以前使用PHP后端进行推送,但现在找不到相关文档。可能是由于推送接口发生了变化。

原因: - EMAS推送的OpenAPI接口可能已更新,旧版接口可能不再支持。 - 后端推送时需要确保传递的参数(如AppKeyDeviceIdMessageId等)与当前EMAS控制台的配置一致。

建议操作: - 检查EMAS控制台的“推送记录”,确认消息是否成功下发。如果消息状态为“失败”,查看具体错误码并排查问题。 - 参考最新的OpenAPI文档,确保后端推送逻辑与当前接口规范一致。


5. 其他可能原因

  • 用户权限问题:部分厂商(如鸿蒙)要求用户主动订阅通知,否则可能无法接收到推送消息。
  • 设备离线状态:如果设备长时间未上线(安卓设备90天,iOS设备24个月),EMAS会认为该设备已失效,并清除其DeviceId
  • 推送回调未触发:如果推送通知未触发onNotification回调,可能是由于推送SDK未正确初始化或设备未注册成功。

建议操作: - 引导用户在应用内订阅通知,并打开推送开关。 - 确保设备处于在线状态,并检查DeviceId是否有效。


总结

根据上述分析,您可以按照以下步骤逐一排查问题: 1. 检查厂商通道配置是否正确,包括AppID/AppSecret和通知渠道设置。 2. 确保推送SDK已正确初始化,并获取到有效的deviceId。 3. 确认推送消息的分类是否符合厂商要求。 4. 更新后端推送逻辑,确保与最新OpenAPI接口规范一致。 5. 引导用户订阅通知并检查设备在线状态。

如果问题仍未解决,建议联系阿里云技术支持团队,提供详细的日志信息以便进一步排查。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答