本文基于React Native 0.52

Demo上传到Git了,有需要可以看看,写了新内容会上传的。Git地址 https://github.com/gingerJY/React-Native-Demo

本文参考 https://github.com/qiyukf/react-native-qiyu

一、安装

npm install react-native-qiyu --save

二、配置  

  1. 修改android/settings.gradle,手动加入以下代码

    include ':react-native-qiyu'
    project(':react-native-qiyu').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-qiyu/android')
  2. 编辑android/app/build.gradle
    // ...
    
    dependencies {
    // ...
    compile project(':react-native-qiyu')
    }
  3. 在MainApplication.java中注册模块 ,编辑android/app/src/main/java/[...]/MainApplication.java   (这里注意一下,只有有备注的那里是要添加的,七鱼的appkey和名称登录七鱼后可以在APP接入那里找到)
    // ...
    
    import com.qiyukf.unicorn.reactnative.QiyuSdkPackage;    // <--- 导包
    
    public class MainApplication extends Application implements ReactApplication {
    // ... private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    // ... @Override
    protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
    new MainReactPackage(),
    new QiyuSdkPackage("七鱼管理后台的appKey", "七鱼管理后台的App名称") // <--- 添加package
    );
    } // ...
    }; // ...
    }

三、使用

import React, {Component} from 'react';
import {
StyleSheet,
View,
Text,
Image,
Dimensions,
TouchableOpacity,
} from 'react-native'; const {width,height} = Dimensions.get('window'); import QiYu from 'react-native-qiyu'; //引用外部文件
import MessageItem from './messageItem';
export default class messageCenter extends Component { // 七鱼客服
qiyu(){
var params = {
source:{
sourceTitle:'网易七鱼ReactNative',
sourceUrl:'http://www.qiyukf.com',
sourceCustomInfo:'我是来自自定义的信息'
},
commodityInfo:{
commodityInfoTitle:'ReactNative商品',
commodityInfoDesc:'这是来自网易七鱼ReactNative的商品描述',
pictureUrl:'http://qiyukf.com/res/img/companyLogo/blmn.png',
commodityInfoUrl:'http://www.qiyukf.com',
note:'¥1000',
show:true
},
sessionTitle:'网易七鱼',
groupId:,
staffId:,
robotId:,
robotFirst:false,
faqTemplateId:,
vipLevel:,
showQuitQueue:true,
showCloseSessionEntry:true
}
QiYu.openServiceWindow(params);
} render() {
return (
<View style={styles.container}>
<CommonHead
navBarColor='#fff'
borderBottomWidth={}
leftItem = {() => this.renderLeftItem()}
titleItem = {() => this.renderTitleItem()}
/>
<View style={styles.main}>
<View>
<MessageItem
icon={require('../../img/kf.png')}
title='在线客服'
desc='小味为你服务 工作时间 9:00-24:00 宝宝们快来撩我吧~'
onPress={() => {this.qiyu()}}
/>
</View>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: ,
alignItems: 'center',
backgroundColor:'#efefef',
},
main:{
borderTopColor: '#999',
borderTopWidth: 0.5,
},
});

四、效果图

END-------------------------------------------------------------------------------

今天本来要写一下FIS3,但是发现太久没用过,‘温故’出了好多问题,一时不知道从哪写起。

这个对接七鱼挺简单的,但是没做过还找不到资料的时候还是有点捉急的。

