Google Analytics正确报告我的Android应用引发的异常.我可以使用预定电子邮件将此报告发送给我.但是,在没有任何要报告的情况下收到每日电子邮件(即,报告告诉我发生了零例外)是单调乏味的.因此,我希望仅在有报告内容时才接收电子邮件(即报告告诉我发生了一个或多个异常).似乎自定义警报可用于此目的.但是,自定义警报似乎与例外不兼容.这引出了我的问题.
可以将自定义警报配置为提供有关例外的电子邮件通知吗?
或者,更一般地说,
是否可以将Google Analytics配置为提供有关例外的电子邮件通知?
此外,这也适用于崩溃吗?
更新(2015年11月22日,2015年12月1日)
(部分)回答.我提供了一个答案,可以将服务器(而不是Google Analytics)配置为提供有关异常的电子邮件通知,这可能是许多人的充分解决方案.
(几乎是)答案.jakub-kriz已经提供了详细的答案,但它没有按原样运作.在答案的基础上,我能够在没有异常发生时将Google Analytics配置为电子邮件.这与要求完全相反.不幸的是,当发生一个或多个异常时,我无法收到电子邮件.
替代方向.jakub-kriz提出了一种替代解决方案,即使用正常事件而不是异常事件.我没有尝试过这个方向.
尚未提出完整的解决方案.
Gradle似乎在我正在进行的项目中丢失了构建类型.我可以重新创建一个小问题,如下所示.我有以下文件:
build.gradle
local.properties
src/main/AndroidManifest.xml
Run Code Online (Sandbox Code Playgroud)
的build.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:+'
}
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 1
targetSdkVersion 23
}
buildTypes {
debug {
}
release {
}
}
}
Run Code Online (Sandbox Code Playgroud)
local.properties:
sdk.dir=/path/to/android-sdk-linux
Run Code Online (Sandbox Code Playgroud)
的src/main/AndroidManifest.xml中:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example"/>
Run Code Online (Sandbox Code Playgroud)
我希望摇篮生成任务installDebug和installRelease,因为我定义debug和release作为buildTypes.但事实并非如此.该命令gradle tasks产生:
:tasks
------------------------------------------------------------
All tasks runnable from root project
------------------------------------------------------------
...
Install tasks
-------------
installDebug …Run Code Online (Sandbox Code Playgroud) 假设下面的页面是从https://127.0.100.1. 该页面作出了XMLHttpRequest 到http://127.0.100.2。这似乎是混合内容:页面通过安全连接加载,资源通过不安全连接加载。浏览器应阻止混合内容。然而,下面的页面工作正常。* 为什么工作:为什么请求没有被阻止?
更新:除了已接受的答案之外,还可以将浏览器配置为阻止此类地址的混合内容。
* Wireshark 确认浏览器未通过安全连接加载资源。
<html>
<body>
<img id="dst"/>
<script>
let xhr = new XMLHttpRequest();
xhr.open('get', 'http://127.0.100.2/img.jpg');
xhr.responseType = 'blob';
xhr.onload = function(){
document.getElementById('dst').src = URL.createObjectURL(xhr.response);
}
xhr.send();
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) javascript browser xmlhttprequest mixed-content secure-context