1.在極光官網(wǎng)注冊賬號,如果有可以直接登錄。
2.登錄后創(chuàng)建應(yīng)用,獲取appKey。
3.在pubspec.yaml 中添加jpush_flutter
jpush_flutter: 0.0.11
然后獲取package。
4.在android/app/build.gradle文件中android下的defaultConfig添加
ndk {
//選擇要添加的對應(yīng) cpu 類型的 .so 庫。消息推送需要用到 根據(jù)情況選擇
abiFilters 'armeabi', 'armeabi-v7a' //'x86', 'x86_64', 'mips', 'mips64' // 'arm64-v8a',
}
manifestPlaceholders = [
JPUSH_PKGNAME : 包名,
JPUSH_APPKEY : AppKey, //JPush上注冊的包名對應(yīng)的appkey.
JPUSH_CHANNEL : "developer-default",
]
ndk 在用真機(jī)測試時注釋,在發(fā)布apk時選擇自己需要的類型
5.在項目中使用
在main.dart(放在哪個文件內(nèi)自己選擇)中引入
import 'package:jpush_flutter/jpush_flutter.dart';
在MyHomePage中初始化
JPush jpush = new JPush();
void initState() {
// TODO: implement initState
super.initState();
// 配置jpush(不要省略)
jpush.setup(appKey: AppKey ,channel: 'developer-default');
// 監(jiān)聽jpush
jpush.addEventHandler(
onReceiveNotification: (Map<String, dynamic> message) async {
print("flutter 接收到推送: $message");
},
onOpenNotification: (Map<String, dynamic> message) {
// 點擊通知欄消息,在此時通常可以做一些頁面跳轉(zhuǎn)等
},
);
}
創(chuàng)建本地消息
var fireDate = DateTime.fromMillisecondsSinceEpoch(DateTime.now().millisecondsSinceEpoch);
var localNotification = LocalNotification(
id: 234,
title: '測試本地推送',
buildId: 1,
content: '我是本地推送的消息',
fireTime: fireDate,
subtitle: 'ios 消息推送', // 該參數(shù)只有在 iOS 有效
badge: 5, // 該參數(shù)只有在 iOS 有效
extras: {"fa": "0"} // 設(shè)置 extras ,extras 需要是 Map<String, String>
);
此時就可以進(jìn)行消息推送了