feat: [SDK-5161] expose notification metadata and improve demo coverage - #199
Open
fadi-george wants to merge 9 commits into
Open
feat: [SDK-5161] expose notification metadata and improve demo coverage#199fadi-george wants to merge 9 commits into
fadi-george wants to merge 9 commits into
Conversation
abdulraqeeb33
left a comment
There was a problem hiding this comment.
Approve with nits. Click and display converters now read templateIcon/systemIcon, and Android still uses the 3-arg ctor so Icon is preserved.
- The dict-to-
ActionButtonlookup is pure afterNSObjectToPureDict. A shared helper plus fixtures would lock the original key bug. - Demo still has no action-button send type, and the handlers do not print
ActionButtons. The PNG names (dashboard value without.png) are also unnamed in the README. Fine as a follow-up.
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
fadi-george
force-pushed
the
fadi/sdk-5161
branch
from
September 4, 2026 22:49
257747a to
161c8e4
Compare
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
One Line Summary
Expose complete action-button and raw notification payload data, and make the demos exercise OneSignal-managed Android grouping.
Details
Motivation
The native iOS SDK returns action-button icons as
templateIconorsystemIcon, but the .NET conversion only readicon. The .NET notification model also omitted the nativerawPayloadexposed by Android and iOS.For SDK-5128, Android 16 can automatically group otherwise ungrouped notifications. Tapping that system-generated summary may launch the app without OneSignal click data, so the demos need a deterministic OneSignal-managed group.
Scope
TemplateIconandSystemIconproperties toActionButtonwhile preserving AndroidIconbehavior.Notification.RawPayloadas parsed key/value data on Android and iOS, including notifications nested underGroupedNotifications.template-bookmark-icon.pngandtemplate-share-icon.pngin the demo app and Notification Service Extension.android_group: "demo-group"to every maintained demo that sends remote notifications: the main demo, no-location demo, and local-notification plugin demo.Testing
Unit testing
No unit tests were added because the repository currently has no unit-test project or test runner. Native conversion requires platform notification objects, and grouping summary behavior requires device testing.
Build verification
OneSignalSDK.DotNet.Androidbuilds with zero warnings and errors.OneSignalSDK.DotNet.iOSbuilds with zero warnings and errors.Manual testing
Action-button icons
Sent notifications with blank, template, and system action-button icons and verified:
Iconcontains the configured resource name when provided and is null when blank.TemplateIconis populated;IconandSystemIconare null.SystemIconis populated;IconandTemplateIconare null.Android grouping and raw payload
Sent multiple demo notifications using
demo-group, tapped the group summary, and verified:GroupKeyisdemo-group.GroupedNotificationscontains the grouped notifications.RawPayloadis populated on the summary notification and each grouped notification.Affected code checklist
Checklist
Overview
Testing
Final pass