在app许多业务逻辑都要做新老用户的区分,哪些是新安装用户, 哪些是升级上来的老用户。我们这里采用判断进入启动页的次数+app安装的时间来判断:
public static boolean isNewUser(){
int splashCount = LocalStorageManager.getInt(SharePrefConstant.SPLASH_COUNT, 0);
long firstInstallTime = 0;
try {
PackageInfo info = LionApplication.getInstance().getPackageManager().getPackageInfo(LionApplication.getInstance().getPackageName(), 0);
firstInstallTime = info.firstInstallTime;
} catch (Exception e) {
LogUtil.error(e);
}
if ((firstInstallTime == 0 || DateUtil.isToday(firstInstallTime)) && splashCount <= 1){
return true;
}
return false;
}
其中SharePreConstant.SPLASH_COUNT在启动页中去处理:
int splashCount = LocalStorageManager.getInt(SharePrefConstant.SPLASH_COUNT, 0);
LocalStorageManager.setInt(SharePrefConstant.SPLASH_COUNT, ++splashCount);
这样就能准确的区分出是否是第一安装产品的新用户。