示例#1
0
        private static DependencyStatus CheckDependenciesInternal()
        {
            if (!PlatformInformation.IsAndroid || FirebaseApp.GetInstance(FirebaseApp.DefaultName) != null)
            {
                return(DependencyStatus.Available);
            }
            InitResult  initResult  = InitResult.Success;
            FirebaseApp firebaseApp = null;

            try
            {
                firebaseApp = FirebaseApp.DefaultInstance;
            }
            catch (InitializationException ex)
            {
                initResult = ex.InitResult;
                if (initResult != InitResult.FailedMissingDependency)
                {
                    throw ex;
                }
            }
            finally
            {
                if (firebaseApp != null)
                {
                    firebaseApp.Dispose();
                }
            }
            switch (AppUtil.CheckAndroidDependencies())
            {
            case GooglePlayServicesAvailability.AvailabilityAvailable:
                return(DependencyStatus.Available);

            case GooglePlayServicesAvailability.AvailabilityUnavailableDisabled:
                return(DependencyStatus.UnavailableDisabled);

            case GooglePlayServicesAvailability.AvailabilityUnavailableInvalid:
                return(DependencyStatus.UnavailableInvalid);

            case GooglePlayServicesAvailability.AvailabilityUnavailableMissing:
                return(DependencyStatus.UnavilableMissing);

            case GooglePlayServicesAvailability.AvailabilityUnavailablePermissions:
                return(DependencyStatus.UnavailablePermission);

            case GooglePlayServicesAvailability.AvailabilityUnavailableUpdateRequired:
                return(DependencyStatus.UnavailableUpdaterequired);

            case GooglePlayServicesAvailability.AvailabilityUnavailableUpdating:
                return(DependencyStatus.UnavailableUpdating);

            case GooglePlayServicesAvailability.AvailabilityUnavailableOther:
                return(DependencyStatus.UnavailableOther);

            default:
                return((initResult != InitResult.Success) ? DependencyStatus.UnavailableOther : DependencyStatus.Available);
            }
        }
示例#2
0
 public static FirebaseApp Create(AppOptions options)
 {
     return(FirebaseApp.CreateAndTrack(() => FirebaseApp.CreateInternal(options.ConvertToInternal()), FirebaseApp.GetInstance(FirebaseApp.DefaultName)));
 }
示例#3
0
 public static FirebaseApp Create(AppOptions options, string name)
 {
     return(FirebaseApp.CreateAndTrack(() => FirebaseApp.CreateInternal(options.ConvertToInternal(), name), FirebaseApp.GetInstance(name)));
 }
示例#4
0
 public static FirebaseApp Create()
 {
     return(FirebaseApp.CreateAndTrack(() => FirebaseApp.CreateInternal(), FirebaseApp.GetInstance(FirebaseApp.DefaultName)));
 }