Google analytics 如果发生(崩溃和)异常,Google Analytics可以给我发电子邮件吗?
Google Analytics正确地报告了我的Android应用程序引发的异常。我可以使用预定的电子邮件将此报告发送给我。然而,在没有任何需要报告的情况下(即,报告告诉我没有发生异常)每天收到一封电子邮件是乏味的。因此,我只希望在有需要报告的情况下接收电子邮件(即,报告告诉我发生了一个或多个异常)。似乎可以将自定义警报用于此目的。但是,自定义警报似乎与异常不兼容。这就引出了我的问题 是否可以将自定义警报配置为在异常情况下提供电子邮件通知? 或者,更一般地说 是否可以将Google Analytics配置为在异常情况下提供电子邮件通知? 此外,这是否也适用于崩溃 更新(2015年11月22日,2015年12月1日) (部分)回答。我提供了一个服务器(不是Google Analytics),可以配置为在异常情况下提供电子邮件通知,这对于许多人来说可能是一个足够的解决方案 (几乎是一个)答案。提供了一个,但它不能按原样工作。在这个答案的基础上,我能够在没有异常发生的情况下将Google Analytics配置为电子邮件。这与要求完全相反。不幸的是,当一个或多个异常发生时,我无法收到电子邮件 交替方向。提出了一种新的方法,即使用正常事件,而不是异常事件。我还没试过这个方向Google analytics 如果发生(崩溃和)异常,Google Analytics可以给我发电子邮件吗?,google-analytics,Google Analytics,Google Analytics正确地报告了我的Android应用程序引发的异常。我可以使用预定的电子邮件将此报告发送给我。然而,在没有任何需要报告的情况下(即,报告告诉我没有发生异常)每天收到一封电子邮件是乏味的。因此,我只希望在有需要报告的情况下接收电子邮件(即,报告告诉我发生了一个或多个异常)。似乎可以将自定义警报用于此目的。但是,自定义警报似乎与异常不兼容。这就引出了我的问题 是否可以将自定义警报配置为在异常情况下提供电子邮件通知? 或者,更一般地说 是否可以将Google Analyt
尚未提出完整的解决方案。这是可能的,但不是直接的,你必须把你的分析连接起来 1) 分析管理中的配置 在管理->查看->过滤器->自定义->高级中创建两个过滤器 创建侦听hitType异常的筛选器并设置事件类别-异常 创建将异常描述复制到事件操作的筛选器 2) 创建自定义目标 在管理->查看->目标->自定义->事件中创建两个过滤器 事件类别等于异常 3) 创建自定义警报 包含异常的目标自定义警报 别忘了你的电子邮件
试试这个,让我知道 要获取邮件Id报告,无法直接从google analytics发送。我们可以将此错误报告发送到我们的应用程序,并通过编程将其发送到邮件id。可以配置服务器(而不是Google Analytics)以提供异常情况下的电子邮件通知,这对于许多人来说可能是一个足够的解决方案 首先,您需要一个可以创建的服务帐户。您将创建一个密钥文件(
MyAnalytics.p12
)
其次,我们配置分析客户端(MyAnalytics.php
):
第四,将cron配置为运行
exceptions.php
(cf.)。唯一让我困惑的步骤是“事件类别等于异常”。此外,似乎没有必要“添加电子邮件地址”,因为电子邮件地址已经注册。(也许你可以为未来的读者添加一些额外的细节。)我现在需要测试它是否有效!它似乎不起作用:我触发了异常(由分析报告),但我没有收到电子邮件。你能修改发送异常点击的代码吗?是的,我可以修改代码,但有一些限制。然而,我不认为是这样。正如我上面提到的,唯一让我困惑的是“事件类别等于异常”,我假设这意味着:在步骤2中,定义“类别”等于“异常”。然而,当我“验证这个目标”时,我得到了“0%的转化率”,这可能是不对的。(我怀疑应该改为设置大于“0”的“值”,这将产生“25%转换率”。)我可以进行修改,添加带有Exception调用的正常事件,其中将有EventCategory Eception,EventAction-ExceptionDescription,您可以移除过滤器,只需保持目标和警报开启。此代码允许应用程序向Google Analytics报告,但不会发送解决问题的消息。以上答案已编辑。它肯定包含错误。例如,可以直接从Google Analytics发送电子邮件。这在某些方面也是荒谬的——至少对我来说是这样。
<?php
//You'll need to install google-api-php-client
//(https://github.com/google/google-api-php-client)
require_once 'Google/autoload.php';
class MyAnalytics
{
//When logged into Google Analytics you'll have a URL that looks
//something like https://www.google.com/analytics/web/?authuser=0#home/a00w11p22/
//Your profile id is everything after the p
const PROFILE_ID = '22';
//This is the service account email that you constructed in step 1
const SERVICE_ACCOUNT_EMAIL = 'blah@developer.gserviceaccount.com';
//This is the file that you constructed in step 1.
const KEY_FILE_LOCATION = 'MyAnalytics.p12';
private $client;
private $analytics;
private $cred;
public function __construct() {
$this->client = new Google_Client();
$this->analytics = new Google_Service_Analytics($this->client);
$key = file_get_contents(self::KEY_FILE_LOCATION);
$this->cred = new Google_Auth_AssertionCredentials(
self::SERVICE_ACCOUNT_EMAIL,
array(Google_Service_Analytics::ANALYTICS_READONLY),
$key
);
}
public function getAnalytics() {
$this->client->setAssertionCredentials($this->cred);
if($this->client->getAuth()->isAccessTokenExpired()) {
$this->client->getAuth()->refreshTokenWithAssertion($this->cred);
}
return $this->analytics;
}
}
?>
<?php
require_once 'MyAnalytics.php';
$myAnalytics = new MyAnalytics();
$analytics = $myAnalytics->getAnalytics();
$results = $analytics->data_ga->get(
'ga:' . MyAnalytics::PROFILE_ID,
'yesterday',
'today',
'ga:exceptions'
);
$a = $results->getTotalsForAllResults();
$count = $a['ga:exceptions'];
echo $count;
if (is_numeric($count) && $count > 0) {
//handle the exception, e.g., send an email
//(cf. https://stackoverflow.com/a/5335311/3664487)
}
?>