Recents
HowTo: Push Notifications Using OneSignalUnofficial Content
Note: This document applies for GeneXus 15 Upgrade 3. Those developers who use previous upgrades must download the PushInterop framework for GeneXus 15 and follow the instructions of GeneXus X Evolution 3 (see the previous version of this document). It is highly recommended to migrate your implementation for use this new mechanism.

OneSignal is a provider that allows sending Push Notifications to iOS and Android devices on any platform.

Advantages:

  • Infinite scalability (to send thousands of notifications per second)
  • Free
  • Control panel for managing users and send notifications
  • No own infrastructure needed for Push
  • Independence from Push Platforms

Requirements:

  • Registration required in OneSignal.com and additional configuration for Android and iOS.

Read Also:

OneSignal Configuration

The developer must follow the steps described below.

  1. Refer to HowTo: Get App ID and REST API Key from OneSignal to create an application and get the credentials for your app.
  2. Set the Notification Provider property in OneSignal and set its respective properties with the credentials gotten in the previous step.
    i2017_02_23_14_47_285_png
  3. In the Main object turn on the Enable notifications property.

 

Send notifications

GeneXus provides a built-in API for sending notifications. Please refer to Notification Provider API.

 

Error Codes

  • 1: Unkown error. See Error Description for more details.
  • 3: OneSignal Object ID is required: Method parameter "OneSignal Object ID" (Provider DeviceId) was not set. 
  • 4: iOS invalid device token: Device Token specified is not valid.
  • 5: "GCMSenderId is required". GCMSenderId must be specified in OneSignalPush Config. 
  • 6: Device Token is required. 
  • 7: No channels specified. At least 1 channel must be set. 
  • 10: "Application ID parameter is Required": ApplicationId must be specified in OneSignalPush Config. 
  • 11: "REST API Key parameter is Required": RestAPIKey must be specified in OneSignalPush Config. 
  • 112: Invalid Channel Name: Error code indicating an invalid channel name. A channel name is either an empty string (the broadcast channel) or contains only a-zA-Z0-9_* characters and starts with a letter
  • 114: Invalid Device Token
  • 140: Exceeded_Quota: Error code indicating that an application quota was exceeded.

 

Troubleshooting

  • In App Settings - Google Android "Mismatch SenderId".
    Please check that the  "Android Sender ID" property value (within Main SD app) is correct.  Check this tutorial just in case.