Home

Awesome

Xamarin.Essentials

Xamarin.Essentials will have this functionallity, please take a look at it. But we will continue to maintain TinyAccountMananger for thoose who use it. https://docs.microsoft.com/en-us/xamarin/essentials/

TinyAccountManager

Account manager for Xamarin and UWP. Store account information in your app in a secure way.

Build status

PlatformStatus
iOS<img src="https://io2gamelabs.visualstudio.com/_apis/public/build/definitions/be16d002-5786-41a1-bf3b-3e13d5e80aa0/11/badge" />
Android<img src="https://io2gamelabs.visualstudio.com/_apis/public/build/definitions/be16d002-5786-41a1-bf3b-3e13d5e80aa0/12/badge" />
UWP<img src="https://io2gamelabs.visualstudio.com/_apis/public/build/definitions/be16d002-5786-41a1-bf3b-3e13d5e80aa0/10/badge" />

Get started

This is as short guide how to get started using TinyAccountManager.

How to install

The easiest way is to install the package from NuGet:

Install-Package TinyAccountManager

You should install it on all your platform project and if you have other projects in your solution where you want to access it, you should install it there as well.

How to use

Here is a small get started guide, there are also a sample project if you take a look in the src folder.

Initialization

The first you need to do is to initialize the AccountManager per platform.

//iOS
TinyAccountManager.iOS.AccountManager.Initialize();

//Android
TinyAccountManager.Droid.AccountManager.Initialize();

//UWP
TinyAccountManager.UWP.AccountManager.Initialize();

Save

The only filed that are required is ServiceId.

var account = new Account()
{
    ServiceId = "TinyAccountManagerSample",
    Username = "dhindrik"
};

account.Properties.Add("Password", "MySecretPassword");

await AccountMananger.Current.Save(account);

Get and Exists

It's recommended that you use Exists before Get, if you using Get and there is no matching account it will throw an exception.

Account account = null;

var exists = await AccountManager.Current.Exists("TinyAccountManagerSample")

if(exists)
  account = await AccountManager.Current.Get("TinyAccountManagerSample")

Remove

await AccountManager.Current.Remove("TinyAccountManagerSample")

IOC

If you want to use IOC instead of the singleton pattern, you just register the implemenation for each platform with the IAccountManager interface. If you select this way you don't have to run Initialize on each platform

iOS: iOSAccountManager

Android: AndroidAccountManager

UWP: UWPAccountManager