推送消息不打烊--Flutter集成个推SDK实现Android和IOS原生推送
theme: condensed-night-purple
highlight: a11y-dark
嗨!这里是甜瓜看代码,大家五一快乐呀,这篇文章跟大家聊聊怎么集成个推。
Flutter集成个推SDK
个推是一款支持多平台的推送服务平台,Flutter提供了多个第三方库来支持个推SDK的集成,其中最为常用的是 flutter_getui 库。
安装
在 pubspec.yaml
文件中添加以下依赖:
dependencies:flutter_getui: ^4.1.0
然后执行以下命令:
$ flutter pub get
配置
安卓配置
- 在
android/app/build.gradle
文件中添加以下代码:
android {defaultConfig {//...manifestPlaceholders = [GETUI_APP_ID: "<your_app_id>",GETUI_APP_KEY: "<your_app_key>",GETUI_APP_SECRET: "<your_app_secret>"]}
}
将 <your_app_id>
, <your_app_key>
, <your_app_secret>
替换为个推官网申请的应用ID、应用Key和应用Secret。
- 在
AndroidManifest.xml
文件中添加以下权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
iOS配置
在 Info.plist
文件中添加以下代码:
<key>com.getui.demo.appid</key>
<string><your_app_id></string>
<key>com.getui.demo.appkey</key>
<string><your_app_key></string>
<key>com.getui.demo.appsecret</key>
<string><your_app_secret></string>
将 <your_app_id>
, <your_app_key>
, <your_app_secret>
替换为个推官网申请的应用ID、应用Key和应用Secret。
使用
在Flutter应用中使用个推SDK需要在启动时初始化SDK,并在需要接收推送消息的页面注册推送消息回调函数。
以下是一个简单的示例代码,用于在Flutter应用中发送和接收推送消息:
import 'package:flutter/material.dart';
import 'package:flutter_getui/flutter_getui.dart';void main() async {WidgetsFlutterBinding.ensureInitialized();await FlutterGetui.startUp(); // 初始化SDKrunApp(MyApp());
}class MyApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: '个推示例',home: HomePage(),);}
}class HomePage extends StatefulWidget {@override_HomePageState createState() => _HomePageState();
}class _HomePageState extends State<HomePage> {String message = '';@overridevoid initState() {super.initState();FlutterGetui.addEventHandler(onReceiveMessage: (Map<String, dynamic> message) async {setState(() {this.message = message.toString();},//还有很多回调方法,自己可以看);}void sendPushMessage() {// 构造推送消息PushMessage message = PushMessage(title: '测试标题',content: '测试内容',payload: '测试负载',);// 发送推送消息FlutterGetui.sendPushMessage(message);}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('个推示例'),),body: Center(child: Column(mainAxisAlignment: MainAxisAlignment.center,children: [ElevatedButton(onPressed: sendPushMessage,child: Text('发送推送消息'),),SizedBox(height: 20),Text(message,style: TextStyle(fontSize: 16),),],),),);}
}
在上述代码中,我们首先在 main()
函数中初始化个推SDK,然后在 HomePage
中注册推送消息回调函数,并在 sendPushMessage()
函数中构造并发送推送消息。
当应用接收到推送消息时,onReceiveMessage()
回调函数会被调用,并将推送消息的内容传递给它。在上述代码中,我们将推送消息的内容显示在了应用界面上,以方便调试。
总结
使用 flutter_getui
库集成个推SDK可以很方便地在Flutter应用中实现推送消息的发送和接收。在使用过程中,需要注意在安卓和iOS平台上分别配置相应的参数和权限。
希望本文能对你理解如何集成个推SDK提供一些帮助。这里是甜瓜看代码,期待你的关注!
推送消息不打烊--Flutter集成个推SDK实现Android和IOS原生推送相关推荐
- 友盟小米收不到推送消息_一个轻量级、可插拔的Android消息推送框架。一键集成推送(极光推送、友盟推送、华为、小米推送等)...
XPush 一个轻量级.可插拔的Android消息推送框架.一键集成推送(极光推送.友盟推送.华为.小米推送等),提供有效的保活机制,支持推送的拓展,充分解耦推送和业务逻辑,解放你的双手! 在提iss ...
- iOS原生推送(APNS)进阶iOS10推送图片、视频、音乐
代码地址如下: http://www.demodashi.com/demo/13208.html 前言 我们首先要在AppDelegate里面进行iOS的适配,可以参考这篇文章 iOS原生推送(APN ...
- Flutter 120hz 高刷新率在 Android 和 iOS 上的调研总结
Flutter 120hz 高刷新率在 Android 和 iOS 上的调研总结 一.无用的知识 首先科普无用的知识,说起高刷新率,就不得不提两个词汇 ProMotion 和 LTPO . ProMo ...
- 基于 Google Flutter 的 WanAndroid 客户端,支持 Android 和 iOS。包括 BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构比较规范的代
flutter_wanandroid 项目地址:Sky24n/flutter_wanandroid 简介:??? 基于 Google Flutter 的 WanAndroid 客户端,支持 Andr ...
- iOS原生推送(APNS)的实现
参考:http://www.jianshu.com/p/9eae61bcc42e 1.前期准备工作 (1)证书的创建 进入苹果Apple Developer -> Member Center - ...
- flutter 调用原生安卓插件_Flutter 如何调用Android和iOS原生代码
分3个大步骤: 1.在flutter中调用原生方法 2.在Android中实现被调用的方法 3.在iOS中实现被调用的方法 在flutter中调用原生方法 场景,这里你希望调用原生方法告诉你一个boo ...
- flutter 调用原生安卓插件_Flutter 如何调用Android和iOS原生代码-阿里云开发者社区...
分3个大步骤: 1.在flutter中调用原生方法 2.在Android中实现被调用的方法 3.在iOS中实现被调用的方法 在flutter中调用原生方法 场景,这里你希望调用原生方法告诉你一个boo ...
- 百度android 测试平台,集成百度活体检测(Android、iOS)
更新记录 1.1.0(2020-06-18) 插件增加iOS版本 1.0.2(2020-06-08) 优化插件打包无法使用的问题 插件调用方法添加sound字段,表示是否开启声音,true为开启,默认 ...
- Android集成谷歌定位sdk,概述-Android 定位SDK | 高德地图API
什么是定位SDK Android 定位 SDK 是一套简单的LBS服务定位接口,您可以使用这套定位API获取定位结果.逆地理编码(地址文字描述).以及地理围栏功能. 面向的读者 Android 定位 ...
最新文章
- 奖励名单表格模板_员工出勤工薪记算表(行政人事模板)
- Kubernetes-dashboard安装
- 数据结构与算法 总结
- 微软的SQLHelper类(含完整中文注释)
- IIS6.0应用程序池回收和工作进程【转:http://www.cnblogs.com/freshman0216/archive/2008/06/02/1212460.html】...
- statsmodels学习——使用多元回归拟合数据
- spring mysql中文乱码问题_解决Spring下MySQL出现乱码的问题
- 建站如此容易:WordPress3.9建站简明视频教程完成发布啦
- 阿里iconfont图库官网网址
- 电子商务师四级证书理论题库
- Python 层次分析法 AHP
- html5接金币游戏源码,利用HTML5实现Canvas聚宝盆接金币游戏
- 我的世界rpg服务器背包位置,我的世界查看玩家背包方法 如何查看玩家背包
- php html5 播放器,html5实现完美兼容各大浏览器的播放器_html5教程技巧
- Spring的DAO模块数据库操作实例
- 关于我对AI的认知和看法
- topCoder Stripepainter
- idea的英文是什么意思_英文idea的汉语是什么意思
- 四川大学计算机学院研究生调剂,四川大学计算机学院2019年考研调剂信息(第二批)...
- 虚拟魔方——使用python对普通三阶魔方进行建模