Xamarin, передача данных между публичным и нативным приложением

Недавно использую Xamarin, не могу понять как правильно передавать данные из нативной части в общую. Например мне нужно сохранить FCM токен. Часть которая отправляет данные на сервер находиться в публичном(общем) проекте, но получаю токен я в нативном андроиде и IOS. Пытался сделать вот так:
Публичный проект:

public interface IFirebaseService
{
    event EventHandler OnNewTokenGet;
}

private IFirebaseService _firebase;
public MainPage()
{
    _firebase = DependencyService.Get<IFirebaseService>();

    _firebase.OnNewTokenGet += _firebase_OnNewTokenGet;

    _api = ServicesCollection.Services.GetService<APIService>();

    InitializeComponent();
}

private async void _firebase_OnNewTokenGet(object sender, EventArgs e)
{
    var test = e as NotificationEventArgs;

    await DisplayAlert("Увага", test.Token, "OK");
}

Андроид приложение:

public class FirebaseService : FirebaseMessagingService, IFirebaseService
{
    public event EventHandler OnNewTokenGet;
    public override void OnNewToken(string token)
    {
        base.OnNewToken(token);

        string str = token;

        NotificationEventArgs args = new NotificationEventArgs
        {
            Token = token
        };

        OnNewTokenGet?.Invoke(null, args);
    }

    
}

Получаю вполне предсказуемую ошибку null reference, так как событие происходить раньше подписчика, если я не ошибаюсь. Дайте пожалуйста "хлебных крошек" куда двигаться, хороший пример.


Ответы (0 шт):