OneSignal Help & Documentation

Welcome to the OneSignal New IA developer hub. You'll find comprehensive guides and documentation to help you start working with OneSignal New IA as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Support

Marmalade SDK Setup

OneSignal Marmalade SDK Setup Guide. Works with iOS, Android (and derivatives like Amazon), and Windows Phone 8.0 & 8.1.

For Developers

Required For Setup

Marmalade 7.8+

To use the latest OneSignal SDK for Marmalade please update to Marmalade 7.8 or later. OneSignal may work on older versions of Marmalade but is not guaranteed.

Setup SDK

Generate Credentials

Before setting up the Marmalade SDK, you must generate the appropriate credentials for the platform(s) you are releasing on:

iOS - Generate an iOS Push Certificate

Android - Generate a Google Server API Key

Amazon - Generate an Amazon API Key

1. Download latest OneSignal SDK

1.1. Download the latest extension.

1.2. Place the s3eOneSignal folder one level up from your project folder.

2. Add the extension to your project

2.1. Open your project's .mkb file and add the following.

subproject ../s3eOneSignal/s3eOneSignal.mkf

  android-extra-strings='(gps_app_id, 999)'  ## required by google-play-services.

  iphone-link-opts="-weak_framework UIKit"


3. Add required code

3.1. Open the .cpp file that contains your int main() function.

3.2. Include s3eOneSignal.h

#include "s3eOneSignal.h"

3.3. Add the following 3 lines to the top of the main function and update them as appropriate (below)

OneSignalInitialize("5eb5a37e-b458-11e3-ac11-000c2940e62c", "703322744261", (OneSignalNotificationReceivedCallbackFn)HandleReceivedNotification, true);
s3eDeviceRegister(S3E_DEVICE_PAUSE, &OneSignalSystemPaused, NULL);
s3eDeviceRegister(S3E_DEVICE_UNPAUSE, &OneSignalSystemResume, NULL);

Update OneSignalInitialize's 1st parameter with your OneSignal App Id, which can be found in Keys & IDs.

Android, Amazon - update the 2nd parameter with your Google Project Number.

iOS, Windows Phone - update the 2nd parameter with NULL.

3.4. Add the following HandleReceivedNotification function above your int main() function and customize to your liking.

static void HandleReceivedNotification(OneSignalNotificationReceivedResult* result, void* userData) {
    char buffer[1024];
    sprintf(buffer, "NOTIFICATION RECIEVED CALLBACK MESSAGE: %s", result->m_Message);
    if (result->m_AdditionalData != NULL) {
        char buffer2[1024];
        sprintf(buffer2, "NOTIFICATION RECIEVED CALLBACK ADDITIONALDATA: %s", result->m_AdditionalData);

4. Android Setup


4.1. Build like normal, no extra setup steps!

4.2. If you are also using the s3eFacebook plugin you will need to follow these additional steps.

5. Amazon Setup


5.1. Open your project's .mkb file and add the following:


5.2. Place your api_key.txt file into <project-folder>/android/assets/. Create the folders if you do not have them yet.

To create an api_key.txt for your app follow our Generate an Amazon API Key

6. iOS Setup


6.1. Build like normal, no extra setup steps!

7. Windows Phone Setup

Windows Phone

7.1. From the Marmalade hub press BUILD then package to create an up to date WMAppManifest.xml release file with some OneSignal settings defaulted in.

7.2. Copy WMAppManifest.xml from build_PROJECTNAME_vc12_wp8toolset\deployments\default\wp8\release\wp8-arm\intermediate_files to the root of your project folder and rename it to ProjectWP8Manifest.xml.

7.3. Open ProjectWP8Manifest.xml and add <Capability Name="ID_CAP_PUSH_NOTIFICATION"/> under <Capabilities>.

7.4. Replace the current <DefaultTask> tag with <DefaultTask Name="_default" NavigationPage="Marmalade.App;component/MainPage.xaml"/>

You're Done!

Next up: Send your first push notification via the OneSignal Dashboard

Marmalade SDK Setup

OneSignal Marmalade SDK Setup Guide. Works with iOS, Android (and derivatives like Amazon), and Windows Phone 8.0 & 8.1.

For Developers