Implementation should be up to the client, there are many different trackers and each can be used differently.
Remove fabric and mixpanel
Provide more flexible public interface for clients to be able to add any tracker they want easily. (Current implementation is good enough though). Signature can be a little different.
Attribute
Scope: Method, Parameter
Use Attribute to add attributes with dynamic values. There are 2 ways to set this value.
Scope: Class, Method
Use it to add fixed values for the attributes
@FixedAttribute(key="Screen Name", value="Login")
public class LoginActivity {
@FixedAttribute(key="key", value="value") public void foo(){
}
}
FixedAttributes
Scope: Class, Method
Use it to add multiple attributes at once. Java 7 or lower API's don't support repeated annotations.
@FixedAttributes({
@FixedAttribute(key="key1", value="value1"),
@FixedAttribute(key="key2", value="value2")
})
public void foo(){
}
Super attributes
Sometimes, you may need to have an application scope attribute and you may want to have this attribute for each event.
Attribute and FixedAttribute have an option to make the attribute super. As default it is false, thereby enabling this flag will make the attribute super and it will kept in memory in entire time.
No tracker implementations
Attribute
Scope: Method, Parameter Use Attribute to add attributes with dynamic values. There are 2 ways to set this value.
Both option accepts null
Attribute also has a default value option. When the expected value is null, default value will be used
FixedAttribute
Scope: Class, Method Use it to add fixed values for the attributes
FixedAttributes
Scope: Class, Method Use it to add multiple attributes at once. Java 7 or lower API's don't support repeated annotations.
Super attributes
Sometimes, you may need to have an application scope attribute and you may want to have this attribute for each event. Attribute and FixedAttribute have an option to make the attribute super. As default it is false, thereby enabling this flag will make the attribute super and it will kept in memory in entire time.
Deprecated