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_flutter
和wonderpush_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}");
});
}
更多关于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_KEY
和 YOUR_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_ID
和 YOUR_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');
});