@appbaseio/analytics

中文文档
1.2.0发布于 2023/05/16MITESM + CJS近 30 天下载 6721

Appbase.io apps 通用分析库

中文使用文档
文档目录22 节
  1. Appbase 分析
  2. 技选
  3. 开始
  4. 浏览器
  5. 节点.js
  6. 使用大小写
  7. 记录搜索
  8. 记录点击
  9. 记录转换
  10. 保存搜索
  11. 删除已保存的搜索
  12. 获取已保存的搜索
  13. 最喜欢
  14. 获取爱好
  15. 设定用户
  16. 设定全球事件
  17. API 参考
  18. 初始化
  19. 实例方法
  20. 捐款
  21. 您可能喜欢的其他项目
  22. 许可证

NPM Version

Appbase 分析

一个通用分析库,允许您为 appbase.io 记录搜索、点击和转换 分组。 。 。 .

技选

开始

浏览器

1. 装入库

分析库可以通过 jsDelivr CDN 请检查url=值 (帮助) 或者直接与您的申请捆绑在一起.

您可以在浏览器中使用 UMD 构建, 具体如下:

<script defer src="https://cdn.jsdelivr.net/npm/@appbaseio/[email protected]/dist/@appbaseio/analytics.umd.min.js"
></script>

2. 初始化

const aaInstance = aa.init({
  index: 'INDEX_NAME',
  credentials: 'AUTH_CREDENTIALS',
  url: 'CLUSTER_URL'
});

节点.js

1. 安装图书馆

按以下命令安装库:

npm install @appbaseio/analytics
# or
yarn add @appbaseio/analytics

2. 初始化

const aa = require('@appbaseio/analytics');

const aaInstance = aa.init({
  index: 'INDEX_NAME',
  credentials: 'AUTH_CREDENTIALS',
  url: 'CLUSTER_URL'
});

回到顶部

使用大小写

分析库提供了集成应用库的实用方法. io分析分分钟,常见的用例是记录搜索,点击和转换事件.

它帮助您跟踪搜索特定查询术语。 它还原 queryID 返回,用于记录同一搜索事件的点击和转换.

const aa = require('@appbaseio/analytics');

const aaInstance = aa.init({
  index: 'INDEX_NAME',
  credentials: 'AUTH_CREDENTIALS',
  url: 'CLUSTER_URL'
});

aaInstance.search({
  query: 'iphone'
});

说明: queryID 将自动设置在状态中,并可通过使用 getQueryID 方法,一旦搜索事件成功注册.

query 是记录搜索事件所需的密钥,但您可以将其设置为空字符串以注册为空查询搜索.

aaInstance.search({
  query: ''
});

记录点击

使用 click 用于记录单击事件的方法。 以下示例记录了该条目的两下 result 键入搜索查询.

const aa = require('@appbaseio/analytics');

const aaInstance = aa.init({
  index: 'INDEX_NAME',
  credentials: 'AUTH_CREDENTIALS',
  url: 'CLUSTER_URL'
});

aaInstance.click({
  query: 'iphone',
  objects: {
    iphoneX_19348: 1,
    iphone7_19348: 3
  },
  meta: {
    key1: 'value1'
  }
});

记录建议点击

设定 isSuggestionClick 属性改为 true 以建议点击方式记录.

aaInstance.click({
  query: 'iphone',
  isSuggestionClick: true,
  objects: {
    iphoneX_19348: 1,
    iphone7_19348: 3
  }
});

特定搜索事件的记录点击

使用 queryID 改为 query 以记录特定搜索事件的点击.

// Record a search
aaInstance.search({
  query: 'iphone'
});

// Record a click for the last search made
aaInstance.click({
  queryID: aaInstance.getQueryID(),
  objects: {
    iphoneX_19348: 1,
    iphone7_19348: 3
  }
});

记录特定事件的点击

附加自定义事件以区分点击事件.

aaInstance.click({
  query: 'iphone',
  objects: {
    iphoneX_19348: 1,
    iphone7_19348: 3
  },
  customEvents: {
    click_source: 'promoted_collections'
  }
});

记录转换

转换必须记录特定搜索事件,以便它定义一个 queryID 用于记录转换.

// Record a search
aaInstance.search({
  query: 'iphone'
});

// Record a conversion for the last search made
aaInstance.conversion({
  queryID: aaInstance.getQueryID(),
  objects: ['iphoneX_19348', 'iphone7_19348'],
  meta: {
    key1: value1
  }
});

为了保存搜索状态, queryID 必须在场.

// Save search state
aaInstance.saveSearch({
  queryID: 'cf600405-d4ed-42b0-8b09-08b594fa88d2',
  saveSearchID: 'analytics-js-test',
  saveSearchMeta: {
    key1: 'value1'
  },
  userID: '[email protected]',
  customEvents: { platform: 'mac' }
});

要删除 Id 保存的搜索状态 .

// Save search state
aaInstance.deleteSavedSearch('analytics-js-test');

获取已保存的搜索

要获取已保存的搜索, 我们在此获取已保存的搜索, 用户代号为 [email protected]。 。 。 .

aa.getSavedSearches(
  {
    user_id: '[email protected]'
  },
  (err, res) => {
    if (err) {
      console.error(err);
    } else {
      res
        .json()
        .then(savedSearches => {
          // saved searches list
        })
        .catch(err => {
          console.error(err);
        });
    }
  }
);

最喜欢

记录一个最喜欢的文档

aa.favorite({
  favoriteOn: '1jftXXEBdEU4aeo6Gdqs',
  queryID: 'cf600405-d4ed-42b0-8b09-08b594fa88d2',
  source: {
    authors: 'John Milton, John Leonard',
    average_rating: 3.8,
    average_rating_rounded: 4,
    books_count: 819,
    id: 984,
    image: 'https://images.gr-assets.com/books/1455618673l/15997.jpg',
    image_medium: 'https://images.gr-assets.com/books/1455618673m/15997.jpg',
    isbn: '140424393',
    language_code: 'eng',
    original_publication_year: 1667,
    original_series: '',
    original_title: 'Paradise Lost',
    ratings_count: 96316,
    title: 'Paradise Lost'
  },
  id: 'analytics-js-test',
  userID: '[email protected]',
  customEvents: { platform: 'mac' },
  meta: {
    key1: 'value1'
  }
});

获取爱好

为了检索最喜爱的文档,我们在此为用户获取最喜爱的文档,用户代号为: [email protected]。 。 。 .

aa.getFavorites(
  {
    user_id: '[email protected]'
  },
  (err, res) => {
    if (err) {
      console.error(err);
    } else {
      res
        .json()
        .then(favorites => {
          // list of favorite document
        })
        .catch(err => {
          console.error(err);
        });
    }
  }
);

设定用户

它允许你设置 userID。 。 。 .

const aa = require('@appbaseio/analytics');

// Set during initialization
const aaInstance = aa.init({
  index: 'INDEX_NAME',
  credentials: 'AUTH_CREDENTIALS',
  url: 'CLUSTER_URL',
  userID: '[email protected]'
});

// or set by using method
aaInstance.setUserID('[email protected]');

设定全球事件

设置实例记录的每个事件的自定义事件 .

例如:

const aa = require('@appbaseio/analytics');

const aaInstance = aa.init({
  index: 'INDEX_NAME',
  credentials: 'AUTH_CREDENTIALS',
  url: 'CLUSTER_URL'
});

// or set by using method
aaInstance.setGlobalCustomEvents({
  platform: 'ios'
});

回到顶部

API 参考

初始化

const aa = require('@appbaseio/analytics');

const aaInstance = aa.init({
  index: 'INDEX_NAME',
  credentials: 'AUTH_CREDENTIALS',
  url: 'CLUSTER_URL',
  userID: 'USER_ID',
  globalCustomEvents: 'GLOBAL_CUSTOM_EVENTS'
  headers?: 'CUSTOM_HEADERS'
});

可选配置选项 :

选项类型说明
indexstring (必须)弹性搜索索引名.
credentialsstring (必须)证书载于Appbaseio仪表板。 它应该是格式的一串 用户名: 密码字 用于认证应用程序.
urlstring (必须)Appbaseio 集群 URL .
userIDstring用户ID允许您为特定用户记录事件. 例如,您可能想知道有多少不同的用户正在使用搜索.
globalCustomEventsObject它允许你设置 全球 自定义事件可用于在 appbase.io 分析器上建起自己的分析器. 更多信息
headersObject有时它可能需要为分析API设置额外的信头. 例如,您正在使用代理的中间软件,它增加了一个额外的安全层.

所有可能选项的示例:

const aa = require('@appbaseio/analytics');

const aaInstance = aa.init({
  index: 'books',
  credentials: 'foo:bar',
  url: 'http://localhost:8000',
  userID: '[email protected]',
  globalCustomEvents: {
    platform: 'mac'
  },
  headers: {
    'X-auth-token': 'XYZ'
  }
});

实例方法

记录搜索


search(searchConfig: Object, callback: Function)

搜索配置选项 :

选项类型说明
querystring搜索查询,设置为空字符串以注册为空查询搜索.
queryIDstring从 Appbase 返回搜索查询ID .
customEventsObject设置自定义事件, 例如 { "platform": mac }
filtersObject它允许在搜索查询中记录应用的方面, 例如 { "year": 2018 }
hitsArray为了设定搜索命中点,一个命中对象可以拥有 id, (中文(简体) ), type 打开 source 属性 .
impressionsArray要设定印象,一个被击中的物体可以拥有 id 打开 index 属性.

说明:

query 或者说 queryID 必须在场.

所有可能选项的示例:

search(
  {
    query: 'iphone',
    // or
    queryID: 'cf827a07-60a6-43ef-ab93-e1f8e1e3e1a8',
    customEvents: {
      source: 'promoted_results'
    },
    filters: {
      year: 2019
    },
    hits: [
      {
        id: '12345678',
        source: {
          title: 'iphoneX'
        },
        type: '_doc'
      }
    ]
  },
  (err, res) => {
    if (err) {
      // handle error
    } else if (res) {
      // handle response
    }
  }
);

获取查询ID

以下方法返回 queryID 从上次搜索.

getQueryID(): string

点击

要记录点击事件

click(clickConfig: Object, callback: Function)

单击配置选项 :

选项类型说明
querystring搜索查询,设置为空字符串以注册为空查询搜索.
queryIDstring从 Appbase 返回搜索查询ID .
objects{[key: string]: number} (必须)设定点击对象 ID , 然后点击位置, 例如 { "iphoneX_1234": 2 }。 。 。 .
isSuggestionClickboolean设定为 true 登记为建议.
customEventsObject设置自定义事件, 例如 { "platform": mac }
metaObject元数据

说明:

query 或者说 queryID 必须在场.

所有可能选项的示例:

click(
  {
    query: 'iphone',
    // or
    queryID: 'cf827a07-60a6-43ef-ab93-e1f8e1e3e1a8',
    customEvents: {
      source: 'promoted_results'
    },
    objects: {
      iphone_1234: 2
    },
    isSuggestionClick: true,
    meta: {
      key1: value1
    }
  },
  (err, res) => {
    if (err) {
      // handle error
    } else if (res) {
      // handle response
    }
  }
);

记录转换

记录转换事件

conversion(conversionConfig: Object, callback: Function)

转换配置选项 :

选项类型说明
queryIDstring (必须)从 Appbase 返回搜索查询ID .
objectsArray<string> (必须)要设置已转换对象标识符, 例如 : ["iphoneX_1234"]。 。 。 .
metaObject元数据

说明:

queryID 必须在场.

所有可能选项的示例:

conversion(
  {
    queryID: 'cf827a07-60a6-43ef-ab93-e1f8e1e3e1a8',
    objects: ['iphone_1234'],
    meta: {
      key1: value1
    }
  },
  (err, res) => {
    if (err) {
      // handle error
    } else if (res) {
      // handle response
    }
  }
);

保存搜索

要保存搜索状态

saveSearch(config: Object, callback: Function)

配置选项 :

选项类型说明
queryIDstring (必须)从 Appbase 返回搜索查询ID .
saveSearchIDstring已保存搜索身份 .
saveSearchMetaObject元数据
userIDstring用户编号.
customEventsObject设置自定义事件, 例如 { "platform": mac }

说明:

queryID 必须在场.

所有可能选项的示例:

saveSearch(
  {
    queryID: 'cf600405-d4ed-42b0-8b09-08b594fa88d2',
    saveSearchID: 'analytics-js-test',
    saveSearchMeta: {
      key1: 'value1'
    },
    userID: '[email protected]',
    customEvents: { platform: 'mac' }
  },
  (err, res) => {
    if (err) {
      // handle error
    } else if (res) {
      // handle response
    }
  }
);

删除已保存的搜索

由 ID 删除搜索状态

deleteSavedSearch(savedSearchId: string, callback: Function)

所有可能选项的示例:

deleteSavedSearch('analytics-js-test', (err, res) => {
  if (err) {
    // handle error
  } else if (res) {
    // handle response
  }
});

获取保存的搜索

检索已保存的搜索

getSavedSearches(queryParams: Object, callback: Function)

您可以在 这里。 。 。 .

getSavedSearches(
  {
    user_id: '[email protected]'
  },
  (err, res) => {
    if (err) {
      // handle error
    } else if (res) {
      res
        .json()
        .then(favorites => {
          // list of saved searches
        })
        .catch(err => {});
      // handle response
    }
  }
);

最喜欢

记录一个最喜欢的文档

favorite(config: Object, callback: Function)

配置选项 :

选项类型说明
queryIDstring (必须)从 Appbase 返回搜索查询ID .
favoriteOnstring (必须)最爱文档ID.
sourceObject (必须)最爱文档源对象数据
idstring最喜欢的ID.
metaObject元数据
userIDstring用户编号.
customEventsObject设置自定义事件, 例如 { "platform": mac }

