Flutter 学习(七)Flutter集成极光推送

Flutter集成极光推送

目前众多推送厂家只有极光支持了flutter,支持一下!!!

废话不多说,开始撸代码

第一步

因为设备的原因目前只在安卓上测试成功,就先分享安卓的配置过程,首先在极光官网创建应用,完成之后在 android/app/build.gradle文件下添加配置:

android {

    .... 你的代码

    defaultConfig {

        .....

        manifestPlaceholders = [

              JPUSH_PKGNAME : applicationId,

              JPUSH_APPKEY : "你的极光推送key", //JPush上注册的包名对应的appkey.

              JPUSH_CHANNEL : "你的推送渠道,如果不知道填写developer-default即可",

        ]

    }

1

2

3

4

5

6

7

8

9

10

11

12

第二步

老规矩,添加依赖

dependencies:

  flutter:

    sdk: flutter

    flutter_jpush: ^0.0.4

1

2

3

4

第三步

导包

import 'package:flutter_jpush/flutter_jpush.dart';

1

第四步

在程序入口初始化Jpush,也就是在 main页面初始化的时候添加:

void _startupJpush() async {

    print("初始化jpush");

    await FlutterJPush.startup();

    print("初始化jpush成功");

  }

1

2

3

4

5

第五步

在没有后台的情况下,可以在官网进行在线测试,

点击发送手机就可以收到消息啦!!!

注意

如果真机运行报错:couldn’t find “libflutter.so”

在android/app/build.gradle添加配置:

ndk{

    abiFilters 'armeabi', 'armeabi-v7a'//, 'arm64-v8a'

}

1

2

3

或者可以增加编译选项:

--target-platform android-arm64 或者 --target-platform android-arm

1

如果运行没有报错,则不用添加;添加之后会启动不起来!!!

接下来有几个扩展方法一并介绍一下:

收到推送提醒

监听addReceiveNotificationListener方法:

/*

* 收到推送提醒

* */

  void _ReceiveNotification() async {

    FlutterJPush.addReceiveNotificationListener(

        (JPushNotification notification) {

      setState(() {

        /// 收到推送

        print("收到推送提醒: $notification");

      });

    });

  }

1

2

3

4

5

6

7

8

9

10

11

12

打开推送提醒

监听 addReceiveNotificationListener方法:

/*

  * 打开推送提醒

  * */

  void _OpenNotification() async {

    FlutterJPush.addReceiveOpenNotificationListener(

        (JPushNotification notification) {

      setState(() {

        print("打开了推送提醒: $notification");

      });

    });

  }

1

2

3

4

5

6

7

8

9

10

11

12

监听接收自定义消息

一般项目这个方法会用的比较多吧!!!

监听 addReceiveCustomMsgListener方法:

  /*

  * 监听接收自定义消息

  * */

  void _ReceiveCustomMsg() async {

    FlutterJPush.addReceiveCustomMsgListener((JPushMessage msg) {

      setState(() {

        print("收到推送消息提醒: $msg");

      });

    });

  }

1

2

3

4

5

6

7

8

9

10

11

其他方法很少用到,就不再赘述了;

---------------------

作者:尼伯特

来源:CSDN

原文:https://blog.csdn.net/weixin_36250061/article/details/86667274

版权声明:本文为博主原创文章,转载请附上博文链接!

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