This is a fork of Julian Aßmann's package

A simple package to check if it is the first time the app runs.

Internally it uses the shared_preferences and package_info_plus plugins.

Getting Started

To use this plugin, add is_first_run_plus as a dependency in your pubspec.yaml file.


import is_first_run_plus.dart:

import 'package:is_first_run_plus/is_first_run_plus.dart';

To check if this is the first time the app is run:

bool firstRun = await IsFirstRun.isFirstRun();

If it is the first call of this method since installing the app, the method will return true for as long as the app keeps running.After a restart of the app it returns false.

There is also a method that allows you to check if it is the first time you call it:

bool firstCall = await IsFirstRun.isFirstCall();

Calling this function for the first time after installing the app returns true, after that every function call returns false.

You can do the same calls with a build number parameter if you are interested in whether this is the first time using the app since a particular version:

bool firstCallSinceBuild66 = await IsFirstRun.isFirstCallSince(build: 66);
bool firstRunSinceBuild66 = await IsFirstRun.isFirstRunSince(build: 66);

You can reset the plugin by calling

await IsFirstRun.reset();

After calling reset(), calling isFirstRun() will return true as long as the app is running. After a restart, it will return false again. The first call of isFirstCall() will return true, subsequent calls will return false again.


The example is a simple page showing you the result of the function IsFirstRun.isFirstRun(). A button allows you to call IsFirstRun.isFirstRun() again, the reset button calls IsFirstRun.reset().


Pull requests are always very welcome.