Branded Mobile Distribution Preparation

The effective and efficient distribution of the Igloo Mobile Branded Edition application is key to the success of the project and acceptance by users.

This article provides an overview of the distribution option and the steps to set up the required artifacts Igloo requires to create branded mobile builds.

Sections in this article: 

If you have any questions about the required information or the steps to obtain them, don't hesitate to contact your Igloo Project Manager for assistance.

Distribution options

There are 2 recommended methods that can be used to distribute your branded mobile app to members of your digital workplace.  See the chart below to better understand which method is right for your organization.

MDM (Mobile Device Management) App Store ( Private /Unlisted Distribution)

Mobile Device Management (MDM) is a set of technologies, processes, and policies used to manage and secure mobile devices, such as smartphones, tablets, and laptops, within an organization. MDM solutions enable IT administrators to remotely manage and control mobile devices, enforce security measures, and streamline device deployment and maintenance. Here are some key aspects of Mobile Device Management:

  • Device Configuration and Enrollment: MDM allows administrators to configure device settings and enroll devices into the management system. This process may involve installing a management profile or app on the device to establish a secure connection between the device and the management server.
  • Policy Enforcement: MDM enables administrators to enforce policies on managed devices to ensure compliance with security standards and organizational requirements. This can include password policies, encryption settings, app restrictions, network access controls, and more.
  • App Distribution and Management: MDM solutions facilitate the distribution and management of apps on managed devices. Administrators can deploy apps directly to devices, control app updates, and remove or block unauthorized apps.
  • Remote Device Management: MDM provides remote management capabilities, allowing administrators to troubleshoot, monitor, and update devices without physical access. This includes tasks like remote lock, data wipe, software updates, and remote support.
  • Security and Compliance: MDM focuses on enhancing device security and maintaining compliance with data protection regulations. It enables features such as remote data wipes, encryption enforcement, device tracking, and the ability to respond quickly to security threats.
  • Inventory and Reporting: MDM solutions often offer inventory management and reporting features. This allows administrators to track device information, monitor usage, generate reports on device status, and ensure license compliance.

Igloo is not responsible for providing instructions for app deployment through MDM. Please contact your MDM provider for guidance and support.

Private or unlisted app distribution provides a way to share apps with a specific audience while maintaining control, security, and flexibility outside the traditional public app store model. Here are some key aspects of private or unlisted app distribution:

  • Limited Audience: Private app distribution targets a specific group of users, such as employees within an organization, beta testers, or selected individuals. It allows you to control who can access and install the app.
  • Custom Distribution Channels: With private distribution, you have the flexibility to choose your own distribution channels outside of public app stores. This can include methods like email, secure file sharing, QR codes, or using a Mobile Device Management (MDM) system.
  • Enhanced Security: Private distribution provides an added layer of security since the app isn't publicly accessible. This can be beneficial when dealing with sensitive or confidential information within an organization or during testing phases where you want to limit exposure.
  • Bypassing App Store Guidelines: Private distribution allows you to distribute apps that may not comply with the strict guidelines of public app stores. This is particularly useful for apps that serve internal purposes, experimental projects, or niche applications that don't fit within the typical app store requirements.
  • Control and Flexibility: Private distribution gives you greater control over the app's availability, updates, and distribution channels. You can manage who has access to the app, control version releases, and easily revoke access if needed.

See these additional resources for more information:

In some cases, you might even combine both approaches. For example, you can use MDM to distribute internal apps within your organization while using App Store distribution for public-facing apps. Ultimately, the decision depends on your specific needs regarding control, target audience, security, and distribution requirements.

What we need from you

Regardless of the distribution method, Igloo requires third-party vendor support to allow the application to run on a smartphone. The requirements include:

  • Provisioning information to use in the build process from Apple and Google
  • Setting up accounts for internal testing and validation 

The following iOS and Android sections outline what information Igloo requires to deploy the application and how to obtain that information.

iOS distribution

Getting ready

To set up iOS distribution, you require:

The account will enable the use of the Apple infrastructure to provision the iOS version of the application. Please note:

  • There is an application process for the Apple Enterprise Developer Account that Apple manages
  • There is an eligibility criteria for organizations accepted
  • There may be a small annual charge to maintain 
  • Require legal authority to bind your company to the agreement with Apple

Obtaining an Apple Enterprise Developer Account is subject to review and scrutiny by Apple with no guarantee on turnaround time or acceptance.  

As part of setting up the application, you must provide the Igloo Team with the following:

  • Distribution Certificate 
  • APNs Certificate
  • Provisioning Profiles

The Igloo Team uses this information for the iOS .ipa builds. 

The iOS Distribution Certificate and the APNs certificate expire after one year. You will need to renew these before their expiry date and share this updated information with the Igloo team.

Creating a Distribution Certificate

By following the steps below, you should be able to provide the Igloo Team with:

  • Distribution Certificate in .p12 format with a password  
  • Private Key and Password

