Flutter在Android平台实现消息推送
1. 极光推送平台申请应用
1. 注册极光推送平台;
极光官方平台
2. 极光推送平台创建应用;
填写应用程序名称。
选择平台,选择服务,点击下一步。
需要输入应用包名(Android平台),选择渠道,点击下一步。
完成上面的操作在应用管理中就可以看到创建的应用程序了。
点击“应用设置”,就可以看到应用信息了,其中AppKey非常重要,在项目中使用极光推送会用到。
2. 集成极光推送SDK
1. 安装插件
dependencies:jpush_flutter: 0.6.3
在pubspec.yaml中配置保存后,在VS Code环境中会自动下载依赖包。
如果无法正常下载,执行 flutter pub get 。
2. 配置
Android平台 在 android ▸ app ▸ build.gradle中修改代码如下:
android: {....defaultConfig {applicationId "你的应用包名"...ndk {// 选择要添加的对应CPU类型的.SO库。abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a' }manifestPlaceholders = [JPUSH_PKGNAME : applicationId,// 极光上注册的包名对应的 AppkeyJPUSH_APPKEY : "appkey", // 暂时填写默认值即可.JPUSH_CHANNEL : "developer-default"]}
}
3. 使用极光推送
import 'package:flutter/material.dart';
import 'package:jpush_flutter/jpush_flutter.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Flutter Demo',theme: ThemeData(primarySwatch: Colors.blue,),home: JpushPage(),);}}class JpushPage extends StatefulWidget {JpushPage({Key key}) : super(key: key);_JpushPageState createState() => _JpushPageState();
}class _JpushPageState extends State<JpushPage> {@overridevoid initState() {super.initState();// 初始化极光推送this.initJpush();}// 监听极光推送 (自定义的方法)// https://github.com/jpush/jpush-flutter-plugin/blob/master/documents/APIs.mdinitJpush() async {// 初始化JPush jpush = new JPush();// 获取注册的IDjpush.getRegistrationID().then((rid) {print("获取注册的id:$rid");});// 初始化jpush.setup(// 极光官方申请应用的APP KEYappKey: "17d78ecf32c322db169a1d98",channel: "theChannel",production: false,debug: true,);// 设置别名实现指定用户推送jpush.setAlias("jg6666").then((map) {print("设置别名成功");});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");},);} catch (e) {print('极光SDK配置异常');}}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text("极光推送"),),body: Text("极光推送演示"),);}
}
至此,就可以在极光平台进行消息推送了。
参考:
jpush_flutter | Flutter Package
GitHub - jpush/jpush-flutter-plugin: JPush's officially supported Flutter plugin (Android & iOS). 极光推送官方支持的 Flutter 插件(Android & iOS)。
Flutter在Android平台实现消息推送相关推荐
- android开发之消息推送
本人想把Android所要运用到的所有的东西都好好的梳理一遍,那今个儿就和大伙说说消息推送:想必大家都玩过小米手机,细心的人会发现,小米手机时不时的就会发一些通知告诉你要系统升级了.某某App有新版本 ...
- 京东京麦商家开放平台的消息推送架构演进之路
1.前言 京麦实时消息推送是京东的京麦商家开放平台的核心组成部分.从消息源到消息中心再到触达用户,以及最终根据消息协议呼起操作页面,京麦实时消息推送是一个完整且健康的生态闭环.下面我会详细的介绍下京麦 ...
- 浅谈iOS和Android后台实时消息推送的原理和区别
http://www.52im.net/thread-286-1-1.html 前言 iOS和Android上的实时消息推送差异很大,往小了说是技术实现的差异,往大了说是系统实现理念的不同.实时消息推 ...
- Android中的消息推送
转载于Android中的消息推送 前段时间做了一个应用,需要用到服务器端向Android或者是Iphone终端主动发送命令.随后客户端做出相应的反应.当时没有找到最佳的方案,一直搁置着.今天看到网上有 ...
- android 消息推送方法,一种基于Android系统的消息推送方法技术方案
[技术实现步骤摘要] 本专利技术涉及一种基于Android系统的消息推送方法,属于计算机 技术介绍 推送功能在手机应用开发中越来越重要,已经成为手机开发的必选项.消息推送,就是在互联网上通过定期传送用 ...
- Android平台的信息推送实现
最近有幸负责参与开发公司的CMPP短信网关程序,采用的是Apache Mina框架实现.通过该项目对Socket通信.长连接有了更深一步的理解,于是就想试试将Mina用到Android平台的信息推送上 ...
- [023] Android平台的信息推送实现
最近有幸负责参与开发公司的CMPP短信网关程序,采用的是Apache Mina框架实现.通过该项目对Socket通信.长连接有了更深一步的理解,于是就想试试将Mina用到Android平台的信息推送上 ...
- Android友盟消息推送
1. 申请应用消息推送账号 集成SDK之前, 请在 http://message.umeng.com 创建应用,获取应用对应的AppKey和Umeng Message Secret.并将自己服务器ip ...
- Android集成阿里消息推送
1.阿里消息推送的官方文档地址 https://help.aliyun.com/document_detail/30054.html?spm=a2c4g.11174283.3.2.136c6d1669 ...
最新文章
- 大龄屌丝自学笔记--Java零基础到菜鸟--028
- 专属程序员的编程日历,终于来了 | 10月书讯
- 小程序webview不全屏_有赞微信商城和有赞微信小程序什么不一样
- extjs中文字体在firefox和Adobe Air里显示偏小的问题
- hadoop大数据——mapreduce程序提交运行模式及debug方法
- 太好了,一分钟带你分清Python的模块、库、包有什么联系和区别?
- Linux小宝典之理解Chroot模式
- python numpy的var std cov研究
- Python3——多线程之threading模块
- 通讯录通过id找邮箱和手机
- TensorFlow 学习(十四)—— contrib 与 slim
- 【CS285 深度强化学习 】作业一之详解 [Deep Reinforcement Learning]
- Java实现地图的导出
- Windows Server 2008 R2 C盘空间不足解决方法
- Windwos磁盘管理工具diskpart
- java指令工具_jvm 指令工具 jcmd 命令(Java多功能命令行)
- 嵌入式linux分区,嵌入式Linux MTD分区调整
- 基于FPGA的花样流水灯
- 一款视频剪辑软件--爱剪辑
- java计算机毕业设计基于ssm的果蔬销售购物平台
热门文章
- Android肝帝战纪之ObjectBox移动数据库框架探究与实现
- SQL Server numeric数据类型
- 数字图像处理(1)——认识数字图像
- 烟雨江湖服务器维护,烟雨江湖初始属性选择推荐 烟雨江湖出生攻略
- 你的抖音直播间没有人?爆播家抖音卡直播广场详细教程(2021最新)
- Java基础eclipse版(二)——JDK、Eclipse的下载与安装
- MOS管在缓启电路中的应用差异
- 育碧开发了一个 AI 工具,能快速找出代码中的 Bug
- 上海老百姓的胆量 VS 大牌店营业员的势利
- 启动MyEclipse时报错,An error has occurred see the log file 出现此类错误提示