我喜欢图表。
我喜欢抓住一些数据,让它看起来很漂亮。但是,唉,我对最佳做法感到有些失落。
我选择了mixpanel(仅作为示例),因为我似乎非常容易跟踪自定义事件,并且没有任何子域限制,例如Google Analytics。
假设我有100-1000多个拥有帐户(面向公众)的用户,我正在跟踪他们的网页获得的公共互动。使用mixpanel,我可以看到可爱的数据,并将其分割为个人帐户。到目前为止,太棒了!
但是,我想向用户展示这些信息。在这里,我的头开始受伤。我是否安排了cron作业,从mixpanel中提取数据并将其写入各自的帐户?或者,还有更好的方法?我查看了mixpanel的api(我正在使用Ruby),但他们一直告诉我应该使用javascript api。但是在使用JS时,如何防止其他人获取数据(即什么阻止某人在控制台中伪造mixpanel api-posts,或查看我的私钥?)。
在这种情况下,您认为什么是实用的解决方案?
答案 0 :(得分:5)
您可以通过附加$ bucket属性来存储每个用户的特定用户事件来实现此目的,该属性具有每个用户唯一的值,如mixpanel docs here Mixpanel docs中所述。如果您仍想使用ruby来提供活动,请查看Mixpanel推荐的ruby client libraries mixpanel_client看起来像是上面提到的2个维护得很多的选项。如果您使用它,那么您可以提供用户特定事件,如下面的示例所示(也在gem的自述文件中):
data = client.request do
# Available options
resource 'events/properties'
event '["test-event"]'
name 'hello'
values '["uno", "dos"]'
timezone '-8'
type 'general'
unit 'hour'
interval 24
limit 5
bucket 'contents'
from_date '2011-08-11'
to_date '2011-08-12'
on 'properties["product_id"]'
where '1 in properties["product_id"]'
buckets '5'
end
答案 1 :(得分:1)
您可以尝试像Keen IO这样的服务,它允许您生成加密的范围写入和读取API密钥。 Keen IO专为可定制和编程分析功能而构建,例如向客户公开分析,而MixPanel则更多地用于在UI中探索数据。使用加密范围密钥的想法是,他们永远无法访问您的帐户,只能访问您希望他们查看的数据。您可以使用客户ID轻松标记您的活动,然后使用Scoped Keys确保您只向客户展示他们自己的数据。
https://keen.io/docs/security/#scoped-key
此外,Keen IO有一个"importer",允许您将mixpanel事件导出到您的Keen IO数据库中。