Flutter集成极光推送
目前众多推送厂家只有极光支持了flutter,支持一下!!!
废话不多说,开始撸代码
第一步
因为设备的原因目前只在安卓上测试成功,就先分享安卓的配置过程,首先在极光官网创建应用,完成之后在 android/app/build.gradle文件下添加配置:
android {
.... 你的代码
defaultConfig {
.....
manifestPlaceholders = [
JPUSH_PKGNAME : applicationId,
JPUSH_APPKEY : "你的极光推送key", //JPush上注册的包名对应的appkey.
JPUSH_CHANNEL : "你的推送渠道,如果不知道填写developer-default即可",
]
}
第二步
老规矩,添加依赖
dependencies:
flutter:
sdk: flutter
flutter_jpush: ^0.0.4
第三步
导包
import 'package:flutter_jpush/flutter_jpush.dart';
第四步
在程序入口初始化Jpush,也就是在 main页面初始化的时候添加:
void _startupJpush() async {
print("初始化jpush");
await FlutterJPush.startup();
print("初始化jpush成功");
}
第五步
在没有后台的情况下,可以在官网进行在线测试,
点击发送手机就可以收到消息啦!!!
注意
如果真机运行报错:couldn’t find “libflutter.so”
在android/app/build.gradle添加配置:
ndk{
abiFilters 'armeabi', 'armeabi-v7a'//, 'arm64-v8a'
}
或者可以增加编译选项:
--target-platform android-arm64 或者 --target-platform android-arm
如果运行没有报错,则不用添加;添加之后会启动不起来!!!
接下来有几个扩展方法一并介绍一下:
收到推送提醒
监听addReceiveNotificationListener方法:
/*
* 收到推送提醒
* */
void _ReceiveNotification() async {
FlutterJPush.addReceiveNotificationListener(
(JPushNotification notification) {
setState(() {
/// 收到推送
print("收到推送提醒: $notification");
});
});
}
打开推送提醒
监听 addReceiveNotificationListener方法:
/*
* 打开推送提醒
* */
void _OpenNotification() async {
FlutterJPush.addReceiveOpenNotificationListener(
(JPushNotification notification) {
setState(() {
print("打开了推送提醒: $notification");
});
});
}
监听接收自定义消息
一般项目这个方法会用的比较多吧!!!
监听 addReceiveCustomMsgListener方法:
/*
* 监听接收自定义消息
* */
void _ReceiveCustomMsg() async {
FlutterJPush.addReceiveCustomMsgListener((JPushMessage msg) {
setState(() {
print("收到推送消息提醒: $msg");
});
});
}
其他方法很少用到,就不再赘述了;