public static bool UseNotifications <TNotificationDelegate>(this IServiceCollection services, bool requestPermissionImmediately = false, AndroidOptions androidConfig = null, UwpOptions uwpConfig = null) where TNotificationDelegate : class, INotificationDelegate => services.UseNotifications( typeof(TNotificationDelegate), requestPermissionImmediately, androidConfig, uwpConfig );
public static bool UseNotifications(this IServiceCollection services, bool requestPermissionImmediately = false, AndroidOptions androidConfig = null, UwpOptions uwpConfig = null) { #if NETSTANDARD return(false); #else services.RegisterModule(new NotificationModule(null, requestPermissionImmediately, androidConfig, uwpConfig)); return(true); #endif }
public static bool UseNotifications(this IServiceCollection builder, bool requestPermissionImmediately = false, Action <AndroidOptions> androidConfigure = null, Action <UwpOptions> uwpConfigure = null) { #if NETSTANDARD return(false); #else if (androidConfigure != null) { var androidOpts = new AndroidOptions(); androidConfigure(androidOpts); AndroidOptions.DefaultChannel = androidOpts.ChannelDescription ?? AndroidOptions.DefaultChannel; AndroidOptions.DefaultChannelDescription = androidOpts.ChannelDescription ?? AndroidOptions.DefaultChannelDescription; AndroidOptions.DefaultChannelId = androidOpts.ChannelId ?? AndroidOptions.DefaultChannelId; AndroidOptions.DefaultNotificationImportance = androidOpts.NotificationImportance; AndroidOptions.DefaultLaunchActivityFlags = androidOpts.LaunchActivityFlags; AndroidOptions.DefaultVibrate = androidOpts.Vibrate; AndroidOptions.DefaultSmallIconResourceName = androidOpts.SmallIconResourceName ?? AndroidOptions.DefaultSmallIconResourceName; } if (uwpConfigure != null) { var uwpOpts = new UwpOptions(); uwpConfigure(uwpOpts); UwpOptions.DefaultUseLongDuration = uwpOpts.UseLongDuration; } #if __ANDROID__ builder.AddSingleton <AndroidNotificationProcessor>(); #endif #if __ANDROID__ || WINDOWS_UWP builder.RegisterJob(new Jobs.JobInfo { Identifier = nameof(NotificationJob), Type = typeof(NotificationJob), Repeat = true }); #endif if (requestPermissionImmediately) { builder.RegisterPostBuildAction(async sp => await sp .GetService <INotificationManager>() .RequestAccess() ); } builder.AddSingleton <INotificationManager, NotificationManager>(); return(true); #endif }
public static bool UseNotifications <TNotificationDelegate>(this IServiceCollection builder, bool requestPermissionImmediately = false, AndroidOptions androidConfig = null, UwpOptions uwpConfig = null) where TNotificationDelegate : class, INotificationDelegate { #if NETSTANDARD return(false); #else builder.RegisterModule(new NotificationModule(requestPermissionImmediately, androidConfig, uwpConfig)); builder.AddSingleton <INotificationDelegate, TNotificationDelegate>(); return(true); #endif }