• 汪洋's avatar
    - 使用onPageStart与onPageEnd都替换为onPVStart,onPVEnd · 0e425556
    汪洋 authored
    - 优化onPageStart,让其真正有用
    - PV参数使用协议,这样view也可以使用这些PV属性。例子:GMWelfarePopView
    - selectedNavigationController的安全性,已经优化为visibleController
    - 优化了referer的获取
    - netStatus获取优化
    - GMPhobosPV 优化
    - GPS优化
    - 精简了handlePVEventAppInForeground、handlePVEventAppInBackgound
    - onPVStart真正变得有用途
    - 添加catchNullInAttributes
    0e425556
PhobosPVProtocol.h 1.71 KB
//
//  PhobosPVProtocol.h
//  Pods
//
//  Created by wangyang on 2017/2/7.
//
//

#import <Foundation/Foundation.h>

@protocol PhobosPVProtocol <NSObject>

/**
 *  @author 翟国钧, 16-02-24 17:02:22
 *
 *  @brief 埋点的时候,有些埋点都需要业务id,比如DoctorId,针对那些只能在父类中埋点的业务,要在子类中设置当前id,然后在父类中取到
 *  在一些详情页的分享和收藏的时候,由于分享、收藏的方法在basewebview里,所以,统一在里面做处理,但是需要在子类中把想要的参数传过去。包括:type(类型)、from(来自哪)、businessId(对应业务id)
 *  @since 5.9.1
 */
@property (nonatomic, copy, nonnull) NSString *businessId;

/**
 *  @author 翟国钧 in 16-02-25 19:02:32
 *
 *  埋点pv事件中当前页面的别名
 *  @since 5.9.1
 */
@property (nonatomic, copy, nonnull) NSString *pageName;

/**
 *  @author 翟国钧  in 16-02-25 19:02:32
 *
 *  @brief 获取前一个页面的pageName。
 *  只读,以后如果业务涉及到referer的set方法,那么再升级Phobos,此时先不做过多考虑 by wangyang at 2017-2-7
 *
 *  @since 5.9.1
 */
@property (nonatomic, readonly, nonnull) NSString *referer;

/**
 当前VC.view 显示的时候的时间戳
 @author zhaiguojun 16-10-12 
 */
@property (nonatomic, copy, nonnull) NSString *inTime;

/**
 前一个页面的businessId。该属性有可能为空字符串
 */
@property (nonatomic, copy, nonnull) NSString *referrerId;

/**
 controller是否需要记录pv事件,默认为YES。
 controller作为childController时,需要设置childController.needLogPV = NO,以防止影响containerController的pv事件
 */
@property(nonatomic, assign) BOOL needLogPV;

@end