public virtual async void OnReceive(Context context, Intent intent)
        {
            NotificationBroadcastReceiver broadcastReceiver = this;

            if (context == null || intent == null || !(intent.get_Action() == "OpenNotification"))
            {
                return;
            }
            await MvvmCrossHelper.Init(context);

            bool isNewTaskRequired = broadcastReceiver.IsContextIsService(context);

            if (MainActivity.instance == null)
            {
                broadcastReceiver.StartNewMainActivity(context, isNewTaskRequired, intent);
            }
            else if (CrossCurrentActivity.get_Current().get_Activity() == null)
            {
                broadcastReceiver.StartNewMainActivity(context, isNewTaskRequired, intent);
                ((IMvxMessenger)Mvx.get_IoCProvider().Resolve <IMvxMessenger>()).Publish <DelayedOpenNotificationMessage>((M0) new DelayedOpenNotificationMessage((object)broadcastReceiver, NotificationBroadcastReceiver.CreatePushMessageBundle(intent.get_Extras())));
            }
            else
            {
                await broadcastReceiver.NavigateToRootPage();

                ((IMvxMessenger)Mvx.get_IoCProvider().Resolve <IMvxMessenger>()).Publish <DelayedOpenNotificationMessage>((M0) new DelayedOpenNotificationMessage((object)broadcastReceiver, NotificationBroadcastReceiver.CreatePushMessageBundle(intent.get_Extras())));
            }
        }
        private async Task Init()
        {
            FirebaseIdService firebaseIdService = this;
            await MvvmCrossHelper.Init((Context)firebaseIdService);

            if (!Mvx.get_IoCProvider().CanResolve <IPushNotificationService>())
            {
                return;
            }
            firebaseIdService._pushNotificationService = (IPushNotificationService)Mvx.get_IoCProvider().Resolve <IPushNotificationService>();
        }