Flutter极光推送集成小米厂商通道【教程】

极光推送官方已经开发出Flutter版的插件,地址:https://pub.dev/packages/jpush_flutter
在Flutter项目里面的pubspec.yaml里面依赖极光推送:jpush_flutter: 2.1.2
截图如下:
在这里插入图片描述
Android:
在 /android/app/build.gradle 中的"android"节点添加下列代码:

android: {
  ....
  defaultConfig {
    applicationId "com.example.jpush_demo"
    ...
    ndk {
	//选择要添加的对应 cpu 类型的 .so 库。
	abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a',        
    }

    manifestPlaceholders = [
        JPUSH_PKGNAME : applicationId,
        JPUSH_APPKEY : "appkey", // NOTE: JPush 上注册的包名对应的 Appkey.
        JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
    ]
  }    
}

其中JPUSH_APPKEY需要在极光推送官网控制台创建一个应用,拿到appkey填写到这个地方,极光推送官网创建应用的步骤如下:

1.在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击确认,然后直接点下一步
在这里插入图片描述
然后需要填写包名,把咋们项目的包名填上去,注意底下 的那些推送通道默认勾选好了,直接点击下一步
在这里插入图片描述
然后点击左侧菜单的概览,再点击我们刚新建好的应用,名字右边有个小齿轮,点一下就能查看应用的APPKEY了:
在这里插入图片描述
复制显示出来的appkey字段,填写到我们项目里的android/app/build.gradle下面的JPUSH_APPKEY对应的地方:
在这里插入图片描述
在这里插入图片描述
然后再main.dart下加入如下代码,初始化极光推送:

  final JPush jpush = new JPush();
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    initPlatformState();
  }
 // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    try {
      jpush.addEventHandler(
          onReceiveNotification: (Map<String, dynamic> message) async {
            print("flutter onReceiveNotification: $message");
          }, onOpenNotification: (Map<String, dynamic> message) async {
        print("flutter onOpenNotification: $message");

      }, onReceiveMessage: (Map<String, dynamic> message) async {
        print("flutter onReceiveMessage: $message");

      }, onReceiveNotificationAuthorization:
          (Map<String, dynamic> message) async {
        print("flutter onReceiveNotificationAuthorization: $message");

      });
    } on PlatformException {

    }

    jpush.setup(
      appKey: "7a77110489c2ea0389b4f90e", //你自己应用的 AppKey
      channel: "jpush_demo",
      production: false,
      debug: true,
    );
    jpush.applyPushAuthority(
        new NotificationSettingsIOS(sound: true, alert: true, badge: true));

    // Platform messages may fail, so we use a try/catch PlatformException.
    jpush.getRegistrationID().then((rid) {
      print("flutter get registration id : $rid");

    });

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight, we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    // if (!mounted) return;

  }

注意,上面代码里面的jpush.setup方面里面也要填写在控制台新建应用的appkey,至于channel,随便填
至此,最基础的Flutter版的极光推送集成完毕,可以测试推送了
点击控制台左边的“消息推送菜单”,然后点击立即体验
在这里插入图片描述
点击创建推送:
在这里插入图片描述
然后把要推送的标题内容都填写完,点击下方的发送预览按钮,再点击确认
在这里插入图片描述
然后手机端就会收到推送消息:
在这里插入图片描述
注意!!!!!!

到这里Flutter版本的极光推送最基础的集成就完成了,也能实现推送,但是!!!如果这个APP在手机上进程被杀掉,没有在前台运行,或者手机开机以后从来没有打开过这个APP,这样是收不到推送消息的,因为现在各个品牌的手机都有自己的推送通道,只有接入了每个厂商的推送通道,APP才会在进程被杀掉的情况下收到推送消息。所以以小米手机为例,还要做一部分工作,完成小米厂商通道的接入,推送才算完全集成,接入小米厂商推送教程如下:

登陆小米开发者官网:
https://dev.mi.com/console/
现在小米开发者已经不支持 “个人开发者”的认证了,只能是企业认证,这一点注意一下,如果你没有企业认证的话,得先去认证企业开发者。
在这里插入图片描述
点击管理控制台,点击创建应用
在这里插入图片描述
填写我们项目的包名,还有应用名称
在这里插入图片描述
红框里的APPID APPKEY这些都是要用到的,步骤到下面这个截图就完了,点击保存就OK。
在这里插入图片描述
重新再次点击“管理控制台”,点击“消息推送”菜单:
在这里插入图片描述
点击启用推送:
在这里插入图片描述
点击我同意,点击启用:
在这里插入图片描述
然后就能看到我们新创建的应用的关键信息,
APPID,APPKEY这些信息,记住这些数据,这些待会要用到
在这里插入图片描述

现在回到咋们项目里面,项目还需要配置一下。

在android/app/build.gradle文件,里面的manifestPlaceholders属性要增加两句话:

  XIAOMI_APPKEY : "MI-5941996139182", // 小米平台注册的appkey,注意不要将前缀去掉 MI-appkey
  XIAOMI_APPID : "MI-2882303761519961182", // 小米平台注册的appid,注意不要将前缀去掉 MI-appid

build.gradle的部分截图如下:
在这里插入图片描述
还要依赖一下极光推送的小米厂商通道的依赖:

dependencies {
    implementation 'cn.jiguang.sdk.plugin:xiaomi:4.0.6'//版本号和对应的JPush版本号相同
}

整体截图如下:
在这里插入图片描述

好了,Android Studio项目的配置这里就完成了,接下来要去极光推送的控制台配置一下:

注意!这一步很重要,必须配置,漏了的话,在APP被杀死的情况下会接收不到消息
下面的截图有5个红框,注意一下!
先点击激光控制台左侧菜单“消息推送”,再展开推送设置,再点击集成设置,点击厂商名称“小米”,在右边的输入框里面填写appid、appsecret、appkey,这三个字段都是前面我们在小米开发者网站上获取到的
在这里插入图片描述
把小米开发者网站获取到的appid、appsecret、appkey填写到上图的输入框内:
在这里插入图片描述
一定要点击启用开关,默认是关闭的!!!
在这里插入图片描述
然后跑起来项目,把进程杀掉,再次点击推送消息,测试手机是否收到消息!
在这里插入图片描述

小米手机在后台被杀死的情况下,收到了推送!证明接入小米厂商通道成功!大功告成!!!

在这里插入图片描述

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄油奥特曼

如果可以,请我喝一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值