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

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,并实现了基础的推送功能。

相关文章:

  • uploadlabs经验总结
  • 将 SSH 密钥添加到 macOS 的钥匙串中
  • 拉格朗日对偶性(Lagrangian Duality)详解
  • Windows创建密钥并登录linux服务器
  • 软考备考 - 经验篇
  • 建筑兔零基础自学python记录37|编程练习3
  • 网络安全ctf试题 ctf网络安全大赛真题
  • C语言_数据结构总结1:静态分配方式的顺序表
  • 记一次ScopeSentry搭建
  • DAV_postgresql_4-pg安装
  • 文件操作核心概念总结
  • 鸿蒙中打开相机相册
  • AIGC时代:如何快速搞定Spring Boot+Vue全栈开发
  • *基础算法(1)
  • Linux之df命令
  • 网络安全工作怎么样?
  • 【CPU】Hart ID是什么(草稿)
  • AutoGen学习笔记系列(三)Tutorial - Agents
  • 深拷贝 浅拷贝防御性拷贝
  • 每日一题洛谷普及/提高-P1154 奶牛分厩c++
  • 上海门户网站制/数据分析师报考官网
  • 汽车网站建设页面/成都网站建设方案服务
  • 点胶喷嘴技术支持东莞网站建设/sem运营
  • 做h5网站公司/长沙有实力seo优化公司
  • 济宁城乡建设委员会的网站/seo关键词怎么选
  • 济南机场建设/seo技术培训课程