Flutter 集成极光推送jpush_flutter

1.在极光官网注册账号,如果有可以直接登录。
2.登录后创建应用,获取appKey。
3.在pubspec.yaml 中添加jpush_flutter

jpush_flutter: 0.0.11

然后获取package。
4.在android/app/build.gradle文件中android下的defaultConfig添加

ndk {
          //选择要添加的对应 cpu 类型的 .so 库。消息推送需要用到 根据情况选择
          abiFilters 'armeabi', 'armeabi-v7a' //'x86', 'x86_64', 'mips', 'mips64' // 'arm64-v8a',
      }
      manifestPlaceholders = [
              JPUSH_PKGNAME : 包名,
              JPUSH_APPKEY : AppKey,  //JPush上注册的包名对应的appkey.
              JPUSH_CHANNEL : "developer-default",
      ]

ndk 在用真机测试时注释,在发布apk时选择自己需要的类型
5.在项目中使用
在main.dart(放在哪个文件内自己选择)中引入

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');
    // 监听jpush
    jpush.addEventHandler(
        onReceiveNotification: (Map message) async {
          print("flutter 接收到推送: $message");
        },
        onOpenNotification: (Map message) {
         // 点击通知栏消息,在此时通常可以做一些页面跳转等
      
        },
    );
  }

创建本地消息

var fireDate = DateTime.fromMillisecondsSinceEpoch(DateTime.now().millisecondsSinceEpoch);
var localNotification = LocalNotification(
        id: 234,
        title: '测试本地推送',
        buildId: 1,
        content: '我是本地推送的消息',
        fireTime: fireDate,
        subtitle: 'ios 消息推送', // 该参数只有在 iOS 有效
        badge: 5, // 该参数只有在 iOS 有效
        extras: {"fa": "0"} // 设置 extras ,extras 需要是 Map
    );

此时就可以进行消息推送了

你可能感兴趣的:(Flutter 集成极光推送jpush_flutter)