Native
Overview
Section titled “Overview”The default provider uses Firebase on Android and APNs on iOS directly. No additional NuGet package is needed beyond Shiny.Push.
services.AddPush<MyPushDelegate>();Firebase Messaging
Section titled “Firebase Messaging”Firebase Cloud Messaging can be used as a unified provider across both platforms.
NuGet: Shiny.Push.FirebaseMessaging
// Auto-config from google-services.jsonservices.AddPushFirebaseMessaging<MyPushDelegate>();Custom Provider
Section titled “Custom Provider”Create your own push provider by implementing IPushProvider.
public class MyPushProvider : IPushProvider{#if ANDROID public async Task<string> Register(string nativeToken) { // Register with your backend, return your provider token var providerToken = await MyBackend.RegisterToken(nativeToken); return providerToken; }#elif IOS public async Task<string> Register(NSData nativeToken) { var tokenString = nativeToken.ToPushTokenString(); var providerToken = await MyBackend.RegisterToken(tokenString); return providerToken; }#endif
public async Task UnRegister() { await MyBackend.UnregisterToken(); }}Registration
Section titled “Registration”services.AddPush<MyPushDelegate>();services.AddShinyService<MyPushProvider>();