本文将为您介绍如何初始化终端性能监控 Pro React Native SDK。
示例代码
import Aegis, { BUGLY_SERVER_HOST } from 'bugly-rn-sdk';// 可选项,用于获得设备的网络信息import netInfo from '@react-native-community/netinfo';const aegis = new Aegis({id : 'xxxx', // 接入产品的app id,必填项appKey: 'xxxxxxx', // 接入产品的 app key,必填项aid: "deviceID", // 设备ID,不同设备的设备ID应不相同,建议填写env: "debug", // sdk在控制台输出日志的级别,“debug”为输出所有日志。默认为“production”,只输出sdk运行时的错误日志。选填项serverHost: BUGLY_SERVER_HOST.OA, // 上报域名,必填netInfo: netInfo, // 可选项, 传入后可获得网络信息plugin:{error: true, // 开启错误监控}});
注意:
SDK 使用@react-native-community/netinfo 获得网络信息,如果没有该第三方库,返回的网络类别为 unknown。
aegis 初始化没有设置 aid 时,SDK 会随机生成设备 ID。SDK 使用@react-native-async-storage/async-storage 来持久化存储设备 ID,如果没有该第三方库,每次启动应用时,SDK 会生成不同的设备 ID。
React Native 主要使用以下第三方库实现页面导航功能:React Navigation 和 React Native Navigation。业务可以根据接下来的指引来启动 SDK 的页面访问功能。
React Navigation
搭建 React Native 应用的页面导航功能。
import { NavigationContainer, useNavigationContainerRef } from '@react-navigation/native';import { createNativeStackNavigator } from '@react-navigation/native-stack';function App() {const Stack = createNativeStackNavigator();const containerRef = useNavigationContainerRef();return (<NavigationContainerref = {containerRef}onReady={() => {// 使用wrapNavigationRef开启页面访问功能aegis.wrapNavigationRef(containerRef);}}><Stack.Navigator initialRouteName="Home"><Stack.Screen name="Home" component={HomeScreen} /></Stack.Navigator></NavigationContainer>);}
React Native Navigation
在 aegis 初始化时,传入 React Native Navigation 库的 Navigation。
import { Navigation } from 'react-native-navigation';const aegis = new Aegis({// 配置项跟SDK初始化的一样navigation: Navigation,});