Skip to content

Push Notifications Releases

Enhancement iOS
You can now IFDEF IOS to get an AppleNotification that contains the raw NSDictionary
Enhancement
Azure Notification Hubs now allow template registrations
  • Fix Android
    OnEntry intent action was not being defaulted if not set
  • Enhancement Android
    OnReceived now sends an AndroidPushNotification which gives you access to the native message as well as helper methods to send the notification if in the foreground
public class MyPushDelegate : IPushDelegate
{
public void OnReceived(PushNotification notification)
{
#if ANDROID
var android = (AndroidPushNotification)notification;
// android.NativeMessage;
var builder = android.CreateNotificationBuilder();
android.SendNotification(1, builder);
#endif
}
}
  • Enhancement Android
    Ability to set a custom push intent instead of the Shiny static string
  • Enhancement
    Ensure OnRegistered is always called
  • Fix Android
    IPushDelegate.OnRegistered was being called twice during IPushManager.RequestAccess calls
  • Fix Android
    IPushDelegate.OnRegistered was not passing provider token
  • BREAKING Enhancement
    PushDelegate now contains an OnUnRegistered event
  • BREAKING Enhancement
    PushDelegate.OnTokenRefreshed has been renamed to OnNewToken to be more concise as to its purpose
  • Enhancement Android
    Firebase will not attempt to initialize if it done by other libraries like Firebase Crashlytics
  • Enhancement
    Microsoft.Azure.NotificationHubs updated to 4.2.0 for FCMv1 parameter which is set as default now
  • Enhancement
    IPushManager now access NativeRegistrationToken which is useful for debugging purposes
  • Enhancement iOS
    IPushManager.RequestAccess now return AccessState.Unsupported on the simulator instead of letting an exception be thrown
  • Enhancement
    Old extensions for tags added back to IPushManager
  • Enhancement Android
    Ability to configure intent action during registration
Enhancement iOS
IPushDelegate can now add IApplePushDelegate on Apple platforms to manage certain specific return values (UIBackgroundFetchResult & UIPresentationOptions) - Example below
Fix Android
OnEntry now responds to OnCreate for new activities
#if IOS
using UIKit;
using UserNotifications;
#endif
public partial class MyPushDelegate : Shiny.Push.IPushDelegate
{
// .. left empty for brevity
}
#if IOS
public partial class MyPushDelegate : Shiny.Push.IApplePushDelegate
{
// this is executed only in the foreground
public UNNotificationPresentationOptions? GetPresentationOptions(PushNotification notification)
{
return UNNotificationPresentationOptions.Alert;
}
// executed for all content-available notifications
public UIBackgroundFetchResult? GetFetchResult(PushNotification notification)
{
return UIBackgroundFetchResult.NewData;
}
}
#endif
Fix iOS
Provider push token is now returned by PushManager.RequestAccess instead of native token
Enhancement Android
Android 13 Support for new POST_NOTIFICATION permissions
Enhancement
Now works on new xplat lifecycle management from Core
Enhancement
Internally rewritten to make architecture easier going forward - firebase, azure, etc all become plugins on top of native instead of full implementations