我一直在尝试实现增强型电子商务跟踪,但无论我做什么,Google Analytcs 网络面板中的电子商务 View 都保持为空,即没有发送任何数据(显然)。所有其他数据、屏幕和事件跟踪均按预期工作。
我正在关注 installing google analytics 上的官方指南和 implementing Enhanced Ecommerce tracking .这是我的设置:
在 MyApplication 类中:
public class MyApplication extends Application {
private Tracker mTracker;
//....
synchronized public Tracker getDefaultTracker() {
if (mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mTracker = analytics.newTracker(R.xml.global_tracker);
mTracker.set("&tid", GOOGLE_ANALYTICS_ID_VALUE);
}
return mTracker;
}
}
R.xml.global_tracker:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="ga_sessionTimeout">300</integer>
<bool name="ga_autoActivityTracking">false</bool>
<string name="ga_sampleFrequency">100.0</string>
<bool name="ga_reportUncaughtExceptions">true</bool>
<integer name="ga_dispatchPeriod">30</integer>
</resources>
在 BaseActivity 类中,我有在适当的 Activity/fragment 中使用的 trackEcommerce() 方法:
public void trackEcommerce(){
String screenName = "eCommerce";
String transactionID = "transactionID"; //some randomized value
Double transactionRevenue = 0.0; //value of the transaction
Tracker t = ((MyApplication) getApplication()).getDefaultTracker();
//send products
for (MyEcommerceItem item : myEcommerceItems) {
Product product = new Product()
.setId(item.getSku())
.setName(item.getTitle())
.setCategory(item.getType())
.setPrice(item.getPrice())
.setQuantity(item.getQuantity());
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder().addProduct(product);
t.setScreenName(screenName);
t.send(builder.build());
}
//send transaction
ProductAction productAction = new ProductAction(ProductAction.ACTION_CHECKOUT)
.setTransactionId(transactionID)
.setTransactionRevenue(transactionRevenue);
HitBuilders.ScreenViewBuilder builder = new HitBuilders.ScreenViewBuilder().setProductAction(productAction);
t.setScreenName(screenName);
t.send(builder.build());
}
显而易见的问题,你能看出我做错了什么/我需要改变什么的一些想法吗?
最佳答案
您应该使用单独的 ecommerce_tracker 跟踪器,而不是使用全局跟踪器进行电子商务跟踪。 https://developers.google.com/analytics/devguides/collection/android/v4/advanced#multiple-trackers
public class MyApplication extends Application {
private Tracker mDefaultTracker;
private Tracker mEcommerceTracker;
//....
synchronized public Tracker getDefaultTracker() {
if (mDefaultTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mDefaultTracker = analytics.newTracker(R.xml.global_tracker);
mDefaultTracker.set("&tid", GOOGLE_ANALYTICS_ID_VALUE);
}
return mDefaultTracker;
}
synchronized public Tracker getEcommerceTracker() {
if (mEcommerceTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
mEcommerceTracker = analytics.newTracker(R.xml.ecommerce_tracker);
}
return mDefaultTracker;
}
}
R.xml.ecommerce_tracker
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="ga_sessionTimeout">60</integer>
<!-- The following value should be replaced with correct property id. -->
<string name="ga_trackingId">UA-XXXXXX-Y</string>
</resources>
同时尝试查看日志输出是什么。这是从 GA 启用日志的方法 https://developers.google.com/android/reference/com/google/android/gms/analytics/Logger
关于android - 针对 Android 问题的 Google Analytics 增强型电子商务跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35735423/
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
我想验证一个电子邮件地址是否是PayPal用户。是否有API调用来执行此操作?是否有执行此操作的ruby库?谢谢 最佳答案 GetVerifiedStatus来自PayPal'sAdaptiveAccounts平台会为您做这件事。PayPal没有任何codesamples或SDKs用于Ruby中的自适应帐户,但我确实找到了编写codeforGetVerifiedStatusinRuby的人.您需要更改该代码以检查他们拥有的帐户类型的唯一更改是更改if@xml['accountStatus']!=nilaccount_status
我想知道我应该如何着手这个项目。我需要每周向人们发送一次电子邮件。但是,这必须在每周的特定时间自动生成并发送。编码有多难?我需要知道是否有任何书籍可以提供帮助,或者你们中的任何人是否可以指导我。它必须使用rubyonrails进行编程。因此有一个网络服务和数据库集成。干杯 最佳答案 为什么这么复杂?您只需安排工作。您可以使用Delayed::Job例如。Delayed::Job让您可以使用run_at符号在特定时间安排作业,如下所示:Delayed::Job.enqueue(SendEmailJob.new(...),:run_
我正在尝试使用IMAP和rubymailgem获取gmail的正文。当我按照anotherstackoverflowanswer.中的描述获取RFC822字段时,它工作得很好.Fiedl很好地描述了这种方法answer类似的问题。这种方法很棒,只是它需要获取RFC822,而RFC822也会获取所有附件。是否有任何其他领域或其他方法我可以采取不获取附件但仍然使用rubymailgem来获得解码良好的正文? 最佳答案 您必须解析并理解返回的BODYSTRUCTURE响应的实际结构,请参阅RFC3501,p.56.还要记住应用相关
Ruby中是否有一种方法可以使用S/MIME对电子邮件消息进行数字签名?我们的团队使用PKI,我们的用户习惯于期待重要消息的数字签名。我知道我可以调用openssl命令行工具:opensslsmime-sign-signer$CERT_FILE-passinpass:$CERT_PASS-in$UNSIGNED_MAIL-out$SIGNED_MAIL-certfile$CERT_CA_FILE-from'your'-to'recipients'-subject'TheSubject'但我希望利用Ruby解决方案。 最佳答案 我最终
是否已经实现了ISO8601的所有日期、时间、持续时间和间隔使用情况?ruby标准?我的意思是类似于类的东西,您可以在其中设置和获取详细信息,例如年、月、日、星期几、星期、小时、分钟、is_duration?、has_recurrence?等等也可以设置并导出到字符串? 最佳答案 require'time'time=Time.iso8601Time.now.iso8601#iso8601stringtime.year#=>Yearofthedatetime.month#=>Monthofthedate(1to12)time.day#
我似乎无法解决的一个非常基本的问题是如何向我的RubyonRailsSpree商务应用程序添加一个新View。我想要做的是在_main_nav_bar.html.erb中的主页链接旁边有一个链接,当您单击它时,它会在显示产品的地方显示一个关于页面。所以:homeaboutcart---------------------thingsoftheHOMEpage---------------------footer点击关于导致:homeaboutcart---------------------thingsoftheABOUTpage---------------------footer在
我正在从rails2.3迁移到rails3.1,我试图在生成异常时发送电子邮件。我正在使用exception_notificationgem。我的其余电子邮件都在工作。但是异常邮件不会被解雇。以下是我的staging.rb文件中的设置。config.action_mailer.perform_deliveries=trueconfig.action_mailer.raise_delivery_errors=true下面是application.rb中的代码C::Application.config.middleware.useExceptionNotification::Rack,:e
我正在使用gmailgem发送电子邮件,我需要跟踪这些电子邮件。我该怎么做?我正在尝试搜索带有message_id的电子邮件,但它会从我的收件箱中提取所有电子邮件,而我只想要特定电子邮件的回复。这是我的实际代码:*使用message_id保存电子邮件*mail=gmail.deliver(email)Email.create(:message_id=>mail.message_id,:from=>user.email,:to=>annotation.to,:body=>annotation.content,:title=>annotation.title,:annotation=>an
我想制作一个gem,当其他人尝试将它与MRI一起使用时,它将使用C代码,而当他们从JRuby中使用它时,它将使用Java代码。nokogiri和pumagems就是这样做的,我看过他们的代码,但没有看到他们是如何实现的。 最佳答案 这是通过使用rvm(或其他类似工具在rubies之间切换)和rake-compiler为您针对的不同平台交叉编译gem来完成的。.gemspec文件必须指定每个平台所需的文件;这是通过检查gem正在编译的平台来完成的:Gem::Specification.newdo|gem|#...ifRUBY_PLAT