苏州网站建设哪家好查询百度关键词排名
Flutter 集成华为 Push(huawei_push: 6.12.0+303)教程
前言
在 Flutter 项目中集成华为推送(Huawei Push)可以让应用在华为设备上实现消息推送功能。本文将介绍如何在 Flutter 中集成 huawei_push
插件,并实现基本的推送功能。
1. 配置华为开发者账号
1.1 注册华为开发者账号
前往 华为开发者官网 注册并登录你的开发者账号。
1.2 创建应用
- 进入 AppGallery Connect,点击 我的应用。
- 创建一个新的应用,并填写相关信息。
- 记下 App ID 和 Package Name,后续需要使用。
1.3 配置推送服务
- 在 AppGallery Connect 项目设置 -> API 管理,启用 推送服务(Push Kit)。
- 进入 认证信息,下载
agconnect-services.json
文件,并放入 Flutter 项目的android/app/
目录。
2. 集成 huawei_push
插件
2.1 添加依赖
在 pubspec.yaml
文件中添加:
dependencies:flutter:sdk: flutterhuawei_push: 6.12.0+303
然后运行:
flutter pub get
2.2 修改 AndroidManifest.xml
在 android/app/src/main/AndroidManifest.xml
文件中添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
在 <application>
标签内添加:(亲测不加也可以)
<meta-dataandroid:name="com.huawei.hms.client.appid"android:value="appid=你的华为App ID" />
2.3 配置 build.gradle
修改 android/build.gradle
buildscript {dependencies {classpath "com.huawei.agconnect:agcp:1.9.1.301"}
}
修改 android/app/build.gradle
apply plugin: 'com.huawei.agconnect'dependencies {implementation 'com.huawei.hms:push:6.9.0.300' // 最新 HMS 推送 SDKimplementation 'com.huawei.agconnect:agconnect-core:1.8.0.300'
}
3. 初始化和使用华为 Push
3.1 请求推送权限
在 main.dart
中初始化 huawei_push
:
import 'package:flutter/material.dart';
import 'package:huawei_push/huawei_push.dart' as huaweipush;void main() {runApp(MyApp());initPush();
}void initPush() async {// 绑定deviceTokenhuaweipush.Push.getTokenStream.listen((deviceToken) async {logDebug("【华为deviceToken】$deviceToken");},onError: (error) {logDebug("【华为deviceToken Error】$error");},);String result = await huaweipush.Push.turnOnPush(); // 打开开关huaweipush.Push.getToken('');// 真正获取token
}
3.2 监听推送消息
HmsPush.onMessageReceivedStream.listen((event) {print("收到推送消息: ${event.data}");
});
4. 运行与测试
4.1 运行项目
flutter run
4.2 在华为云测试推送
- 进入 AppGallery Connect -> 云测试。
- 选择 推送测试,填写
Token
并发送消息。 - 观察设备是否收到推送通知。
5. 常见问题
Q1: 获取 Token 失败?
解决方案:
- 确保
agconnect-services.json
文件已正确放置。 - 确保
appid
配置正确。
Q2: 推送消息无法收到?
解决方案:
- 确保
onMessageReceivedStream
监听到了消息。 - 确保应用没有被系统后台限制。
- 在华为云 推送测试 里检查推送状态。
结语
至此,你已经成功在 Flutter 项目中集成了 huawei_push
6.12.0+303,并实现了基础的推送功能。