本文基于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
二、配置
- 修改android/settings.gradle,手动加入以下代码
include ':react-native-qiyu' project(':react-native-qiyu').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-qiyu/android')
- 编辑android/app/build.gradle
// ... dependencies { // ... compile project(':react-native-qiyu') }
- 在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:0, staffId:0, robotId:0, robotFirst:false, faqTemplateId:0, vipLevel:0, showQuitQueue:true, showCloseSessionEntry:true } QiYu.openServiceWindow(params); } render() { return ( <View style={styles.container}> <CommonHead navBarColor='#fff' borderBottomWidth={1} 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: 1, alignItems: 'center', backgroundColor:'#efefef', }, main:{ borderTopColor: '#999', borderTopWidth: 0.5, }, });
四、效果图
END-------------------------------------------------------------------------------
今天本来要写一下FIS3,但是发现太久没用过,‘温故’出了好多问题,一时不知道从哪写起。
这个对接七鱼挺简单的,但是没做过还找不到资料的时候还是有点捉急的。