反应-内生-氟烷
欢迎光临 灯光来啊!
安装
npm install @flarelane/react-native-sdk
地区
FlareLane.initialize(projectId, requestPermissionOnLaunch = true, region?)
项目在一个地区实施。 奥米 region 默认 "us"; 项目
在首尔地区创建的通行证 "kr"数字 :
FlareLane.initialize('YOUR_PROJECT_ID', true, 'kr');
本地 SDK 验证值: 区域错误日志出错和
停止初始化,而不是返回到 "us"。 。 。 .
WebView 桥 (hybrid apps) (中文(简体) )
用于嵌入运行 FlareLane Web SDK 的网页的应用程序,本地SDK
暴露了一座桥的特性deviceId 编号 : userId 编号 : projectId和
SDK电话(setUserId, (中文(简体) ), setTags, (中文(简体) ), trackEvent, (中文(简体) ), setUserAttributes, (中文(简体) ),
syncDeviceData在本地和网络之间保持一致.
桥名和类名与本地的Android/iOS SDK相匹配:
FlareLaneJavascriptInterface + 键 BRIDGE_NAME.RN 载运一库名
显示成员1:1的适配器 react-native-webview的道具和
回调空档 — 把它们丢入您现有的 <WebView> 接线.
反应-本地-网络视图
import { WebView } from 'react-native-webview';
import { FlareLaneJavascriptInterface } from '@flarelane/react-native-sdk/adapters/react-native-webview';
const webViewRef = useRef<WebView>(null);
// `injectedJavaScript` and `injectedJavaScriptBeforeContentLoaded` carry the
// same string, so one variable can be reused across both slots. If you don't
// have existing injection, drop the `myExistingInjection +` part.
const injection =
myExistingInjection + FlareLaneJavascriptInterface.injectedJavaScript;
<WebView
ref={webViewRef}
source={{ uri }}
injectedJavaScript={injection}
injectedJavaScriptBeforeContentLoaded={injection}
onMessage={FlareLaneJavascriptInterface.onMessage(webViewRef)}
/>
如果你已经有一个 onMessage 处理器,将适配器包入其中:
onMessage={async (event) => {
await FlareLaneJavascriptInterface.onMessage(webViewRef)(event);
myExistingOnMessage(event);
}}
适配器曝光:
FlareLaneJavascriptInterface.BRIDGE_NAME——频道名称常数.FlareLaneJavascriptInterface.injectedJavaScript——联署材料注入. 包括 页:1react-native-webview频道适配器和桥shim。 一样 字符串对两者都有效injectedJavaScript财务报告和审定财务报表injectedJavaScriptBeforeContentLoaded插槽 .FlareLaneJavascriptInterface.onMessage(webViewRef)工厂 返回处理器<WebView onMessage={…}>。参考文献用于 联合材料(如:syncDeviceData调回) 网络视图.
其他网页视图软件包
这个SDK只装了一级适配器 react-native-webview。如果
使用不同的网页视图库, 移植适配器执行
(单位:千美元)src/adapters/react-native-webview.ts)到你的图书馆的槽名——
JS注射和消息的通路逻辑在文件内部是自成一体的.
页:1
- 注射的联署材料具有专有能力——可以安全注射两次.
- 弹出 在此之前 web SDK 负载.
injectedJavaScriptBeforeContentLoaded在 iOS 上工作; Android 返回injectedJavaScript(后载. 无论是哪种方式,SDK注射被看守 所以多次注射是安全的. 特别是Android, 避免装入 Web SDK 作为内置同步<script>在最顶端<head>,可以在 倒灌地. setUserAttributes可在Android、iOS、Flustter和React上查阅 具有一致语义的原生SDK.
许可证
麻省理工学院