flutter极光推送配置厂商通道(华为)笔记--进行中

一、基础集成按照下面官方文档进行

厂商通道相关参数申请教程
集成厂商 集成指南
官方文档:厂商通道回执配置指南

注意:不同厂商对app上架的要求不同,华为、荣耀 对app上架没有硬性要求

遇到问题

1、引入apply plugin: 'com.huawei.agconnect'后 应用名称变成乱码

解决方案:<application>标签下的应用名属性值不要直接赋值中文字符串,应用名属性值引用strings文件中定义的参数。

2、按照官方步骤引入后,app杀死后一直接收不到离线消息

华为平台上的应用信息上忘记设置了指纹证书,后来设置了一个release的证书 ,和一个debug的指纹证书后 发现可以正常受到消息。
在这里插入图片描述

修改AndroidManifest.xml 根节点加入命名空间属性 xmlns:tools="http://schemas.android.com/tools"application节点加入属性 tools:replace="android:label"

3、消息点击无反应(适合项目主体为原生开发的项目)

原因:flutter 集成厂商通道后,关于离线消息的点击问题,需要自己实现,官方技术推荐参考原生的方式如下:
官方文档
跳转逻辑(Android建议使用intent):

IOS跳转逻辑

Android跳转逻辑

跳转示例:主要是原生的配置MainActivityOpenActivity
《flutter 厂商点击跳转处理》

在这里插入图片描述
在这里插入图片描述
他这个方法思路是创建一个OpenActivity,点击时候再OpenActivity里面跳转到MainActivity,在MainActivity解析消息,而我的项目是纯flutter开发,我的所有页面都是.dart 的,这个方案根本不适合我,他这个方案适合,极光使用flutter 的,而开发页面使用的是原生的。

4、点击跳转无反应(适合项目主体为flutter开发的项目)

经过多次测试,发现从极光后台发送的消息,使用‘打开应用’的时候,接收到的离线消息(需要先集成对应的厂商通道),点击可以唤醒app在这里插入图片描述

所以我就考虑可不可以后端在发送消息时候将这个性质直接设置成‘打开应用’,在询问了官方技术后,了解到是可以做到的,需要后端在发送消息时候配置intent
安卓通知点击跳转

在这里插入图片描述

可以直接使用第3个:应用首页: intent:#Intent;action=android.intent.action.MAIN;end (固定为此地址)
后台配置的消息体样式大概为:
在这里插入图片描述
我的后端同事给我返回的消息体如下

在这里插入图片描述
其中uri_activity和uri_action 是你项目中自己的OpenActivity的地址,不过要注意的是这两个性质是在4.2.2以下版本有效,而我用的是4.9.0所有这两个字段在这里不起作用

这样的话 flutter项目经过测试(极光后台发送 走厂商通道 华为手机app后台杀死),接收到的离线消息,经点击是可以直接唤醒app,唤醒后根据返回的消息类型走的是代码里自定义的跳转逻辑,这个是可以满足我的项目需求的。

5、华为每日发送消息条数限制

走厂商通道发送离线消息,发送一定条数后,之后的消息都接收不到,极光推送后台分析失败原因为:资讯营销类消息频次限制 (HUAWEI)
经查资料发现华为对推送数量有上限要求,但同时提供的有相对解决方案如下:

华为推送数量管理细则
在这里插入图片描述

5.1 自分类权益申请

打开华为开发者联盟-管理中心-Push-我的项目-配置-自分类权益申请
申请项目为:服务与通讯类消息
申请流程
在这里插入图片描述

5.2 创建场景

在这里插入图片描述

5.3 首次需要激活

在这里插入图片描述

到这里 其实还没有配置完全,按照文档的意思是还需要后端增加category ,但这时候 我在极光后台 走厂商通道 给华为手机发送离线消息 我发现条数并没有受到限制,目前还没搞清楚的是,推送消息的内容必须包含 自分类(华为开发者联盟-管理中心-Push-我的项目-配置-自分类权益申请)里面的已申请消息类型对应的关键字

