如何在 Flutter 中集成极光推送

本文章将讲述:

  • 在 Flutter 项目中集成极光推送

  • 在 Flutter 项目中初化极光推送并接收到消息

  • 在 Flutter 项目中,对 Android ios 不同平台的配制

01 简述

如何在 Flutter 中集成极光推送_第1张图片

极光推送,英文简称 JPush,免费的第三方消息推送服务,官方也推出众多平台的 SDK 以及插件。
如下图:

如何在 Flutter 中集成极光推送_第2张图片

我们本文章讲述的是在 Flutter 应用程序开发中集成极光推送,参考官方极光推送文档中-客户端集成插件中 有提供极光推送的 Flutter 插件,所以首先我们可以在 Flutter 项目中直接使用这个插件。

如何在 Flutter 中集成极光推送_第3张图片

02 Flutter 项目中集成官方提供的极光推送 Flutter 插件

如何在 Flutter 中集成极光推送_第4张图片

2.1 Flutter 项目中添加 极光推送依赖

2.1.1 通过

git 的方式来添加依赖(方式一)

极光推送 Flutter 插件 github
在 Flutter 项目中的 pubspec.yaml 配制文件中添加 git 依赖

# 极光推送插件
 jpush_flutter:
   # git 依赖方式
   git:
     # git 依赖的地址
     url: git://github.com/jpush/jpush-flutter-plugin.git
     # git 仓库中的分支
     ref: master

如下图示:

如何在 Flutter 中集成极光推送_第5张图片

点击 Packages get 下载依赖

如何在 Flutter 中集成极光推送_第6张图片

或者直接在terminal 命令行中 使用 Flutter packages get 来加载依赖

如何在 Flutter 中集成极光推送_第7张图片

直接通过 git 的方式从 github上加载,与你的网速有很大关系,也很有可能加载不成功,需要耐心等待,小编通过此方式加载时就花了比较长的时间。

2.1.2 通过本地添加极光推送 flutter 插件依赖(方式二)

在极光推送 Flutter 插件官方 github 中,我们点击下载依赖库

如何在 Flutter 中集成极光推送_第8张图片

然后把下载下来的 zip 文件解压,放到一个目录中,小编这里是放在了与项目同一级的目录空间中了,如下图

如何在 Flutter 中集成极光推送_第9张图片

然后在 Flutter 项目中的 pubspec.yaml 配制极光推送的本地依赖如下

# 极光推送插件
 jpush_flutter:
   path: ../jpush-flutter-plugin
  • 注:在这里使用到的 ../ 是校对路径的表示方法,当然也可以使用 jpush-flutter-plugin 文件夹的全路径。

如图所示:

如何在 Flutter 中集成极光推送_第10张图片

2.1.3 通过 pub.dev 添加极光推送 Flutter 插件依赖(方式三)

pub 是 Google 官方的 Dart Packages 仓库,类似于 node 中的 npm 仓库,android 中的 jcenter,我们可以在上面查找我们需要的包和插件。

我们可以访问国内的 pub 仓库来更快的搜索我们需要的插件

如何在 Flutter 中集成极光推送_第11张图片

然后在 Flutter 项目中的 pubspec.yaml 配制极光推送的 pub 依赖如下

jpush_flutter: 0.1.0

或者写成

 jpush_flutter: ^0.1.0
  • 注:两种写法的区别是 后者会自动下载更高版本的,比如说这里配制的是 0.1.0 ,当 pub 仓库中的版本升级为 0.1.3 的时候,那么我们项目中本地依赖的版本不一定是 当前设置的 0.1.0 版本,而是其他版本

或者写成

jpush_flutter: any
  • 注:与前者的区别是 会根据当前的项目环境加载适合当前项目环境中的版本插件,如有时我们指定版本加载时,会出现各种异常的冲突,当几个版本中与你使用到的功能无太大差异时,就可以考虑使用这种方法来简单粗暴的解决。

配制好依赖后,我们点击 package get 来加载依赖:

如何在 Flutter 中集成极光推送_第12张图片

2.1.4 极光推送 Flutter 插件依赖成功

在 Flutter 项目中有多种方式方法来依赖 极光推送的插件,那么依赖成功的标识如下图所示:

