在Flutter中集成极光推送,可以通过官方提供的jpush_flutter插件实现。以下是详细步骤:
1. 添加依赖
在 pubspec.yaml 文件中添加依赖:
dependencies:
jpush_flutter: ^2.2.0 # 检查最新版本
运行 flutter pub get 安装。
2. 平台配置
Android 配置:
- 在
android/app/src/main/AndroidManifest.xml 中添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
- 在极光官网注册应用,获取
AppKey,并配置在 AndroidManifest.xml 的 <application> 标签内:
<meta-data
android:name="JPUSH_CHANNEL"
android:value="developer-default" />
<meta-data
android:name="JPUSH_APPKEY"
android:value="你的AppKey" />
iOS 配置:
- 在
ios/Runner/Info.plist 中添加:
<key>JPUSHChannel</key>
<string>developer-default</string>
<key>JPUSHAppKey</key>
<string>你的AppKey</string>
- 启用推送权限:在 Xcode 中为项目添加
Push Notifications 能力。
3. Flutter 代码集成
在 main.dart 中初始化并监听推送:
import 'package:jpush_flutter/jpush_flutter.dart';
final JPush jpush = JPush();
void main() {
// 初始化
jpush.setup(
appKey: '你的AppKey',
channel: "developer-default",
production: false, // 是否生产环境
);
// 监听推送
jpush.addEventHandler(
onReceiveNotification: (Map<String, dynamic> message) async {
print("接收到推送: $message");
},
onOpenNotification: (Map<String, dynamic> message) async {
print("点击通知打开应用: $message");
},
);
runApp(MyApp());
}
4. 测试推送
- 在极光控制台发送测试推送,确保设备能正常接收。
- 使用以下代码获取 RegistrationID(设备标识):
String? registrationId = await jpush.getRegistrationID();
注意事项
- iOS 需配置证书:在苹果开发者中心创建推送证书,并上传到极光后台。
- 权限处理:Android 6.0+ 需动态申请权限,iOS 需用户授权。
- 生产环境:上线时设置
production: true。
完成以上步骤后,即可在 Flutter 应用中集成极光推送功能。