android 新用户判定

 在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);

这样就能准确的区分出是否是第一安装产品的新用户。

你可能感兴趣的:(android)