Skip to content

feat: add custom events support#153

Merged
fadi-george merged 3 commits intomainfrom
fg/custom-events
Feb 9, 2026
Merged

feat: add custom events support#153
fadi-george merged 3 commits intomainfrom
fg/custom-events

Conversation

@fadi-george
Copy link
Copy Markdown
Contributor

@fadi-george fadi-george commented Feb 3, 2026

Description

One Line Summary

  • adds custom events support for the dotnet sdk

Dashboard Logs

Screenshot 2026-02-02 at 3 34 19 PM Screenshot 2026-02-02 at 3 16 02 PM

Example Apps

Screenshot 2026-02-02 at 3 39 32 PM Screenshot 2026-02-02 at 3 39 00 PM

Details

  • updates onesignal ios sdk version to 5.4.0 (has custom events)
  • updates onesignal android sdk version to 5.6.1 (has custom events + null value for properties support)
  • updates bindings to require dotnet 10 with End of Life in 2028 vs 2026 for dotnet 8/9
  • adds trackEvent method support in iOSUserManager.cs and AndroidUserManager.cs
  • adds dictionary to java hashmap help in ToNativeConversion as java side expects a map type
  • updates sample apps to have new Track Event button for testing the custom events logic

Motivation

Want to add custom events support for all the SDKs.

Manual testing

See screenshot of the dashboard custom events log. Has all the complex property values (for ios and android) and with/without props.

Affected code checklist

  • Notifications
    • Display
    • Open
    • Push Processing
    • Confirm Deliveries
  • Outcomes
  • Sessions
  • In-App Messaging
  • REST API requests
  • Public API changes

Checklist

Overview

  • I have filled out all REQUIRED sections above
  • PR does one thing
    • If it is hard to explain how any codes changes are related to each other then it most likely needs to be more than one PR
  • Any Public API changes are explained in the PR details and conform to existing APIs

Testing

  • I have included test coverage for these changes, or explained why they are not needed
  • All automated tests pass, or I explained why that is not possible
  • I have personally tested this on my device, or explained why that is not possible

Final pass

  • Code is as readable as possible.
    • Simplify with less code, followed by splitting up code into well named functions and variables, followed by adding comments to the code.
  • I have reviewed this PR myself, ensuring it meets each checklist item
    • WIP (Work In Progress) is ok, but explain what is still in progress and what you would like feedback on. Start the PR title with "WIP" to indicate this.

@fadi-george fadi-george requested a review from jkasten2 February 3, 2026 00:50
@claude
Copy link
Copy Markdown

claude Bot commented Feb 3, 2026

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Copy link
Copy Markdown

@abdulraqeeb33 abdulraqeeb33 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few questions

<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<TargetFrameworks>net7.0-android</TargetFrameworks>
<TargetFrameworks>net8.0-android;net9.0-android;net10.0-android</TargetFrameworks>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it safe the upgrade the framework like this?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm, but whats the impact of upgrading? would customers need to do anything on their side?

Copy link
Copy Markdown
Contributor Author

@fadi-george fadi-george Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I expect developers to use dotnet8 (have it installed) or later which should be the case since 7 is EoL

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Josh said it doesn't need to be a breaking change.

Comment thread OneSignalSDK.DotNet.Core/OneSignalSDK.DotNet.Core.csproj
Comment thread Directory.Build.props
Copy link
Copy Markdown

@abdulraqeeb33 abdulraqeeb33 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me at a high level

@fadi-george fadi-george merged commit 97535e2 into main Feb 9, 2026
15 checks passed
@fadi-george fadi-george deleted the fg/custom-events branch February 9, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants