Give us feedback
onesignal-api-ext
Mobile icon

OneSignal API Ext

Stable version 1.1.4 (Compatible with OutSystems 11)
Published on 25 Apr by 
5.0
 (1 rating)
onesignal-api-ext

OneSignal API Ext

Documentation
1.1.1

Original SendPushNotificationToUserid cannot be extended since it read private entity inside original OneSignalAPI.

So I 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.


How to use Android Notification Channel:
1. Read this: https://documentation.onesignal.com/docs/android-notification-categories
2. And this for sound: https://documentation.onesignal.com/docs/customize-notification-sounds
3. Create your notification group and channel via OneSignal Dashboard -> Setting -> Messaging

4.Set the channel, set sound to custom sound file name if you want (without file extension)
5. Copy the channel id

6. In the SendPushNotification action, pass this channel id.

7. Include sound file (wav, mp3, ogg) in the APK folder /res/raw
For this, you need a dummy cordova android plugin, you can found it here:
https://www.outsystems.com/forums/discussion/23123/add-drawable-icons-to-mobile-application/

Find attachment file: dummy-android-plugin.zip

Extract it, create sound folder, copy your sound file to sound folder.

Edit plugin.xml and these line after other resource-file tag.


<resource-file src="sound/pushsound.ogg" target="res/raw/pushsound.ogg" />


Zip it back, remember your zip must contain a folder that has all the files.

Import zip file to Service Studio -> Data -> Resources

Set Extensibility Configuration to include the resource as plugin.

{


    "plugin": {

        "resource": "/PushNotificationIcons"

    },

    "resource": "PushNotificationIcons.zip"

}


The resource inside plugin tag is the folder name inside the zip file

The resource below plugin tag is the name of resource in Service Studio -> Data -> Resource


Above step can also be used to create push notification small_icon for OneSignal.

Read about small_icon customization here:

https://www.outsystems.com/forums/discussion/36246/one-signal-notification-icon/



1.1.0

Original SendPushNotificationToUserid cannot be extended since it read private entity inside original OneSignalAPI.

So I 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

5. Call RemoveExternalUserId client action on Logout, before calling OneSignal Plugin's Unregister

6. Use SendPushNotificationToUserid or other methods.