React Native学习(八)—— 对接七鱼客服的更多相关文章

  1. React Native 学习-01

    React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...

  2. react native 学习一(环境搭配和常见错误的解决)

    react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装pyt ...

  3. React Native 学习资料

    React Native 学习资料 学习资料 网址 React Native中文网 https://reactnative.cn/

  4. React Native 学习(三)之 FlexBox 布局

    React Native 学习(三)之 FlexBox 布局

  5. React Native 学习笔记--进阶(二)--动画

    React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...

  6. React Native学习(七)—— FlatList实现横向滑动列表效果

    本文基于React Native 0.52 Demo上传到Git了,有需要可以看看,写了新内容会上传的.Git地址 https://github.com/gingerJY/React-Native-D ...

  7. iOS、swift、React Native学习常用的社区、论坛

    <!----iOS> <!----Swift>*IOS开发常用社区:http://code4app.com/ *IOS开发常用社区:http://www.cocoachina. ...

  8. iOS 写给iOS开发者的React Native学习路线(转)

    我是一名iOS开发者,断断续续一年前开始接触React Native,最近由于工作需要,专职学习React Native也有一个多月了.网络上知识资源非常的多,但能让人豁然开朗.迅速学习的还是少数,我 ...

  9. 写给iOS开发者的React Native学习路线(转)

    我是一名iOS开发者,断断续续一年前开始接触React Native,最近由于工作需要,专职学习React Native也有一个多月了.网络上知识资源非常的多,但能让人豁然开朗.迅速学习的还是少数,我 ...

随机推荐

  1. Head First设计模式之迭代器模式

    一.定义 提供一种方法顺序访问一个聚合对象中各个元素, 而又无须暴露该对象的内部表示: 主要解决:不同的方式来遍历整个整合对象. 何时使用:遍历一个聚合对象. 如何解决:把在元素之间游走的责任交给迭代 ...

  2. Fiddler中如何过滤会话、查询会话、保存回话、对比会话

    1.Fiddler中如何过滤会话 在抓包时,会捕捉到很多的会话,但是我们只关心特定的接口会话,这个时候我们可以使用过滤功能,来帮助我们从一大堆会话中筛选去我们关心的会话 (1)勾选过滤器选项Filte ...

  3. 自动化测试-Selenium家谱介绍

    一.自动化测试定义 自动化测试是通工具录制或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从而代替人工对系统的功能进行验证. 二.什么样的项目适合做自动化测试 1.需求明确,不会 ...

  4. 自学Aruba1.3-WLAN一些基本常识802.11n速率计算方式、802.11n及802.11AC速率表

    点击返回:自学Aruba之路 自学Aruba1.3-WLAN一些基本常识802.11n速率计算 1. 802.11n速率计算方式1.1 802.11n使用的主要技术 802.11n采用MIMO多天线技 ...

  5. python并发编程之多线程

    一  同步锁 注意: 1线程抢的是GIL锁,GIL锁就是执行权限,拿到权限后才能拿到互斥锁Lock,但是如果发现Lock没有被释放而阻塞,则立即交出拿到的执行权. 2join是等待所有,即整体串行,而 ...

  6. CMDB运维开发项目

    ITIL:Information Technology Infrastructure Library 信息技术基础架构库,主要适用于IT服务管理(ITSM).ITIL为企业的IT服务管理实践提供了一个 ...

  7. windows 下文件的高级操作

    本文主要说明在Windows下操作文件的高级方法,比如直接读写磁盘,文件的异步操作,而文件普通的读写方式在网上可以找到一大堆资料,在这也就不再进行专门的说明. 判断文件是否存在 在Windows中并没 ...

  8. .net 下发送calendar

    前段时间公司系统中有一块需要发送邮件calendar outlook可以接受查看calendar 发送outlook主要是有rrule脚本的边界 网上找过一些资料,主要有两种实现方式 1.一种是已ic ...

  9. 意外断电数据库无法启动牵扯到异步IO的参数设置

    一客户机房新装的UPS不太稳定,好几次意外断电,第3次意外断电之后问题终于来了, 数据库起不来了-- 数据库的硬件环境是一台IBM DS5020存储,2台IBM X3850 X5 软件环境是Linux ...

  10. Codeforces 888E Maximum Subsequence

    原题传送门 E. Maximum Subsequence time limit per test 1 second memory limit per test 256 megabytes input ...