定时操作允许您测量某个操作从开始到结束之间的应用程序内时间和总时间。SDK 会计算每个会话中的时长以及完成操作所花费的总时间(跨会话)。您可以使用定时操作定义区段,并比较购买时间、通过水平、结帐流程等。
会报告定时操作的以下量度:
可选回调让您能够在完成定时操作后执行其他操作:
将库添加到您的项目并实施生命周期。
有关更多信息,请参阅核心实施和生命周期中的“将 SDK 和配置文件添加到您的 IntelliJ IDEA 或 Eclipse 项目”**。
导入库:
import com.adobe.mobile.*;
调用 trackTimedActionStart
,并提供定时操作名称和可选的上下文数据。
HashMap cdata = new HashMap<String, Object>();
cdata.put("ExperienceName", experience);
Analytics.trackTimedActionStart("TimeUntilPurchase", cdata);
(可选)您可以随时通过定时操作名称调用 trackTimedActionUpdate
以添加其他上下文数据。
HashMap cdata = new HashMap<String, Object>();
cdata.put("myapp.ImageLiked", imageName);
Analytics.trackTimedActionUpdate("TimeUntilPurchase", cdata);
事件完成时,调用 trackTimedActionEnd
,并传递定时操作名称和 TimedActionBlock
(回调),以查找所有数据并计算持续时间。
Analytics.trackTimedActionEnd("TimeUntilPurchase", cdata);
定时事件量度将保存在移动设备解决方案变量中,以便自动进行报告。
除了定时操作名称之外,您还可以通过操作开始和操作更新调用发送其他上下文数据:
HashMap cdata = new HashMap<String, Object>();
cdata.put("myapp.ImageLiked", imageName);
Analytics.trackTimedActionUpdate("TimeUntilPurchase", cdata);
上下文数据值必须映射到 Adobe Mobile Services 中的自定义变量:
// Timed Action Start Example
HashMap cdata = new HashMap<String, Object>();
cdata.put("ExperienceName", experience);
Analytics.trackTimedActionStart("TimeUntilPurchase", cdata);
// Timed Action Update Example
cdata = new HashMap<String, Object>();
cdata.put("ImageLiked", imageName);
Analytics.trackTimedActionUpdate("TimeUntilPurchase", cdata);
// Timed Action End Example
Analytics.trackTimedActionEnd("TimeUntilPurchase", null);
// Timed Action End Example with Callback
Analytics.trackTimedActionEnd("TimeUntilPurchase", new Analytics.TimedActionBlock<Boolean>() {
@Override
public Boolean call(long inAppDuration, long totalDuration, Map<String, Object> contextData) {
contextData.put("PurchaseItem", "Item453");
return true; // return true to send the hit, false to cancel
}
});