Application Configurations

Application Configurations exist under applications. See Application API for more details.

Application configurations add support for features such as Facebook SSO, Firebase push notifications, and Android and iOS IAPs. Application configurations are created and configured from inside the Application editor in the console.

Adding an Application Configuration

In the Applications section of the admin console, after having added an application, you are able to add application configurations to that application.

  1. Edit the chosen Application
  2. In the Application Editor, tap the "Add..." button to open the drop down menu
  3. Select the desired application configuration type

Add Application Configuration

Facebook Application Configuration

In order to set up a Facebook application, you need to have created the application in the Facebook Developer Portal.

Paste in the Application ID and Application Secret from the Facebook Developer Portal and save the configuration.

FBPanelExample

JSON Structure of Facebook Application Configuration

{
    "_id" : ObjectId("5cdb109ce96c3c4f2bfe1ecd"),
    "active" : true,
    "category" : "FACEBOOK",
    "name" : "appIdFromFacebookGoesHere",
    "parent" : {
        "$ref" : "application",
        "$id" : ObjectId("5cdb1088e96c3c4f2bfe1da7")
    },
    "applicationSecret" : "thisistheapplicationsecret"
}

Firebase Application Configuration

The Firebase application configuration is used to give your Elements application access to Firebase push notifications for iOS and Android apps.

  1. You will need to create a project on the Firebase console.
  2. Set up your app for iOS and/or Android in your firebase project. You may need to follow additional steps such as configuring your APNs key in Firebase. Refer to the Firebase documentation to get all of this set up.
  3. Inside the project settings, go to Service Accounts. Under Firebase Admin SDK, and generate a new private key. This will generate a key that you will download. Keep this key in a secure place as it cannot be retrieved.

When you set up a Firebase application configuration in Elements, you will need the Firebase Project ID and the private key from the above steps.

  1. Edit an application in Elements
  2. Add an Application configuration in the Application Editor, as seen here (or edit an existing one) select "Firebase."
  3. Enter the needed info and save with the "OK" button.

Firebase Configuration

There will also be a server-side lua scripting component and a client-side component to getting notifications running, but those will be covered elsewhere in this documentation.

JSON Structure of Firebase Application Configuration

{
    "_id" : ObjectId("5cdb10c1e96c3c4f2bfe21f7"),
    "active" : true,
    "category" : "FIREBASE",
    "name" : "nameOfApplicationInFirebaseConsole",
    "parent" : {
        "$ref" : "application",
        "$id" : ObjectId("5cdb1088e96c3c4f2bfe1da7")
    },
    "serviceAccountCredentials" : "service account credentials from firebase console go here"
}

Amazon GameOn Application Configuration

Amazon GameOn is supported as a means to run tournaments, with digital goods prizes.

Set up your application on GameOn, then when making the application configuration in Elements, you'll need the ID, public API key, and admin API key from Amazon.

  1. Edit an application in Elements
  2. Add an Application configuration in the Application Editor, as seen here (or edit an existing one) and select "Add Amazon GameOn."
  3. Enter the needed info and save with the "OK" button.

Firebase Configuration

Running the tournaments will require client-side and server-side lua code. This will be documented elsewhere.

JSON Structure of Amazon GameOn Application Configuration

{
    "_id" : ObjectId("5cdb1177e96c3c4f2bfe26b3"),
    "active" : true,
    "category" : "AMAZON_GAME_ON",
    "name" : "IdFromAmazonGameOnGoesHere",
    "parent" : {
        "$ref" : "application",
        "$id" : ObjectId("5cdb1088e96c3c4f2bfe1da7")
    },
    "publicApiKey" : "GameOnPublicApiKeyGoesHere",
    "adminApiKey" : "GameOnAdminApiKeyGoesHere"
}

Matchmaking Application Configuration

Current matchmaking in Elements is deprecated and will soon be rewritten.

iOS Application Configuration

The iOS application configuration is where you tie in iOS app and IAP compatibility for your Elements application.

You'll need an Apple Developer account and will need to create the app in App Store Connect.

  1. Edit an application in Elements
  2. Add an Application configuration in the Application Editor, as seen here and select "Add iOS App Store," or edit an existing iOS Application configuration for the application.
  3. Enter the needed info and save with the "OK" button.

  4. Application Configuration Name: This is a unique name for the application configuration.

  5. Team ID: Your Apple Developer team ID for the app.
  6. Client ID: Your app's bundle ID from App Store Connect (e.g. com.company.example).

The final two fields relate to Apple Sign-In, which we'll cover below.

iOS Application Configuration

iOS Apple Sign-In

Apple Sign-In for your app is also configured in the iOS Application Configuration.

You'll need to create an Apple Sign-In key in the Apple Developer console.

Apple Sign In Config

You'll need the key ID as well as to download the key.

In the application configuration on the Elements admin console:

  • Key ID: Your apple sign in key ID.
  • Apple Sign-In Private Key: The private key you downloaded.

You'll also need some server-side lua code and some client-side code to complete setup, which will be covered elsewhere in the manual.

Android Application Configuration

The Google Play application configuration is where you tie in your Android app and Google Play IAP compatibility for your Elements application.

You'll need to create the app in Google Play, as well as set up Google API users and access.

TODO: Cover Google Play developer setup

  1. Edit an application in Elements
  2. Add an Application configuration in the Application Editor, as seen here (or edit an existing one) and select "Add Google Play."
  3. Enter the needed info and save with the "OK" button.

  4. Application Configuration Name: This is a unique name for the application configuration.

  5. JSON Key: You'll need to export the Google API access key after setup and add it here.

Google Play Configuration