如何在 Flutter 中集成极光推送_第13张图片

03 在 Flutter 项目中初始化极光推送

如何在 Flutter 中集成极光推送_第14张图片

我们可以考虑在项目启动的时候配置初始化极光推送

3.1 第一步 导包

import 'package:jpush_flutter/jpush_flutter.dart';

3.2 第二步 初始化

import 'package:flutter/material.dart';import 'package:jpush_flutter/jpush_flutter.dart';import 'index_page.dart';///程序入口void main() => runApp(RootApp());class RootApp extends StatefulWidget{
 @override
 State createState() {    return RottAppState();
 }


}class RottAppState extends State{  ///根布局的初始化
 @override  void initState() {    super.initState();    ///创建 JPush
   JPush jpush = new JPush();    ///配置应用 Key
   jpush.setup(
     appKey: "替换成你自己的 appKey",      channel: "theChannel",      production: false,      /// 设置是否打印 debug 日志
     debug: true, 
   );
 }
 @override
 Widget build(BuildContext context) {    ///来构建
   return MaterialApp(      ///应用程序默认显示的页面
     home: IndexPage(),
   );
 }


}

这里使用到了 appKey 

3.3 配置 Flutter 项目中 android 平台的相关信息

然后在 android 目录下配置 build.gradle

如何在 Flutter 中集成极光推送_第15张图片

在极光开发者平台中创建你的应用程序

如何在 Flutter 中集成极光推送_第16张图片

然后配置推送设置 android

如何在 Flutter 中集成极光推送_第17张图片

这里的应用包名对应上述 android 目录下的 build.gradle 中的 applicationId

配置好后运行 Flutter 项目

如何在 Flutter 中集成极光推送_第18张图片

运行 android 手机上 会有 Running Gradle task ... 的提示,去 maven jcenter 下载 android 平台使用到的依赖库以及 os 库等。

如何在 Flutter 中集成极光推送_第19张图片

走到这里,Flutter 项目中,极光推送在 android 方面便配制好了。
日志信息如下

如何在 Flutter 中集成极光推送_第20张图片

然后在极光开发者平台发送测试消息

如何在 Flutter 中集成极光推送_第21张图片

然后在运行的手机上我们可以看到:

如何在 Flutter 中集成极光推送_第22张图片

3.4 配置 flutter 项目中 ios 平台的极光推送相关信息

在 xcode 中打开 Flutter 项目

如何在 Flutter 中集成极光推送_第23张图片

然后在 xcode 目录中

如何在 Flutter 中集成极光推送_第24张图片

然后在极光开发者平台中配制 ios 的相关推送认证

如何在 Flutter 中集成极光推送_第25张图片

然后在这里配置 ios 的推送证书推送证书生成可参考 官方文档 证书设置指南

如何在 Flutter 中集成极光推送_第26张图片

配制好证书后 运行 Flutter 项目于 iphone 手机上

如何在 Flutter 中集成极光推送_第27张图片

也可以在 xcode 中进行运行查看日志

如何在 Flutter 中集成极光推送_第28张图片

04 错误处理

如何在 Flutter 中集成极光推送_第29张图片

4.1 错误一

如何在 Flutter 中集成极光推送_第30张图片

需要在 android 目录下配置

如何在 Flutter 中集成极光推送_第31张图片

4.2 android ios 平台无法接收到推送消息

在注册 推送的时候,可以先添加上接收通知消息的权限申请,申请成功权限后再进行注册。

关于极光 ●

极光(Aurora Mobile,纳斯达克股票代码:JG)成立于2011年,是中国领先的开发者服务提供商。极光专注于为移动应用开发者提供稳定高效的消息推送、即时通讯、统计分析、极光分享、短信、一键认证、深度链接等开发者服务。截止到2019年9月份,极光已经为超过50万移动开发者和138.6万款移动应用提供服务,其开发工具包(SDK)安装量累计308亿,月度独立活跃设备13.4亿部。同时,极光持续赋能开发者和传统行业客户,推出精准营销、金融风控、市场洞察、商业地理服务产品,致力于为社会和各行各业提高运营效率,优化决策制定。

你可能感兴趣的:(如何在 Flutter 中集成极光推送)