加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何使用mixpanel-ruby gem跟踪事件?

发布时间:2020-12-17 01:36:07 所属栏目:百科 来源:网络整理
导读:我正在将Mixpanel集成到我的 Ruby on Rails应用程序中.我已正确集成 Javascript标记以进行客户端视图跟踪. 我还以各种方式为我的模型和控制器中的服务器端事件添加了Mixpanel跟踪标记,但没有成功.以下是我尝试过的一个例子: 我已经安装了mixpanel-ruby gem
我正在将Mixpanel集成到我的 Ruby on Rails应用程序中.我已正确集成 Javascript标记以进行客户端视图跟踪.

我还以各种方式为我的模型和控制器中的服务器端事件添加了Mixpanel跟踪标记,但没有成功.以下是我尝试过的一个例子:

我已经安装了mixpanel-ruby gem并添加了以下代码:

/initializers/mixpanel.rb

require 'mixpanel-ruby'

if Rails.env == "development"
  tracker = Mixpanel::Tracker.new(ENV['MIXPANEL_DEV_TOKEN'])
end

if Rails.env == "production"
  tracker = Mixpanel::Tracker.new(ENV['MIXPANEL_PROD_TOKEN'])
end

我有一个模型评论,我想跟踪添加评论的时间.

车型/ review.rb

class Review < ActiveRecord::Base
after_create :track_review

def track_review
  tracker.track('User','Added Review')
end

Ruby instructions from Mixpanel(不是特定于Rails应用程序)说至少需要这些部分:

require 'mixpanel-ruby'

tracker = Mixpanel::Tracker.new(PROJECT_TOKEN)

# Tracks an event,'Sent Message',# with distinct_id user_id
tracker.track(user_id,'Sent Message')

我有这些,但没有错误,没有事件出现在Mixpanel(它正确显示我的客户端视图事件).那么我做错了什么?提前致谢!

解决方法

我用3个修复解决了这个问题:

1:在initializers / mixpanel.rb中声明的变量需要是一个写为$variable的全局变量.我通过添加一个美元符号将其更改为全局变量,然后将我的环境变量移动到我的application.yml文件(我正在使用Figaro).

2:在开发过程中,我遇到了Mixpanel’s Git issues中记录的一个罕见的SSL错误.一位朋友帮助我使用调试器来发现从我的开发环境调用Mixpanel的服务器时出现连接错误.为了解决这个问题,我在初始化程序/ mixpanel.rb中添加了一个在问题讨论中建议的代码段.

初始化/ mixpanel.rb

require 'mixpanel-ruby'
$tracker = Mixpanel::Tracker.new(ENV['MIXPANEL_TOKEN'])

if Rails.env.development? 
  #silence local SSL errors
  Mixpanel.config_http do |http|
    http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  end
end

3:在生产中,我仍然无法让事情发挥作用.事实证明,我需要在Heroku的环境变量中设置我的Mixpanel配置令牌.我在命令行中使用了以下内容来执行此操作

heroku config:set MIXPANEL_TOKEN=my_token_string_goes_here

完成所有这些操作后,我为Mixpanel跟踪器提供了一个正确声明的全局变量,一个包含开发和产品令牌的环境文件,一个SSL错误补丁,以及一个带有我的Mixpanel令牌的更新的Heroku配置.所有这些以及现在的Mixpanel正在正确地跟踪我的服务器端事件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读