React-Native使用极光进行消息推送
发布时间:2020-12-15 20:38:13 所属栏目:百科 来源:网络整理
导读:推送作为APP几乎必备的功能,不论是什么产品都免不了需要 消息推送 功能,一般做 RN 开发的可能都是前端出身(比如我),关于 android ios 都不是很懂??,所以使用第三方推送插件是比较好的解决方案 ? 我选取了 极光 来集成推送服务的,按一些博客一步一步来的,Reac
推送作为APP几乎必备的功能,不论是什么产品都免不了需要 ? 我选取了 注册极光账号极光官网 注册完成后进入极光推送,然后创建应用 创建完成后将会获得自己的 安装极光SDK
npm install jcore-react-native --save react-native link jcore-react-native npm install jpush-react-native --save react-native link jpush-react-native 检查 android { ... defaultConfig { applicationId "yourApplicationId" // (包名有用)在极光官网上申请应用时填写的包名 ... manifestPlaceholders = [ JPUSH_APPKEY: "yourAppKey",//安装的时候填写这里无需改动 APP_CHANNEL: "developer-default" //应用渠道号,默认即可 ] } } ... dependencies { // .... compile project(‘:jpush-react-native‘) // 添加 jpush 依赖 compile project(‘:jcore-react-native‘) // 添加 jcore 依赖 // .... } 进行推送设置到此为止就完成了环境的配置,可以尝试去进行推送了 成功啦!! 点击推送
极光推送RN的API文档 import React,{ Component } from ‘react‘ import { Text,StyleSheet,View,Button } from ‘react-native‘ import JPushModule from ‘jpush-react-native‘ export default class ChatWith extends Component { constructor(props) { super(props) } componentDidMount() { // 初始化 JPush JPushModule.initPush() // 获取当前极光开发者信息 JPushModule.getInfo(map => { console.log(map) }) // 点击推送通知回调 JPushModule.addReceiveOpenNotificationListener(map => { console.log(‘进行一系列操作‘) console.log(‘map.extra: ‘ + map) // 可执行跳转操作,也可跳转原生页面 关于参数请看文档 // this.props.navigation.navigate("SecondActivity"); }) // 接收推送通知回调 JPushModule.addReceiveNotificationListener(message => { console.log(‘receive notification: ‘,message) }) // } render() { return ( <View style={styles.containers}> <Button title="点击推送" onPress={() => { // 推送事件 业务代码 请提取到函数里面 JPushModule.sendLocalNotification({ buildId: 1,// 设置通知样式 id: 5,// 通知的 id,可用于取消通知 extra: { key1: ‘value1‘,key2: ‘value2‘ },// extra 字段 就是我们需要传递的参数 fireTime: new Date().getTime(),// 通知触发时间的时间戳(毫秒) badge: 8,// 本地推送触发后应用角标的 badge 值 (iOS Only) subtitle: ‘subtitle‘,// 子标题 (iOS10+ Only) title: ‘通知‘,content: ‘您有未读消息‘,}) }} /> </View> ) } } const styles = StyleSheet.create({ containers: { paddingTop: 20 } }) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |