AWS 平分插件 analytics
Amazon Pinpoint是一个灵活而可扩展的出站和出站营销通信服务. 您可以通过电子邮件、短信、推或语音等渠道与客户联系.
这个包的重量在 12.91kb 晕倒了.
查看文件。 。 。 .
安装
安装 analytics 财务报告和审定财务报表 @analytics/aws-pinpoint 软件包
npm install analytics
npm install @analytics/aws-pinpoint
如何使用
这个 @analytics/aws-pinpoint 软件包在 浏览器 财务报告和审定财务报表 在节点.js的服务器侧。要使用、安装软件包,在您的工程中包含并初始化插件 分析。 。 。 .
以下为如何使用浏览器插件的例子.
import Analytics from 'analytics'
import awsPinpointPlugin from '@analytics/aws-pinpoint'
const analytics = Analytics({
app: 'awesome-app',
plugins: [
awsPinpointPlugin({
pinpointAppId: '938bebb1ae954e123133213160f2b3be4',
getCredentials: () => Auth.currentCredentials()
})
]
})
/* Track a page view */
analytics.page()
/* Track a custom event */
analytics.track('cartCheckout', {
item: 'pink socks',
price: 20
})
/* Identify a visitor */
analytics.identify('user-id-xyz', {
firstName: 'bill',
lastName: 'murray'
})
初始化后 analytics 与 awsPinpointPlugin 插件, 数据将随时发送到 AWSPinpoint 分析. track,或 分析 识别 被调用.
见 其他执行实例 在您的项目中使用更多细节 .
支持的平台
这个 @analytics/aws-pinpoint 软件包在 浏览器 财务报告和审定财务报表 在节点.js的服务器侧
浏览器使用量
AWSPinpoint客户端侧浏览器插件使用这些分析的api方法:
- 分析. p - 将页面视图发送到 AWSPinpoint
- 分析. track - 跟踪自定义事件并发送到 AWSPinpoint
- 分析 识别 - 确定访客身份并将详情发送给AWSPinpoint
- 分析. 重置 - 重置 AWSPinpoint 值的浏览器存储 cookie 和本地存储器
浏览器 API
import Analytics from 'analytics'
import awsPinpointPlugin from '@analytics/aws-pinpoint'
const analytics = Analytics({
app: 'awesome-app',
plugins: [
awsPinpointPlugin({
pinpointAppId: '938bebb1ae954e123133213160f2b3be4',
getCredentials: () => Auth.currentCredentials()
})
]
})
浏览器配置选项
| 选项 | 说明 |
|---|---|
pinpointAppId 所需经费 - 绳子 | AWS 平分应用程序 客户端跟踪的ID |
getCredentials 所需经费 - 函数 | 获得 AWS 认知证书的 Async 函数 |
pinpointRegion 选项 - 绳子 | AWS平分区. 是我们东边的默认 1个 |
appTitle 选项 - 绳子 | 正在录制该事件的应用程序标题. |
appPackageName 选项 - 绳子 | App包的名称,例如com.example. 我的应用. |
appVersionCode 选项 - 绳子 | 该应用的版本编号,例如3.2.0 |
fips 选项 - 绳子 | Pinpoint 使用 AWS FIPS 服务端点 |
disableAnonymousTraffic 选项 - 布尔 | 禁用匿名事件开火 |
服务器侧用法
AWSPinpoint 服务器端节点.js插件使用这些分析的api方法:
服务器侧 API
import Analytics from 'analytics'
import awsPinpointPlugin from '@analytics/aws-pinpoint'
const analytics = Analytics({
app: 'awesome-app',
plugins: [
awsPinpointPlugin({
pinpointAppId: '938bebb1ae954e123133213160f2b3be4',
getCredentials: () => Auth.currentCredentials()
})
]
})
服务器侧配置选项
| 选项 | 说明 |
|---|---|
pinpointAppId 所需经费 - 绳子 | AWS 平分应用程序 客户端跟踪的ID |
getCredentials 所需经费 - 函数 | 获得 AWS 认知证书的 Async 函数 |
pinpointRegion 选项 - 绳子 | AWS平分区. 是我们东边的默认 1个 |
appTitle 选项 - 绳子 | 正在录制该事件的应用程序标题. |
appPackageName 选项 - 绳子 | App包的名称,例如com.example. 我的应用. |
appVersionCode 选项 - 绳子 | 该应用的版本编号,例如3.2.0 |
fips 选项 - 绳子 | Pinpoint 使用 AWS FIPS 服务端点 |
disableAnonymousTraffic 选项 - 布尔 | 禁用匿名事件开火 |
其他例子
以下是其他执行实例.
服务器侧 ES6
import Analytics from 'analytics'
import awsPinpointPlugin from '@analytics/aws-pinpoint'
const analytics = Analytics({
app: 'awesome-app',
plugins: [
awsPinpointPlugin({
pinpointAppId: '938bebb1ae954e123133213160f2b3be4',
getCredentials: () => Auth.currentCredentials()
})
// ...other plugins
]
})
/* Track a custom event */
analytics.track('cartCheckout', {
item: 'pink socks',
price: 20
})
/* Identify a visitor */
analytics.identify('user-id-xyz', {
firstName: 'bill',
lastName: 'murray'
})
具有共同JS的服务器端节点.js
如果使用节点,您将想要导入 .default
const analyticsLib = require('analytics').default
const awsPinpointPlugin = require('@analytics/aws-pinpoint').default
const analytics = analyticsLib({
app: 'my-app-name',
plugins: [
awsPinpointPlugin({
pinpointAppId: '938bebb1ae954e123133213160f2b3be4',
getCredentials: () => Auth.currentCredentials()
})
]
})
/* Track a custom event */
analytics.track('cartCheckout', {
item: 'pink socks',
price: 20
})
/* Identify a visitor */
analytics.identify('user-id-xyz', {
firstName: 'bill',
lastName: 'murray'
})
在 HTML 中使用
以下是通过unpkg CDN导入的例子. 请注意,这将拉入该套件的最新版本.
<!DOCTYPE html>
<html>
<head>
<title>Using @analytics/aws-pinpoint in HTML</title>
<script src="https://unpkg.com/analytics/dist/analytics.min.js"></script>
<script src="https://unpkg.com/@analytics/aws-pinpoint/dist/@analytics/aws-pinpoint.min.js"></script>
<script type="text/javascript">
/* Initialize analytics */
var Analytics = _analytics.init({
app: 'my-app-name',
plugins: [
analyticsAWSPinpoint({
pinpointAppId: '938bebb1ae954e123133213160f2b3be4',
getCredentials: () => Auth.currentCredentials()
})
]
})
/* Track a page view */
analytics.page()
/* Track a custom event */
analytics.track('cartCheckout', {
item: 'pink socks',
price: 20
})
/* Identify a visitor */
analytics.identify('user-id-xyz', {
firstName: 'bill',
lastName: 'murray'
})
</script>
</head>
<body>
....
</body>
</html>
通过 ES 模块在 HTML 中使用
使用 @analytics/aws-pinpoint 在无害环境管理模块中.
<!DOCTYPE html>
<html>
<head>
<title>Using @analytics/aws-pinpoint in HTML via ESModules</title>
<script>
// Polyfill process.
// **Note**: Because `import`s are hoisted, we need a separate, prior <script> block.
window.process = window.process || { env: { NODE_ENV: 'production' } }
</script>
<script type="module">
import analytics from 'https://unpkg.com/analytics/lib/analytics.browser.es.js?module'
import analyticsAWSPinpoint from 'https://unpkg.com/@analytics/aws-pinpoint/lib/analytics-plugin-aws-pinpoint.browser.es.js?module'
/* Initialize analytics */
const Analytics = analytics({
app: 'analytics-html-demo',
debug: true,
plugins: [
analyticsAWSPinpoint({
pinpointAppId: '938bebb1ae954e123133213160f2b3be4',
getCredentials: () => Auth.currentCredentials()
})
// ... add any other third party analytics plugins
]
})
/* Track a page view */
analytics.page()
/* Track a custom event */
analytics.track('cartCheckout', {
item: 'pink socks',
price: 20
})
/* Identify a visitor */
analytics.identify('user-id-xyz', {
firstName: 'bill',
lastName: 'murray'
})
</script>
</head>
<body>
....
</body>
</html>
认证
Pinpoint需要有效身份才能给服务打电话.
要做到这一点,你需要使用 AWS SDK, AWS 扩展, (中文(简体) ), 微小的认知 等,以维生 AWS 证书,允许访客拨打定点
这个 getCredentials 必须提供并返回返回的对象 accessKeyId, (中文(简体) ), secretAccessKey, (中文(简体) ), sessionToken 可以访问您的 AWS 指定实例.
{
accessKeyId: 'xyz',
secretAccessKey: 'xyz',
sessionToken: 'xyz'
}
以下是使用 tiny-cognito
import Analytics from 'analytics'
import cognitoAuth from 'tiny-cognito'
import awsPinpointPlugin from '@analytics/aws-pinpoint'
// Identity pool ID that allows for unauthenticated access.
const poolId = 'us-east-1:11111111-22222-222222-44444'
const region = 'us-east-1'
function getCredentials() {
return cognitoAuth({
COGNITO_REGION: region,
IDENTITY_POOL_ID: poolId
})
}
const analytics = Analytics({
app: 'awesome-app',
plugins: [
awsPinpointPlugin({
pinpointAppId: '123456789',
getCredentials: getCredentials
})
]
})
以下是使用 @aws-amplify/auth
import Analytics from 'analytics'
import AmplifyAuth from '@aws-amplify/auth'
import awsPinpointPlugin from '@analytics/aws-pinpoint'
const analytics = Analytics({
app: 'awesome-app',
plugins: [
awsPinpointPlugin({
pinpointAppId: '123456789',
// Get credentials from amplify
getCredentials: async () => {
const creds = await AmplifyAuth.currentCredentials()
return creds
},
})
]
})