Steps to create an iOS Distribution Certificate:

  1. Log in to the Apple Developer site.
  2. Select Certificates, IDs & Profiles.
  3. Select Certificates.
  4. Select + to create a new certificate.
  5. In the Software section, select iOS Distribution and then select Continue.
  6. Upload a Certificate Signing Request (CSR) and then select Continue. If you don't have one, you can create one using Keychain Access on your Mac.
  7. Select Download to download the certificate as a .cer file.
  8. Double-click the certificate that you downloaded to add it to Keychain Access.
  9. Open Keychain Access
  10. Right-click the certificate and select Export.
    1. Select the .p12 file type.
    2. (Optional) Enter a password.
  11. Select the arrow next to the certificate to expand its details.
  12. Right-click the Private Key and select Export.
    1. Select the .p12 file type.
    2. (Optional) Enter a password.
  13. Share the required information with the Igloo Team. An Igloo Project Manager will provide details on how to share this information.

Creating an Apple Push Notification service (APNs) Certificate

By following the steps below, you should be able to provide the Igloo Team with:

  • APNs certificate in .p12 format with a password

The Igloo team uses this information to set up push notifications. 

Steps to create an APNs Certificate:

  1. Log in to the Apple Developer site.
  2. Select Certificates, IDs & Profiles.
  3. Select Identifiers.
  4. Select + to create a new App ID.
    1. Enter a description and Bundle ID, e.g., com.igloosoftware.branded.mobile.{organization_name}.
    2. In the Capabilities section, select Push Notifications.
    3. Follow the steps on the page to finish creating a new APP ID.
  5. Go back to the Certificates, IDs & Profiles page.
  6. Select Certificates.
  7. Select + to create a new APNs certificate.
    1. In the Services section, select "Apple Push Notification service SSL (Sandbox & Production)."
    2. From the drop-down, select the App ID that you created.
    3. Upload a Certificate Signing Request (CSR). If you don't have one, you can create one using Keychain Access on your Mac.
    4. Finish creating the APNs certificate.
  8. Download the APNs certificate that you created.
  9. Double-click the APNs certificate that you downloaded to add it to Keychain Access.
  10. In Keychain Access, right-click the APNS certificate and select Export.
    1. Select the .p12 file type.
    2. Enter a password.
  11. Share the required information with the Igloo Team. An Igloo Project Manager will provide details on how to share this information.

Creating Provisioning Profiles

By following the steps below, you should be able to provide the Igloo Team with:

  • The following Provisioning Profiles for MDM Distribution:
    • {your_app_name} - In-House
    • {your_app_name} - Ad Hoc
    • {your_app_name} Share - In-House
    • {your_app_name} Share - Ad Hoc

The Provisioning Profiles will use the iOS Distribution Certificate and App ID as described in the previous section. You must then create additional Provisioning Profiles of the same types on a separate App ID. 

The Igloo Team uses this information for signing and distributing iOS .ipa builds. 

Steps to create iOS Provisioning Profiles for MDM distribution:

  1. Log in to the Apple Developer site.
  2. Select Certificates, IDs & Profiles.
  3. Select Profiles.
  4. Select +to create a new In-House Provisioning Profile.
    1. In the Distribution section, select In-House and then select Continue.
    2. Select your App ID from the drop-down and then select Continue. Use the App ID that you created in the Creating an APNs Certificate section above.
    3. Select your iOS Distribution Certificate and then select Continue. Use the certificate that you created in the Creating a Distribution Certificate section above. 
    4. Enter a name for the Provisioning Profile (e.g., {your_app_name} - In-House) and then select Generate.
    5. Select  Download.
  5. Go back to the Certificates, Identifiers & Profiles page.
  6. Select + to create a new Ad Hoc Provisioning Profile.
    1. In the Distribution section, select Ad Hoc and then select Continue.
    2. Select your App ID from the drop-down and then select Continue. Use the App ID that you created in the Creating an APNs Certificate section above.
    3. Select your iOS Distribution Certificate and then select Continue. Use the certificate that you created in the Creating a Distribution Certificate section above. 
    4. Select the following Igloo testing devices UDIDs and then select Continue.
      • c6ba315377a9b4682bb839dda78458497d08942e
      • 8f948c292cb2932a752755d12bd936e56804baf6
    5. Enter a name for the Provisioning Profile (e.g., {your_app_name} - Ad Hoc)  and then select Generate.
    6. Select Download.
  7. Go back to the Certificates, Identifiers & Profiles page.
  8. Select + to create a new App ID. 
    1. Enter a description and Bundle ID, e.g., com.igloosoftware.branded.mobile.{organization_name}.share.
    2. Follow the steps on the page to finish creating a new APP ID.
  9. Go back to the Certificates, Identifiers & Profiles page.
  10. Select + to create a new In-House Provisioning Profile.
    1. In the Distribution section, select In-House and then select Continue.
    2. Select the App ID that you created in step 8 from the drop-down and then select Continue.
    3. Select your iOS Distribution Certificate and then select Continue. Use the certificate that you created in the Creating a Distribution Certificate section above. 
    4. Enter a name for the Provisioning Profile (e.g., {your_app_name} Share - In-House) and then select Generate.
    5. Select Download.
  11. Go back to the Certificates, Identifiers & Profiles page.
  12. Select + to create a new Ad Hoc Provisioning Profile.
    1. In the Distribution section, select Ad Hoc and then select Continue.
    2. Select the App ID that you created in step 8 from the drop-down and then select Continue.
    3. Select your iOS Distribution Certificate and then select Continue. Use the certificate that you created in the Creating a Distribution Certificate section above.
    4. Select the following Igloo testing devices UDIDs and then select Continue.
      • c6ba315377a9b4682bb839dda78458497d08942e
      • 8f948c292cb2932a752755d12bd936e56804baf6
    5. Enter a name for the Provisioning Profile (e.g., {your_app_name} Share - Ad Hoc)  and then select Generate.
    6. Select Download.
  13. Share the required information with the Igloo Team. An Igloo Project Manager will provide details on how to share this information.

