Designed to extend part of OneSignalAPI module of the official OneSignal Plugin.
Extended Features:
https://documentation.onesignal.com/docs/android-customizations
Original author mostly only extend Android functionality because they only had an Android device.
Limitation:
Original SendPushNotificationToUserid cannot be extended since it read private entity inside original OneSignalAPI.
So we change the method by using OneSignal's external user id feature to implement SendPushNotificationToUserid.
How to use:
1. Uncheck dependencies from original OneSignalAPI (All PushNotifications folder)
2. Add dependency from OneSignalAPI_Ext
3. Do the usual OneSignal Plugin configuration
4. Call SetExternalUserId client action after calling RegisterWithUser, it will set external user id in OneSignal
Set AsyncRegistration = false in RegisterWithUser, to make sure registration already finished before calling SetExternalUserId
5. Call RemoveExternalUserId client action on Logout, before calling OneSignal Plugin's Unregister
6. Use SendPushNotificationToUserid or other methods.
Bug fix only for GetPushNotificationStatus to bypass the JSON conversions in OnBeforeRequest.