Xam.Plugin.Once
1.0.0-CI00001
See the version list below for details.
dotnet add package Xam.Plugin.Once --version 1.0.0-CI00001
NuGet\Install-Package Xam.Plugin.Once -Version 1.0.0-CI00001
<PackageReference Include="Xam.Plugin.Once" Version="1.0.0-CI00001" />
paket add Xam.Plugin.Once --version 1.0.0-CI00001
#r "nuget: Xam.Plugin.Once, 1.0.0-CI00001"
// Install Xam.Plugin.Once as a Cake Addin #addin nuget:?package=Xam.Plugin.Once&version=1.0.0-CI00001&prerelease // Install Xam.Plugin.Once as a Cake Tool #tool nuget:?package=Xam.Plugin.Once&version=1.0.0-CI00001&prerelease
Just a nice and library that allows you to do something once for your Xamarin Forms project.
!!This was inspired by the Once library for Android made by jonfinerty!! https://github.com/jonfinerty/Once
Some things should happen once.
- Users should only get the guided tour once.
- Release notes should only pop up once every app upgrade.
- Your app should only phone home to update content once every hour.
Once
provides a simple API to track whether or not your app has already performed an action within a given scope.
Setup
- Available on Nuget: https://www.nuget.org/packages/Xam.Plugin.Once
!!Install into your .net standard Forms project. !!
Usage
Here are some examples on how to use Once for Xamarin Forms:
- Only run the app intro once
Once.Instance.RunWhen(SHOW_APP_INTRO, new Command(() => UserDialogs.Instance.Toast("Show app intro")));
- Only show a survey every 30 days for the first time, then after 90 days
if(Once.Instance.LastRunAt(SHOW_SURVEY) == null)
Once.Instance.RunWhen(SHOW_SURVEY, new Command(() => UserDialogs.Instance.Toast("Show app survey")), 30);
else
Once.Instance.RunWhen(SHOW_SURVEY, new Command(() => UserDialogs.Instance.Toast("Show app survey")), 90);
- // just to check if we need to show the app intro
_ = Once.Instance.NeedsToRun(SHOW_APP_INTRO);
- // Mark a task to done
Once.Instance.MarkRunAsDone(SHOW_APP_CHANGELOG);
(see sample project for more info)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Newtonsoft.Json (>= 12.0.3)
- Xamarin.Essentials (>= 1.4.0)
- Xamarin.Forms (>= 4.4.0.991757)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.3 | 501 | 1/7/2021 |
1.0.2 | 594 | 3/31/2020 |
1.0.1 | 495 | 3/27/2020 |
1.0.0 | 467 | 3/20/2020 |
1.0.0-CI00001 | 354 | 3/20/2020 |