From ee5b818d3d4dcbfecdb610cc97e4cd239790abbd Mon Sep 17 00:00:00 2001 From: Fadi George Date: Mon, 6 Apr 2026 15:19:18 -0700 Subject: [PATCH 01/11] feat(live-activities): deprecate Exit method --- OneSignalSDK.DotNet.Android/AndroidLiveActivitiesManager.cs | 1 + OneSignalSDK.DotNet.Core/LiveActivities/ILiveActivities.cs | 1 + OneSignalSDK.DotNet.iOS/iOSLiveActivitiesManager.cs | 1 + 3 files changed, 3 insertions(+) diff --git a/OneSignalSDK.DotNet.Android/AndroidLiveActivitiesManager.cs b/OneSignalSDK.DotNet.Android/AndroidLiveActivitiesManager.cs index b63a9506..0366fdad 100644 --- a/OneSignalSDK.DotNet.Android/AndroidLiveActivitiesManager.cs +++ b/OneSignalSDK.DotNet.Android/AndroidLiveActivitiesManager.cs @@ -14,6 +14,7 @@ public Task Enter(string activityId, string token) return Task.FromResult(false); } + [Obsolete("Currently unsupported, avoid using this method.")] public Task Exit(string activityId) { Console.WriteLine("OneSignal: ExitLiveActivity is available on iOS only"); diff --git a/OneSignalSDK.DotNet.Core/LiveActivities/ILiveActivities.cs b/OneSignalSDK.DotNet.Core/LiveActivities/ILiveActivities.cs index 089ada29..427b79c2 100644 --- a/OneSignalSDK.DotNet.Core/LiveActivities/ILiveActivities.cs +++ b/OneSignalSDK.DotNet.Core/LiveActivities/ILiveActivities.cs @@ -19,6 +19,7 @@ public interface ILiveActivitiesManager /// /// The (app-provided) ID of the activity that is being exited. /// Awaitable boolean of whether the operation succeeded or failed + [Obsolete("Currently unsupported, avoid using this method.")] Task Exit(string activityId); /// diff --git a/OneSignalSDK.DotNet.iOS/iOSLiveActivitiesManager.cs b/OneSignalSDK.DotNet.iOS/iOSLiveActivitiesManager.cs index 7290cca4..1b63aca1 100644 --- a/OneSignalSDK.DotNet.iOS/iOSLiveActivitiesManager.cs +++ b/OneSignalSDK.DotNet.iOS/iOSLiveActivitiesManager.cs @@ -22,6 +22,7 @@ public async Task Enter(string activityId, string token) return await proxy; } + [Obsolete("Currently unsupported, avoid using this method.")] public async Task Exit(string activityId) { BooleanCallbackProxy proxy = new BooleanCallbackProxy(); From 078ff3ac7f7d0d482dd966212526b72c611dec13 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Mon, 6 Apr 2026 15:41:35 -0700 Subject: [PATCH 02/11] feat(live-activities): add iOS Live Activities demo --- .gitignore | 3 + examples/demo/.env.example | 1 + .../Sections/LiveActivitiesSection.xaml | 97 ++++++++++++ .../Sections/LiveActivitiesSection.xaml.cs | 76 ++++++++++ examples/demo/MauiProgram.cs | 11 ++ examples/demo/OneSignalWidget/Info.plist | 13 ++ .../OneSignalWidgetBundle.swift | 11 ++ .../OneSignalWidgetLiveActivity.swift | 142 ++++++++++++++++++ examples/demo/Pages/MainPage.xaml | 7 +- examples/demo/Pages/MainPage.xaml.cs | 6 + examples/demo/Pages/SecondaryPage.xaml | 4 +- examples/demo/Platforms/iOS/Info.plist | 2 + .../demo/Repositories/OneSignalRepository.cs | 18 +++ examples/demo/Services/OneSignalApiService.cs | 60 ++++++++ examples/demo/ViewModels/AppViewModel.cs | 129 ++++++++++++++++ examples/demo/demo.csproj | 2 + 16 files changed, 577 insertions(+), 5 deletions(-) create mode 100644 examples/demo/.env.example create mode 100644 examples/demo/Controls/Sections/LiveActivitiesSection.xaml create mode 100644 examples/demo/Controls/Sections/LiveActivitiesSection.xaml.cs create mode 100644 examples/demo/OneSignalWidget/Info.plist create mode 100644 examples/demo/OneSignalWidget/OneSignalWidgetBundle.swift create mode 100644 examples/demo/OneSignalWidget/OneSignalWidgetLiveActivity.swift diff --git a/.gitignore b/.gitignore index 327a1dd2..fc5849df 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,6 @@ Thumbs.db # dotCover *.dotCover + +# Environment files +.env diff --git a/examples/demo/.env.example b/examples/demo/.env.example new file mode 100644 index 00000000..674a938f --- /dev/null +++ b/examples/demo/.env.example @@ -0,0 +1 @@ +ONESIGNAL_API_KEY=your_rest_api_key diff --git a/examples/demo/Controls/Sections/LiveActivitiesSection.xaml b/examples/demo/Controls/Sections/LiveActivitiesSection.xaml new file mode 100644 index 00000000..b08979a8 --- /dev/null +++ b/examples/demo/Controls/Sections/LiveActivitiesSection.xaml @@ -0,0 +1,97 @@ + + + + + + + + + + + + + + + + +