热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android极光推送回调方法,Flutter在Android中实现极光推送以及指定设备推送

Flutter在Android中实现极光推送第一步:在极光推送官网注册账户创建应用、并配置应用包名称**注意:**应用包名称需要和flutter项目的应

Flutter在Android中实现极光推送第一步:在极光推送官网注册账户创建应用、并配置应用包名称

**注意:**应用包名称需要和flutter项目的应用包名称统一

bb7fedc61bec900eb436823b72ee9f38.png

5b19a6af8d04da0df7e70fdafa2772f0.png

Flutter在Android中实现极光推送第二步:参考极光官方提供的jpush-flutter sdk集成极光推送

dependencies:

jpush_flutter: 0.1.0

配置

Android:

在 /android/app/build.gradle 中添加下列代码:

android: {

....

defaultConfig {

applicationId "替换成自己应用 ID"

...

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", //暂时填写默认值即可.

]

}

}

Flutter在Android中实现极光推送完整代码

import 'package:flutter/material.dart';

import 'package:jpush_flutter/jpush_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

// This widget is the root of your application.

@override

Widget 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 {

@override

void initState() {

// TODO: implement initState

super.initState();

this.initJpush();

}

//监听极光推送 (自定义的方法)

//https://github.com/jpush/jpush-flutter-plugin/blob/master/documents/APIs.md

initJpush() async {

JPush jpush = new JPush();

//获取注册的id

jpush.getRegistrationID().then((rid) {

print("获取注册的id:$rid");

});

//初始化

jpush.setup(

appKey: "17d78ecf32c322db169a1d98",

channel: "theChannel",

production: false,

debug: true, // 设置是否打印 debug 日志

);

//设置别名 实现指定用户推送

jpush.setAlias("jg123").then((map) {

print("设置别名成功");

});

try {

//监听消息通知

jpush.addEventHandler(

// 接收通知回调方法。

onReceiveNotification: (Map message) async {

print("flutter onReceiveNotification: $message");

},

// 点击通知回调方法。

onOpenNotification: (Map message) async {

print("flutter onOpenNotification: $message");

},

// 接收自定义消息回调方法。

onReceiveMessage: (Map message) async {

print("flutter onReceiveMessage: $message");

},

);

} catch (e) {

print('极光sdk配置异常');

}

}

@override

Widget build(BuildContext context) {

return Scaffold(

appBar: AppBar(

title: Text("极光推送demo"),

),

body: Text("这是一个极光推送演示demo"),

);

}

}



推荐阅读
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • Spring学习(4):Spring管理对象之间的关联关系
    本文是关于Spring学习的第四篇文章,讲述了Spring框架中管理对象之间的关联关系。文章介绍了MessageService类和MessagePrinter类的实现,并解释了它们之间的关联关系。通过学习本文,读者可以了解Spring框架中对象之间的关联关系的概念和实现方式。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
  • 目录1、将mysql数据导出到SQL文件中(数据库存在的情况)2、将现有的sql文件数据导入到数据库中(前提数据库存在) 3、利用Navicat导出SQL文件和导入SQL文件1)从 ... [详细]
  • 三、查看Linux版本查看系统版本信息的命令:lsb_release-a[root@localhost~]#lsb_release-aLSBVersion::co ... [详细]
  • macOS命令行创建Android模拟器
    macOS下不安装AndroidStudio使用VSCode来开发Flutter应用使用命令行创建和管理Android模拟器设备avdmanageravdmanager 是一种命令 ... [详细]
  • 使用Flutternewintegration_test进行示例集成测试?回答首先在dev下的p ... [详细]
  • Flutter第六章(BottomNavigationBar ,AppBar,TabBar ,TabController 以及案例)
    版权声明:本文为作者原创书籍。转载请注明作者和出处,未经授权,严禁私自转载,侵权必究!!!情感语录:如果你想得到从未拥有过的东西,那么你必须去做从未做过的事 ... [详细]
author-avatar
北漂123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有