当前位置: 首页 > article >正文

flutter集成华为推送(Android)

Flutter 集成华为 Push(huawei_push: 6.12.0+303)教程

前言

在 Flutter 项目中集成华为推送(Huawei Push)可以让应用在华为设备上实现消息推送功能。本文将介绍如何在 Flutter 中集成 huawei_push 插件,并实现基本的推送功能。


1. 配置华为开发者账号

1.1 注册华为开发者账号

前往 华为开发者官网 注册并登录你的开发者账号。

1.2 创建应用

  1. 进入 AppGallery Connect,点击 我的应用
  2. 创建一个新的应用,并填写相关信息。
  3. 记下 App ID 和 Package Name,后续需要使用。

1.3 配置推送服务

  1. 在 AppGallery Connect 项目设置 -> API 管理,启用 推送服务(Push Kit)
  2. 进入 认证信息,下载 agconnect-services.json 文件,并放入 Flutter 项目的 android/app/ 目录

2. 集成 huawei_push 插件

2.1 添加依赖

在 pubspec.yaml 文件中添加:

dependencies:
  flutter:
    sdk: flutter
  huawei_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-data
    android: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 推送 SDK
    implementation '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 {
   // 绑定deviceToken
    huaweipush.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 在华为云测试推送

  1. 进入 AppGallery Connect -> 云测试
  2. 选择 推送测试,填写 Token 并发送消息。
  3. 观察设备是否收到推送通知。

5. 常见问题

Q1: 获取 Token 失败?

解决方案:

  • 确保 agconnect-services.json 文件已正确放置。
  • 确保 appid 配置正确。

Q2: 推送消息无法收到?

解决方案:

  • 确保 onMessageReceivedStream 监听到了消息。
  • 确保应用没有被系统后台限制。
  • 在华为云 推送测试 里检查推送状态。

结语

至此,你已经成功在 Flutter 项目中集成了 huawei_push 6.12.0+303,并实现了基础的推送功能。


http://www.kler.cn/a/571467.html

相关文章:

  • build gcc
  • Debian12 安装中文输入法
  • WebSocket 协议爬虫
  • 2025年AI PPT工具精选:让演示文稿更智能、更高效
  • nginx 503错误分析
  • C++11详解(下)
  • MongoDB安全管理
  • 3-2安卓中的目录结构以及核心四大组件应用
  • python3.13安装教程【2025】python3.13超详细图文教程(包含安装包)
  • 人工智能之数学基础:n阶行列式
  • 【高并发内存池】申请内存
  • 浅谈DeepSeek使用技巧
  • 【AI文章解读】The Model is the Product
  • UML之参与者(Actor)
  • Linux《基础开发工具(上)》
  • 蓝桥杯训练—召唤数学精灵
  • C++第六节:stack和queue
  • 文件上传复现
  • React Refs:深入理解与最佳实践
  • 在实际工作中,设计测试用例会用到的设计方法有哪些,请具体举例说明