Checklist of the required information to share with Igloo

  • Distribution Certificate in .p12 format with a password  
  • Distribution Certificate private key and password
  • APNs certificate in .p12 format with a password
  • The following Provisioning Profiles:
    • {your_app_name} - In-House
    • {your_app_name} - Ad Hoc
    • {your_app_name} Share - In-House
    • {your_app_name} Share - Ad Hoc

Android distribution

Getting ready

To set up Android distribution, you require:

  • A Google Play Store account
  • Access to your organization's Google Firebase Console account

There may be a low, one-time fee to set up the account. For more information, see Google Play Console (About) and Google Play Console (Signup).

As part of setting up the application, you must provide the Igloo Team with the following: 

  • Firebase Cloud Messaging (FCM) details 

The Igloo team uses this information to set up push notifications.

Setting up Firebase Cloud Messaging (FCM)

By following the steps below, you should be able to provide the Igloo Team with:

  • google-services.json file
  • Cloud Messaging API Server Key

Steps to set up FCM:

  1. Log in to Google Firebase Console.
  2. Select + Add project.
  3. Enter a project name and then select Continue.
  4. Select whether Google Analytics is enabled or disabled.
    • If you selected to enable, select Continue. Select the Google Analytics account to use, and then select Create Project.
    • If you selected to disable, select Create Project.
  5. Select your newly created project.
  6. Select the Android icon.
    Adding Firebase to your app
  7. Enter an app package name, e.g., com.igloosoftware.branded.mobile.{organization_name}.
  8. (Optional) Enter an App nickname.
  9. (Optional) Enter a debug signing certificate SHA-1.
  10. Select Register app.
  11. On the next screen, it gives you a chance to download google-service.json file which will be needed by Igloo Team. Select Download google-service.json.
    Downloading the google-services.json file.

  12. Select Next.
  13. For Step 3, select Next. The Igloo Mobile Team will be responsible for adding the Firebase SDK.
  14. For Step 4, select Continue to console. You will be redirected to the Project Overview screen of the app you just created.
  15. On the left menu bar under Build, select Authentication. You don't need to enable any authentication, but this step helps to complete some hidden configurations.
    The Authentication page is accessed from the Build menu.
  16. Select Get Started.
    The Authnentication page.
  17. Select the Users tab.
    The Users tab is accessed from the the top of the Authentication page. </li
  18. Your screen should resemble the picture below. Do nothing on this screen and proceed to the next step.
    The default Users page.
  19. Select the cog next to Project Overview, followed by Project settings.
    Navigating to Project settings.
  20. Select the Cloud Messaging tab.
    The Cloud Messaging tab is accessed from the the top of the Project settings page.
  21. Next to the Cloud Messaging API (Legacy) Disabled heading, there is a 3-dot button; select it and then select Manage API in Google Cloud Console.

    Accessing the Cloud Messaging API
  22. Select Enable.
    Enabling Cloud Messaging
  23. Once GCM (Google Cloud Messaging) service is enabled, you should see a page that resembles the below image. Go back to the Cloud Messaging tab in your Firebase project.
    Example of succesfully enabling Google Cloud Messaging
  24. You should be seeing that Cloud Messaging API (Legacy) is now enabled and the Server key has been generated.
    Verifying that Google Cloud Messaging is enabled
  25. Copy this Server Key and save it to the text file for sharing with the Igloo Team at the end of this process.
  26. Select the General tab.
  27. Scroll down the page and from Your Apps section, select the app that you just created.
  28. If you didn't download the google-services.json file in step 11, select google-service.json to download it.
    Downloading the google-services.json file.
  29. Share the google-services.json and Server Key (saved in Step-25) with the Igloo Team. An Igloo Project Manager will provide details on how to share this information.

Checklist of the required information to share with Igloo

  • google-services.json file
  • Cloud Messaging API Server Key

Setting up accounts for internal testing and validation

You must set up two user accounts in your digital workplace so that Igloo can test and support Igloo Mobile Branded Edition. These accounts should have the following attributes:

  • Account 1
    • First name: Test
    • Last name: IglooMobil1
    • Email: prem_mobile_1@igloosoftware.com
  • Account 2
    • First name: Test
    • Last name: IglooMobil2
    • Email: prem_mobile_2@igloosoftware.com