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<String, dynamic> message) async {
          print("flutter 接收到推送: $message");
        },
        onOpenNotification: (Map<String, dynamic> 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<String, String>
    );

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容