说明:

queryID, (中文(简体) ), favoriteOn 财务报告和审定财务报表 source 必须在场.

所有可能选项的示例:

favorite(
  {
    favoriteOn: '1jftXXEBdEU4aeo6Gdqs',
    queryID: 'cf600405-d4ed-42b0-8b09-08b594fa88d2',
    source: {
      authors: 'John Milton, John Leonard',
      average_rating: 3.8,
      average_rating_rounded: 4,
      books_count: 819,
      id: 984,
      image: 'https://images.gr-assets.com/books/1455618673l/15997.jpg',
      image_medium: 'https://images.gr-assets.com/books/1455618673m/15997.jpg',
      isbn: '140424393',
      language_code: 'eng',
      original_publication_year: 1667,
      original_series: '',
      original_title: 'Paradise Lost',
      ratings_count: 96316,
      title: 'Paradise Lost'
    },
    id: 'analytics-js-test',
    userID: '[email protected]',
    customEvents: { platform: 'mac' },
    meta: {
      key1: 'value1'
    }
  },
  (err, res) => {
    if (err) {
      // handle error
    } else if (res) {
      // handle response
    }
  }
);

获得最爱

获取保存的最爱

getFavorites(queryParams: Object, callback: Function)

您可以在 这里。 。 。 .

getFavorites(
  {
    user_id: '[email protected]'
  },
  (err, res) => {
    if (err) {
      // handle error
    } else if (res) {
      res
        .json()
        .then(favorites => {
          // list of favorites
        })
        .catch(err => {});
      // handle response
    }
  }
);

设置信头

它允许您在分析端点设置自定义标题 .

setHeaders(headers: Object)

设定用户

设置用户ID。 用户身份帮助记录该特定用户的事件.

setUserID(userID: string)

设定全球事件

设置全局事件数据。 这将补充到法院提出的所有分析请求中.

setGlobalCustomEvents(globalEvents: Object)

回到顶部

捐款

叉出还原并运行以下命令以本地运行测试( T) .

yarn && yarn test

您可能喜欢的其他项目

  • 弧形 API ElasticSearch 的网关(出箱安全,速率限制功能,记录分析与请求日志).

  • 反应搜索 ReactiveSearch是一个用于React,React Introduct和Vue的Elasticsearch UI组件库. 它有25+组件,由Lists, Ranges,Search UI,Result shows组成,并有将任何已存在的UI组件带入库的方法.

  • 搜索框 一个轻量级和注重性能的搜索框UI库,用于查询和显示来自您 ElasticSearch app(aka索引)的结果.

    • 香草 - (~16kB 已删除 + Gzipped)
    • 反应 - (~30kB 已忽略 + Gzipped)
    • 阴道 - (~22kB 已忽略 + Gzipped)
  • 德贾武 允许在 appbase.io (或 Elasticsearch) app 内查看原始数据. 即将发布功能 : 能够从 CSV 和 JSON 文件导入自定义数据,同时在应用数据映射上进行有指引的行走.

  • 幻影 反应Search组件可以使用自定义的弹性搜索查询来扩展. 对于这些新到"弹性搜索"(Elasticsearch),幻影提供了一种直观的图形界面来编译查询.

  • 反应映射 是一个类似 Reactive Search 的工程,可以轻松构建实时地图.

  • 应用程序js 虽然构建搜索 UI 具有反活性搜索的可达性,但您可能需要添加一些输入窗体 . 应用程序js 在那里有帮助.

许可证

这个图书馆是 Apache 许可。 。 。 .

回到顶部

版本与发布记录

@appbaseio/analytics 共发布 14 个版本,首次发布于 2019/10/25;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.2.0latest2023/05/163 年前
1.2.0-alpha.12023/04/173 年前
1.1.12022/11/183 年前
1.1.02022/09/204 年前
1.0.12022/08/114 年前
1.0.02022/08/064 年前

关于 @appbaseio/analytics 的常见问题

@appbaseio/analytics 是什么?

Appbase.io apps 通用分析库

如何安装 @appbaseio/analytics?

在项目目录运行 npm install @appbaseio/analytics,或使用 pnpm add / yarn add / bun add。

@appbaseio/analytics 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/appbaseio__analytics 是否存在。

@appbaseio/analytics 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@appbaseio/analytics 可以商用吗?

@appbaseio/analytics 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@appbaseio/analytics 的下载量有多少?

根据 npm 官方下载统计,@appbaseio/analytics 在 2026/10/07 – 2026/11/05 这 30 天内被下载 6,721 次,日均约 224 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@appbaseio/analytics 还在维护吗?

最新版本 1.2.0 发布于 2023/05/16(3 年前);至今共发布 14 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/10/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。