使用 AWS Amplify 和 Pinpoint 进行分析
Analytics with AWS Amplify and Pinpoint
目前正在通过 AWS Amplify 和 Pinpoint 实施网络和移动分析。
我注意到 JS 的 Amplify 文档的分析部分与 iOS 和 Android 的相关部分不同,特别是在事件对象可以包括。
JS 文档指定了 attributes
属性,而 iOS 和 Android 版本都指定了 properties
。请参阅以下片段:
JavaScript
Analytics.record({
name: 'albumVisit',
// Attribute values must be strings
attributes: { genre: '', artist: '' }
});
iOS
func recordEvents() {
let properties: AnalyticsProperties = [
"eventPropertyStringKey": "eventPropertyStringValue",
"eventPropertyIntKey": 123,
"eventPropertyDoubleKey": 12.34,
"eventPropertyBoolKey": true
]
let event = BasicAnalyticsEvent(name: "eventName", properties: properties)
Amplify.Analytics.record(event: event)
}
Android
val event = AnalyticsEvent.builder()
.name("PasswordReset")
.addProperty("Channel", "SMS")
.addProperty("Successful", true)
.addProperty("ProcessDuration", 792)
.addProperty("UserAge", 120.3)
.build()
Amplify.Analytics.recordEvent(event)
attributes
和 properties
可以互换吗?我将使用 Amazon QuickSight 构建分析仪表板,最终收集的事件数据将在 S3 上结束,并使用 Athena 进行查询。我需要在 Athena 中为 table 定义一个模式,并且我不确定,基于以上内容,我可以期望数据 attributes
/properties
的格式是什么。亚马逊似乎打算让 attributes
和 properties
包含相同类型的事件相关信息。但是我很困惑为什么平台之间的命名约定不同。
如果其他人注意到他们的文档中缺少关于此的解释...任何通过移动 SDK 添加的 property
将出现在记录事件负载的 attributes
对象中.
在 iOS 和 Android 上,Amplify Analytics 的字符串和布尔值 属性 映射到 Pinpoint attributes. Double & Integer properties are mapped to Pinpoint metrics。
或者,表示为table:
Amplify property type (in)
Pinpoint type (out)
String
Attribute
Boolean
Attribute
Integer
Metric
Double
Metric
(参考Amplify的Android code, iOS code。)
目前正在通过 AWS Amplify 和 Pinpoint 实施网络和移动分析。
我注意到 JS 的 Amplify 文档的分析部分与 iOS 和 Android 的相关部分不同,特别是在事件对象可以包括。
JS 文档指定了 attributes
属性,而 iOS 和 Android 版本都指定了 properties
。请参阅以下片段:
JavaScript
Analytics.record({
name: 'albumVisit',
// Attribute values must be strings
attributes: { genre: '', artist: '' }
});
iOS
func recordEvents() {
let properties: AnalyticsProperties = [
"eventPropertyStringKey": "eventPropertyStringValue",
"eventPropertyIntKey": 123,
"eventPropertyDoubleKey": 12.34,
"eventPropertyBoolKey": true
]
let event = BasicAnalyticsEvent(name: "eventName", properties: properties)
Amplify.Analytics.record(event: event)
}
Android
val event = AnalyticsEvent.builder()
.name("PasswordReset")
.addProperty("Channel", "SMS")
.addProperty("Successful", true)
.addProperty("ProcessDuration", 792)
.addProperty("UserAge", 120.3)
.build()
Amplify.Analytics.recordEvent(event)
attributes
和 properties
可以互换吗?我将使用 Amazon QuickSight 构建分析仪表板,最终收集的事件数据将在 S3 上结束,并使用 Athena 进行查询。我需要在 Athena 中为 table 定义一个模式,并且我不确定,基于以上内容,我可以期望数据 attributes
/properties
的格式是什么。亚马逊似乎打算让 attributes
和 properties
包含相同类型的事件相关信息。但是我很困惑为什么平台之间的命名约定不同。
如果其他人注意到他们的文档中缺少关于此的解释...任何通过移动 SDK 添加的 property
将出现在记录事件负载的 attributes
对象中.
在 iOS 和 Android 上,Amplify Analytics 的字符串和布尔值 属性 映射到 Pinpoint attributes. Double & Integer properties are mapped to Pinpoint metrics。
或者,表示为table:
Amplify property type (in) | Pinpoint type (out) |
---|---|
String | Attribute |
Boolean | Attribute |
Integer | Metric |
Double | Metric |
(参考Amplify的Android code, iOS code。)