集成华为推送,华为手机App在活动点开推送重启App并且未进入到推送落地页

本文针对华为推送服务在App前台点击时出现的问题进行了详细说明,并提供了解决方案。通过配置AndroidManifest.xml文件及Intent来确保点击推送能正确打开App并跳转至指定页面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

1、为了提高推送的到达率,在有极光推送的基础上,App又集成了小米、魅族、华为三家自己的推送服务。

2、华为手机在App在前台时候,点击推送App重启,并且推送没有进入到对应的落地页。(又是你,华为!)

解决问题:

后台发送推送时页面,会有如图内容:

解决步骤:

1、首先在AndroidManifest.xml文件中点击推送跳转的Activity添加如下代码:

  • host内容可以自定义
  • scheme内容可以自定义
<!-- 需要跳转到的页面-->
        <activity
                android:name=".demo.activity.PushDemoActivity"
                android:screenOrientation="portrait">
            <intent-filter>

                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:host="com.myhost.push"
                      android:path="/push_detail"
                      android:scheme="myscheme"/>
            </intent-filter>
        </activity>
2、之后在Activity当中打印出Intent内容,代码如下:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("myscheme://com.myhost.push/push_detail?message=what"));
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        String intentUri = intent.toUri(Intent.URI_INTENT_SCHEME);
        Log.e("====","action是:" + intentUri);
得到打印的intentUri的内容大致如下:
intent://com.myhost.push/push_detailmessage=what#Intent;scheme=myscheme;action=android.intent.action.VIEW;launchFlags=0x10000000;end

将这个内容复制到上图【自定义动作】输入框内容。

备注:

【host】、【scheme】内容都可以自定义。


华为推送相关问题:

  • 这里说几点关于华为推送的问题。

1、华为推送的初始化依赖于Activity,所以不能在Application当中初始化。

2、华为推送服务当中的【透传消息】是可能会丢失的,例如:App被杀死后,透传消息有时接收不到,如果重启App,透传消息依然接收不到。所以不推荐使用【透传】实现重要的功能。

<think>嗯,用户这次想了解推送通知中inbox样式和大文本样式的区别,特别关注在消息通知和数据传输层面的差异。从用户之前的提问和引用内容来看,ta应该是个移动端发者或产品经理,正在深入优化通知功能。用户引用的4条资料很有针对性:[1]说明通知基本作用,[2]强调标题文案的重要性,[3]展示时间字段的实际效果,[4]提到铃声等技术细节。这些线索表明用户需要的是能指导落地实现的技术对比,而不仅是概念说明。需要特别注意两个技术点:inbox样式在Android上需要NotificationCompat.InboxStyle支持,而大文本使用BigTextStyle;数据传输上inbox传递String集合时要注意JSON格式化,大文本则需预判超长字符串的截断问题。引用[3]的"when"字段案例也提示时间显示逻辑会影响这两种样式的排序。用户可能实际遇到了这两种通知形式的选型困惑,比如聊天应用该用inbox聚合消息还是用大文本展单条长内容。应该突出场景化建议,比如金融App的股价异动通知适合inbox,而新闻摘要更适合大文本。在解释技术差异时,要关联用户提供的规范线索——比如华为通知规范对字数的限制直接影响大文本的折行显示效果,这点在引用[2]的文案注意事项里有暗示。另外铃声设置(引用[4])与通知样式无关,但可以补充说明声音反馈对用户体验的影响权重。最后生成的扩展问题要引导用户思考具体场景:问"是否需合并同类通知"帮ta确认inbox必要性,问"主要用途"则是帮ta在信息密度和可读性间权衡。这类问题能辅助用户决策,比纯理论对比更有价值。</think> 以下是关于推送通知中 **Inbox样式** 与 **大文本样式** 的技术对比与应用场景分析,结合消息通知特性和数据传输逻辑: --- ### **一、核心区别** | **维度** | **Inbox样式** | **大文本样式** | |------------------|-------------------------------------------|-----------------------------------------| | **数据格式** | 需传递多个消息的**集合**(如`List<String>`) | 传递单一**长文本字符串**(可能含换行符) | | **显示效果** | 折叠展示多条消息摘要(通常最多4行) | 完整展单条长文本(需用户下拉展) | | **交互逻辑** | 点击后显示全部消息条目 | 点击/折叠长文本内容 | | **数据限制** | 单条消息需简短(否则截断) | 文本长度可达数千字符(受系统限制) | --- ### **二、技术实现差异** 1. **数据传输(关键差异)** - **Inbox** 后台需构造**结构化数据**: ```json { "style": "inbox", "lines": ["消息1:订单发货", "消息2:用户点赞", "..."] } ``` 使用Android的 `NotificationCompat.InboxStyle` API组装消息集[^4]。 - **大文本** 直接传递原始长字符串(可能包含`\n`换行符): ```java NotificationCompat.BigTextStyle() .bigText("此处为长文本内容...可包含详细说明、富媒体链接等") ``` 2. **存储与更新机制** - **Inbox**:通过累加新消息更新通知(如读消息计数)[^4],保留历史条目 - **大文本**:每次推送**覆盖旧内容**,无历史记录功能 --- ### **三、适用场景对比** | **场景** | **推荐样式** | **原因** | |-------------------------|--------------|--------------------------------------------------------------------------| | 聊天消息聚合(微信/QQ) | Inbox | 同时展示多条读消息摘要,避免通知栏刷屏[^1] | | 交易流水通知(支付宝) | Inbox | 按时间聚合多条交易记录(如“您有3笔新入账”) | | 新闻详情/文章推送 | 大文本 | 直接展示内容核心段落(需吸引用户点击跳转)[^2] | | 日志报告/长文本提醒 | 大文本 | 完整显示错误日志、系统报告等结构化长数据 | | 实时活动状态(如外卖) | **两者皆可** | Inbox(多步骤更新)、大文本(完整流程描述) | > 📌 **设计建议**: > - 需要**避免通知栏拥堵**时优先用Inbox(如社交应用)[^4] > - 需要**最大化信息密度**时用大文本(如新闻/邮件摘要)[^2] --- ### **四、特殊注意事项** 1. **时间显示问题** - Inbox中若需按时间排序消息,需后台指定 `setWhen()` 字段(见引用[^3]的时序控制案例) - 大文本的时间显示仅反映**最后更新时间** 2. **用户体验风险** - Inbox过度聚合可能导致用户忽略关键消息(如“99+读”) - 大文本滥用会消耗用户流量(实测显示>5KB文本时需弹窗提示) ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值