疑问:这里的场景有对应的关键字,推送的内容是否需要包含场景的关键字才能够收到推送???

5.4 后端配置category类型(自分类权益子类型)

华为应用适配开发-云端通知适配上让配置category(后端), 经测试在集成极光推送+厂商通道的基础上不配置category也能正常接收离线消息 (通过极光后台发送,走厂商通道,app进程杀死状态)

在这里插入图片描述

5.5 测试时不受条数限制的方法

华为也提供了如何在测试时候不受条数限制的方法:依旧是服务端配置,或者官方后台发送配置

在这里插入图片描述

发送测试消息是否会被频控?
为了方便开发者测试消息,在推送消息时可以设置target_user_type参数为1。每个应用每日可发送500条测试消息且不受每日推送数量上限要求。注意这里的target_user_type必须是number格式
在这里插入图片描述
从后台发送消息的话:
在这里插入图片描述

### 回答1: 对于您提出的问题,我可以回答。华为 OBS 存储是一种云存储服务,它可以为开发者提供预定义的标准对象存储服务,并可以实现数据的安全存储、复制、备份和恢复。它使用Flutter作为其开发平台,可以实现快速开发和部署,提高了开发者项目的效率。 ### 回答2: 华为obs存储是一种云存储服务,而flutter是一种跨平台的移动应用开发框架。华为obs存储和flutter可以结合使用,实现在移动应用使用云存储功能。 使用flutter开发应用时,可以利用华为obs存储的API和SDK,实现文件上传、下载、管理等功能。开发者可以通过调用华为obs存储的接口,将移动应用的文件传输到华为云的存储空间,或者从华为云的存储空间下载文件到应用进行使用。 华为obs存储提供了稳定可靠的存储服务,具备高可用性和高扩展性,能够满足不同规模的应用需求。同时,华为obs存储还提供了数据加密、多副本备份等安全措施,保障数据的安全性和可靠性。 在使用flutter开发应用时,如果需要使用云存储功能,可以选择集成华为obs存储,通过华为obs存储的API进行文件的上传和下载操作,实现应用和云存储之间的数据传输。这样可以充分利用云存储的优势,提高应用的数据存储和传输效率,为用户提供更好的使用体验。 综上所述,华为obs存储和flutter可以很好地结合使用,实现移动应用的云存储功能。开发者可以通过调用华为obs存储的接口,实现文件的上传、下载和管理等操作,提升应用的数据存储和传输效率,为用户提供更好的使用体验。 ### 回答3: 华为OBS存储是华为云提供的对象存储服务,而Flutter是由Google开发的跨平台移动应用开发框架。 华为OBS存储可以用于存储各种类型的数据,包括图片、视频、文档等。在Flutter开发,我们可以利用华为OBS存储来上传、下载和管理这些数据。 首先,我们需要在华为云平台上创建一个OBS存储桶,用于存放我们的数据。然后,通过Flutter提供的网络请求库,我们可以使用华为OBS提供的API接口来实现文件的上传和下载。 在Flutter,我们可以使用一些第三方库来简化与华为OBS存储的交互。例如,可以使用dio库来发送网络请求,通过设置请求头和参数来实现文件的上传和下载。我们可以使用华为OBS提供的Access Key和Secret Key来进行身份验证,并指定需要上传或下载的文件路径。 除了上传和下载,我们还可以利用华为OBS存储的其他功能。例如,可以通过Flutter应用程序与华为OBS存储进行通信,实时获取存储桶的状态信息,如获取当前存储桶文件的列表、删除指定的文件等操作。 综上所述,华为OBS存储与Flutter的结合可以实现方便、高效的文件上传、下载及管理功能。通过利用华为OBS存储在移动应用开发的优势,我们可以提供更好的用户体验和数据管理能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值