灯塔帮助
  • 产品概述
  • 注册并开始
    • 注册账号及开通服务
    • 创建应用
    • 账号与授权
  • SDK获取
    • SDK for Android
    • SDK for iOS
    • SDK for HTML5
    • SDK for 小程序
    • SDK for Linux
  • SDK文档
    • SDK集成指南
      • Android 更新日志
      • Android集成指南
      • iOS 更新日志
      • iOS/Mac集成指南
      • HTML5集成指南
      • 小程序集成指南
      • Hybrid集成指南
      • Linux集成指南
      • SDK实时联调
    • 数据格式及限制
    • 关于实时上报和非实时上报
  • 数据报表
    • 常用操作
    • 实时分析-实时新增活跃
    • 数据概览-应用概况
    • 用户分析-用户增长
    • 用户分析-用户设备
    • 用户分析-用户留存
    • 用户分析-用户结构
    • 用户分析-用户画像
    • 来源分析-渠道效果
    • 来源分析-渠道拉新质量
    • 来源分析-渠道广告监测
    • 行为分析-事件触发
    • 行为分析-页面访问
    • 行为分析-页面访问路径
    • 实时分析-实时新增活跃
    • 小程序-入口场景分析
    • 小程序-二维码渠道分析
  • 数据定制
    • 定制报表
    • 定制看板
    • 敏捷分析
  • 指标定义
  • FAQ
    • 关于SDK
    • 关于灯塔平台
Powered by GitBook
On this page
  • 一、获取SDK
  • 二、使用iOS Hybrid功能

Was this helpful?

  1. SDK文档
  2. SDK集成指南

Hybrid集成指南

Previous小程序集成指南NextLinux集成指南

Last updated 6 years ago

Was this helpful?

一、获取SDK

登录灯塔首页,创建应用,填入基本应用信息,即可获取独一无二的AppKey,并下载SDK;

iOS SDK:

Android SDK:

二、使用iOS Hybrid功能

1. 导入 SDK

Hybrid 统计是在Native统计基础上进行的,在开始之前,请确保已按照正常接入灯塔iOS SDK

SDK包功能介绍:

BeaconAPI_Base.framework ---基础统计功能,必选

BeaconAPI_Hybrid.framework ---Hybrid功能,可选

添加系统库和相关配置(具体代码参考Demo工程)

2.添加相关的代码

2.1.UIWebView控件

  • 当JavaScript调用灯塔上报事件,需在UIWebView的Delegate实现中添加代码:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    // 处理Beacon混合统计请求的代码
    if ([BeaconHybrid handleRequest:request fromWebView:webView]) {
        return NO;
    }

    // 原有的代码
    return YES;
}
  • 开启Native和JavaScript的通信,需在UIWebView的Delegate实现中添加代码:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    // 开启Native和JS通信的开关
    [BeaconHybridInterface enableHybrid:webView enable:YES];

    // 原有的代码
}

2.2.WKWebView控件

当JavaScript调用灯塔上报事件,需在WKWebView的Delegate实现中添加代码:

- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    // 处理Beacon混合统计请求的代码
    if ([BeaconHybridInterface handleRequest:navigationAction.request webView:webView]) {
        decisionHandler(WKNavigationActionPolicyCancel);
        return;
    }

    // 原有的代码
    decisionHandler(WKNavigationActionPolicyAllow);
}
  • 开启Native和JavaScript的通信,需在WKWebView的Delegate实现中添加代码:

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
    // 开启Native和JS通信的开关
    [BeaconHybridInterface enableHybrid:webView enable:YES];

    // 原有的代码
}

2.3.HTML页面引用JS文件

<script type="text/javascript" src="http://3gimg.qq.com/mig_op/beacon/js/hybrid/beacon_hybrid.js"></script>

2.4.HTML页面调用Native接口

  • 获取设备ID

var display = function(qimei) {
    alert(qimei);
}
function getQIMEI() {;
    BeaconHybrid.getQIMEI(display);
}
<input type="button" class="btn" value="获取设备ID" id="test1" onclick="getQIMEI();" />
  • 非实时事件

function onUserAction() {
    BeaconHybrid.onUserAction("testName1");
}
<input type="button" class="btn" value="实时事件" id="test2" onclick="onUserAction();" />
  • 实时事件

function onDirectUserAction() {
    BeaconHybrid.onDirectUserAction("testName2", {"city":"shenzhen", "country":"china"});
}
<input type="button" class="btn" value="非实时事件" id="test3" onclick="onDirectUserAction();" />
  • 页面统计

function onPage() {
    BeaconHybrid.onPage();
    window.location = "index2.html";
}
<input type="button" class="btn" value="页面统计" id="test4" onclick="onPage();" />

还有疑问?欢迎反馈给tbeacon@tencent.com,会有专人为您服务。

点此下载SDK for iOS
点此下载SDK for Android
iOS集成指南