Introducing AI Conversations: Natural Language Interaction for Your Apps! Learn More
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; }#elif WINDOWS public async Task<string> Register(string nativeToken) { // nativeToken is the WNS channel URI var providerToken = await MyBackend.RegisterToken(nativeToken); return providerToken; }#endif
public async Task UnRegister() { await MyBackend.UnregisterToken(); }}Registration
Section titled “Registration”services.AddPush<MyPushDelegate>();services.AddShinyService<MyPushProvider>();