Flutter推送服务插件wonderpush_hcm_flutter的使用

WonderPush Flutter SDK - HCM兼容性模块

简介

此插件为华为移动服务(HMS)HCM(Huawei Cloud Messaging)提供了兼容性支持,并且需要与wonderpush_flutter插件一起使用。通过此插件,您可以利用WonderPush服务实现移动推送通知功能。

使用步骤

以下是一个完整的示例,展示如何在Flutter项目中使用wonderpush_hcm_flutter插件。

1. 添加依赖

首先,在项目的pubspec.yaml文件中添加wonderpush_hcm_flutterwonderpush_flutter依赖:

dependencies:
  wonderpush_hcm_flutter: ^最新版本号
  wonderpush_flutter: ^最新版本号

然后运行flutter pub get以安装依赖。

2. 初始化插件

在应用程序启动时初始化wonderpush_flutter插件,并配置HCM兼容性模块。

import 'package:flutter/material.dart';
import 'package:wonderpush_flutter/wonderpush_flutter.dart';
import 'package:wonderpush_hcm_flutter/wonderpush_hcm_flutter.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  [@override](/user/override)
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  [@override](/user/override)
  void initState() {
    super.initState();
    
    // 初始化WonderPush插件
    WonderPushFlutter.init(
      apiKey: "你的API密钥",
      appUserId: "用户的唯一标识符",
    );

    // 配置HCM兼容性模块
    WonderPushHcmFlutter.configureHcm();
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('WonderPush HCM 示例'),
        ),
        body: Center(
          child: Text('WonderPush HCM 插件已初始化!'),
        ),
      ),
    );
  }
}

3. 注册推送通知

为了接收推送通知,您需要注册设备并处理推送消息。

[@override](/user/override)
void initState() {
  super.initState();

  // 初始化WonderPush插件
  WonderPushFlutter.init(
    apiKey: "你的API密钥",
    appUserId: "用户的唯一标识符",
  );

  // 配置HCM兼容性模块
  WonderPushHcmFlutter.configureHcm();

  // 注册推送通知
  WonderPushFlutter.registerForPushNotifications().then((result) {
    print("推送注册结果: $result");
  }).catchError((error) {
    print("推送注册失败: $error");
  });

  // 监听推送消息
  WonderPushFlutter.onMessageReceived.listen((message) {
    print("接收到推送消息: ${message.data}");
  });
}
1 回复

更多关于Flutter推送服务插件wonderpush_hcm_flutter的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


wonderpush_hcm_flutter 是一个 Flutter 插件,用于集成 WonderPush 推送服务到你的 Flutter 应用中。WonderPush 是一个跨平台的推送通知服务,支持 Android 和 iOS。通过这个插件,你可以轻松地在 Flutter 应用中实现推送通知功能。

1. 安装插件

首先,你需要在 pubspec.yaml 文件中添加 wonderpush_hcm_flutter 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  wonderpush_hcm_flutter: ^1.0.0  # 请使用最新版本

然后,运行 flutter pub get 来安装插件。

2. 配置 Android 项目

2.1 添加 HMS Core SDK 依赖

android/app/build.gradle 文件中,添加 HMS Core SDK 的依赖:

dependencies {
    implementation 'com.huawei.hms:push:6.0.1.300'  // 请使用最新版本
}

2.2 配置 AndroidManifest.xml

android/app/src/main/AndroidManifest.xml 文件中,添加以下配置:

<application>
    <meta-data
        android:name="com.wonderpush.sdk.API_KEY"
        android:value="YOUR_WONDERPUSH_API_KEY" />
    <meta-data
        android:name="com.wonderpush.sdk.SECRET_KEY"
        android:value="YOUR_WONDERPUSH_SECRET_KEY" />
    <service
        android:name="com.wonderpush.sdk.WonderPushHmsMessagingService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.huawei.push.action.MESSAGING_EVENT" />
        </intent-filter>
    </service>
</application>

YOUR_WONDERPUSH_API_KEYYOUR_WONDERPUSH_SECRET_KEY 替换为你在 WonderPush 控制台中获取的 API Key 和 Secret Key。

3. 配置 iOS 项目

3.1 配置 Info.plist

ios/Runner/Info.plist 文件中,添加以下配置:

<key>WonderPushClientId</key>
<string>YOUR_WONDERPUSH_CLIENT_ID</string>
<key>WonderPushClientSecret</key>
<string>YOUR_WONDERPUSH_CLIENT_SECRET</string>

YOUR_WONDERPUSH_CLIENT_IDYOUR_WONDERPUSH_CLIENT_SECRET 替换为你在 WonderPush 控制台中获取的 Client ID 和 Client Secret。

3.2 配置推送通知

确保你的 iOS 项目已经配置了推送通知功能。你需要在 Apple Developer 门户中创建一个推送通知证书,并在 Xcode 中启用推送通知。

4. 初始化插件

main.dart 文件中,初始化 WonderPush 插件:

import 'package:flutter/material.dart';
import 'package:wonderpush_hcm_flutter/wonderpush_hcm_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await WonderPushHcmFlutter.initialize();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'WonderPush Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('WonderPush Demo'),
      ),
      body: Center(
        child: Text('Welcome to WonderPush Demo'),
      ),
    );
  }
}

5. 处理推送通知

你可以通过 WonderPushHcmFlutter 提供的 API 来处理推送通知。例如,监听通知点击事件:

WonderPushHcmFlutter.onNotificationOpened.listen((Map<String, dynamic> notification) {
  print('Notification opened: $notification');
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!