You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native(含Expo环境)如何获取用户安装应用的日期?

解决方案

Expo 没有内置的专用于获取应用安装日期的独立模块,但可以通过以下两种成熟方案实现需求:

方案1:使用官方维护的 expo-application 库直接获取安装时间

这个库是Expo官方生态的原生能力封装模块,无需修改原生配置即可直接调用,支持Expo Go环境调试。

  • 安装依赖
    npx expo install expo-application
  • 调用示例
import * as Application from 'expo-application';

// 直接返回应用安装时间的Date对象
const appInstallDate = Application.installationTime;
console.log('应用安装日期:', appInstallDate.toLocaleDateString());

注意:该时间会在用户覆盖安装/更新应用时刷新为最新的安装时间,无法获取用户首次安装的原始日期。

方案2:本地持久化存储记录首次启动时间

如果需要保留用户首次安装启动的时间,不受应用更新影响,可以通过本地存储实现:

  • 逻辑说明:应用首次启动时将当前时间写入持久化存储,后续启动直接读取存储的值即可
  • 安装依赖(以expo-secure-store为例,也可替换为AsyncStorage等其他本地存储方案)
    npx expo install expo-secure-store
  • 调用示例
import * as SecureStore from 'expo-secure-store';

const getFirstInstallTime = async () => {
  const savedTime = await SecureStore.getItemAsync('first_install_timestamp');
  if (savedTime) {
    return new Date(Number(savedTime));
  }
  // 首次启动,写入当前时间戳
  const currentTime = Date.now();
  await SecureStore.setItemAsync('first_install_timestamp', String(currentTime));
  return new Date(currentTime);
};

// 调用方法获取首次安装时间
getFirstInstallTime().then(date => {
  console.log('首次安装启动时间:', date.toLocaleString());
});

注意:该方案会在用户卸载重装应用时清空存储的时间,若需要跨卸载重装保留数据,可将用户唯一标识和对应首次安装时间同步存储到自有后端。


内容的提问来源于stack exchange,提问作者NQQ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:12:08