public static IPushServerBuilder AddConfigurationStore(this IPushServerBuilder pushServerBuilder, Action <DbContextOptionsBuilder> ConfigureDbContext) { pushServerBuilder.Services.AddTransient <IPushConfigurationStore, PushConfigurationStore>(); pushServerBuilder.Services.AddDbContext <ConfigurationDbContext>(ConfigureDbContext); return(pushServerBuilder); }
public static IPushServerBuilder AddWebPush(this IPushServerBuilder pushServerBuilder, Action <VapidAuthenticationOptions> configure) { pushServerBuilder.Services.Configure(configure); pushServerBuilder.Services.AddHttpClient(); pushServerBuilder.Services.AddTransient <IWebPushClient, WebPushClientWrapper>(); pushServerBuilder.Services.AddTransient <IPushProviderFactory, WebPushProviderFactory>(); return(pushServerBuilder); }
public static IPushServerBuilder AddFirebase(this IPushServerBuilder pushServerBuilder, Action <FirebaseConfig> configure) { pushServerBuilder.Services.Configure(configure); pushServerBuilder.Services.AddTransient <IPushProviderFactory, FirebasePushProviderFactory>(); pushServerBuilder.Services.AddHttpClient <IFirebaseHttpClient, FirebaseHttpClient>(cl => { cl.BaseAddress = new Uri("https://fcm.googleapis.com/"); }); return(pushServerBuilder); }
public static IPushServerBuilder AddAzureNotificationHub(this IPushServerBuilder pushServerBuilder, Action <AzureNotificationHubConfig> configure) { pushServerBuilder.Services.Configure(configure); pushServerBuilder.Services.AddTransient <IPushProviderFactory, AzureNotificationHubPushProviderFactory>(); return(pushServerBuilder); }