Configuring Jive Daily (Android) for Enterprise Distribution

Version 12

    Overview

    Jive Daily (Android) distribution is supported in several configurations

     

    Important Notes:

    • Jive Daily Hosted is supported by Jive 9.0.0+. If you are using Jive 8 or lower versions, please reference the Jive Mobile documentation.
    • Jive Daily DOES NOT support mobile wrapping of any kind in either Hosted or Cloud version

     

    Supported EMM providers

    App Distribution

    • Play store — the end users install the app from the play store normally. They will need to input the URL of the community they're connecting to on the Login screen. App updates are controlled by the user.
    • Android for Work — the EMM admin will need to import the app into the console as described in the EMM provider's documentation. The URL of the community can be configured in the EMM console so that it will be pre-filled when the users launch the app. App updates are configured in the EMM console.
    • APK Download — download the APK from the Jive Works community and distribute to users internally. Repeat the process when the updated APK is published to the Jive Works.

     

    MDM Enterprise Security

    MDM integration for Jive Daily (Android) is based on Android for Work. As such, the instructions to import and configure the security policies will vary based on the EMM provider.  The table below lists all of the Jive Daily specific configuration parameters. The EMM provider sections below will contain instructions specific to each provider.

     

    KeyTitleDescriptionDefault if not configured
    daily_community_presetCommunity URLIf specified, this value is pre-filled into the Community URL field on the login screen
    daily_branding_nameCommunity NameIf specified, this name will be displayed in the Toolbar in the Inbox and Profile screens
    daily_enable_downloadsAllow Binary DownloadsSet this value to false to prevent downloads of files & attachments from the community via this app, even if downloads are allowed via the web or other clients.  (If binary downloads are disabled for the user or community across all clients, they will also be disabled in this app, regardless of this setting.)true
    daily_data_export_modeData Export Mode

    Specify the level of app usage analytics that are sent to Jive. 'Anonymous' only sends non-personally identifiable events. 'Off' sends no data. Note that this can only be used to specify a more restrictive value than is configured for the community."

     

    Note: 'On' has been deprecated and will behave the same way as Anonymous, not sending any personally identifiable information.

    Anonymous
    daily_gcm_project_idGCM Project IDSpecify the project ID corresponding to the API access key set in the Mobile tab of the installation’s admin console if the custom push configuration is in use. See below for details.
    daily_user_agentUser-Agent header value

    When set the app will substitute the the default User-Agent header value with the provided one.

     

     

    Mobileiron

    Please refer to Mobileiron documentation for instructions on how to set up the Mobileiron Core and import the Jive Daily application. There are also several parameters that can be configured in the console that affect the entire Android for Work container (such as Copy/Paste and Screenshot taking restrictions).This document will explain Jive Daily-specific configuration options only.

    Relevant Mobileiron documents can be found here: https://community.mobileiron.com/docs/DOC-4293 (general AfW document) and https://community.mobileiron.com/docs/DOC-3663  (company managed devices)

    Once the app is imported into the Mobileiron Core and set up as an AfW app, there are certain parameters that can be changed to alter the application's behavior. Mobileiron console is able to import all of the parameters and present the configuration UI for them (see screenshot below).

    mobileiron_default_config.png

     

     

    Airwatch

    Once the app is imported into the AirWatch Console and set up as an AfW app, there are certain parameters that can be changed to alter the application's behavior. AirWatch console is not able to import all of the parameters so it may be necessary to add some by hand (see screenshot below).

     

    In the Edit Application screen, check the Send Application Configuration checkbox, then press Load. The AirWatch console will load all the configuration keys except daily_data_export_mode, which would need to be added manually if the value needs to be changed. The type is String and the values are anonymous and off.

     

    When done setting the parameters and removing the unneeded ones press the Save & Publish button and then press Publish on the subsequent screen to update the application's settings.

     

    Screenshot from 2017-01-16 10-21-49.png

     

    Blackberry

    See: How To: Integrate Jive Daily Hosted Android With Good\BlackBerry Enterprise Security via AppDome

     

     

    Push Notifications

    Standard Push Notifications

    In the Jive Daily app push notifications go from Jive Community server installations to Jive's push gateway, and from there to Google Cloud Messaging (GCM) push servers using Jive's key.  This is referred to as the "Standard" push method.

     

    Note: This use case is suitable for most of our customers who do not have outbound restrictions of connectivity to the Jive push gateway.

     

    Custom Push Notifications

    In some cases, a customer may have restrictions which in which Jive Community server can only send notifications directly to the GCM servers, bypassing Jive Push Notifications Gateway.  This use case requires the use of "Custom" push method

     

    Obtaining the custom push values

    In order to set up custom push notifications there are two pieces that need to be configured:

    • The ID of a Google Project with the Google Cloud Messaging (GCM) API enabled.
    • An API access key for such a project

    If you already have such a project, please proceed to the entering the values. If not, please follow Google's guide for creating a project, enabling the GCM API and obtaining an authorization key: Set up a GCM Client App on Android  |  Cloud Messaging  |  Google Developers.

    Entering the custom push values

    Once the Project ID and the API key are obtained, they need to be entered into the system.

    1. From the EMM Console (AppConfig): The Project ID should be entered into the corresponding field in the EMM console. Note that the users who are already logged in may need to log out for this to take effect.
      • Mobileiron
        mobileiron_default_config_gcm.png
      • AirWatch
        airwatch-gcm.png
    2. From the Jive Community's Admin Console:
      • The Push Notifications mode should be switched from Standard to Custom.
      • The API Key needs to be entered in the Mobile tab of the Jive Community's Admin Console into the Google Cloud Messaging API Key field.

     

    admin_console_mobile.png

     

    Special Needs

    Important: it is recommended that you verify any XML changes you make using xmllint or similar. The tool's failure to repackage the APK because of the malformed XML is quite cryptic so it's best to avoid it altogether.

    In some cases the customers may wish to use the Jive Daily app without employing any of the MDM solutions, but still require to configure custom push. In such a case a manual modification of the APK file is required. The process of obtaining the custom push configuration parameters and setting up the Jive Community to enable custom push is the same as for the EMM configuration, but applying the custom project id to the app is different. Please follow the steps below to create a custom version of the APK file with the custom project id applied. Note that it only works on OS X and Linux environments, Windows customers are encouraged to use a Linux VM.

    1. Make sure the Android SDK is installed and the SDK tools are in the path. Download Android Studio and SDK Tools | Android Studio
    2. Make sure you have a valid keystore and a signing key. Sign Your App | Android Studio
    3. Download the Jive Daily (Hosted or Cloud) APK file from (Location TBD).
    4. Download the attached scripts (unpackapk.bash and signapk.bash) and the APK Tool jar file (apktool_X.Y.Z.jar)
    5. The scripts, apktool jar file and the downloaded APK file should reside in the same directory
    6. Change the current working directory to the download location
    7. Make sure the scripts are executable by running the command chmod +x unpackapk.bash signapk.bash
    8. Execute the unpackapk.bash script by running the command ./unpackapk.bash downloaded-apk-filename.apk, where the downloaded-apk-filename is the name of the Jive Daily APK you downloaded in step 3
    9. This should create a directory called custom_downloaded-apk-filename.apk
    10. Edit the file custom_downloaded-apk-filename.apk/res/values/strings.xml and add the following XML (where custom_gcm_project_id is the actual ID you obtained):
      <string name="daily_gcm_project_id">custom_gcm_project_id</string>
    11. Re-package and sign the modified data into a new APK by running the command ./signapk.bash custom_downloaded-apk-filename.apk key-store store-password key-alias, where the key-store, store-password and key-alias are pointing to the signing key you created in step 2. In case your key password is different from the store password you can supply it as the optional parameter following key-alias: ./signapk.bash custom_downloaded-apk-filename.apk key-store store-password key-alias key-password
    12. This should produce a signed_custom_downloaded-apk-filename.apk that can be distributed to the users