Skip to main content

 WebEngage Apple Developer Account Configuration Doc: App Groups & Push Notifications

This guide walks you through the steps on the Apple Developer website (developer.apple.com) to configure App Groups and Push Notifications for your main iOS application and its extensions, which is necessary for WebEngage integration.


⚠️ IMPORTANT NOTE: Bundle Identifier Replacement

You must replace all instances of the placeholder [BUNDLE_IDENTIFIER] with your actual, primary iOS application bundle identifier (e.g., com.yourcompany.appname) throughout this entire document.


This configuration is mandatory for sharing data and enabling messaging for:

  1. Main App: [BUNDLE_IDENTIFIER]
  2. Service Extension: [BUNDLE_IDENTIFIER].NotificationService
  3. Content Extension: [BUNDLE_IDENTIFIER].NotificationViewController

1. Prerequisites

You must be logged into your Apple Developer Account with the Account Holder or Admin role.

Required Identifiers

  • App Group Identifier: group.[BUNDLE_IDENTIFIER].WEGNotificationGroup

2. Check and Create Missing Extension App IDs

Ensure that the App IDs for your main app and both extensions are registered in the Apple Developer Portal.

Targets to Check/Create:

  • [BUNDLE_IDENTIFIER].NotificationService (Service Extension)
  • [BUNDLE_IDENTIFIER].NotificationViewController (Content Extension)

Steps to Create an Extension App ID (If Missing):

  1. Navigate to Certificates, IDs & Profiles -> Identifiers.
  2. Click the add button (+) -> Select App IDs -> Continue.
  3. Select type App -> Continue.
  4. Description: Enter a name (e.g., "WebEngage Notification Service").
  5. Bundle ID: Select Explicit and enter the full identifier (e.g., [BUNDLE_IDENTIFIER].NotificationService).
  6. Click Continue -> Register.
  7. Repeat for the Content Extension ([BUNDLE_IDENTIFIER].NotificationViewController).

3. Create the Shared App Group

  1. Navigate to Certificates, IDs & Profiles -> Identifiers.
  2. Click the add button (+) -> Select App Groups -> Continue.
  3. Description: Enter a meaningful name (e.g., "WebEngage Shared Group").
  4. Identifier: Enter the required identifier: group.[BUNDLE_IDENTIFIER].WEGNotificationGroup
  5. Click Continue -> Register.

4. Enable Capabilities (App Groups & Push Notifications)

You must enable specific capabilities for each App ID.

A. Configure Main App ID

Target: [BUNDLE_IDENTIFIER]

  1. In Identifiers, click on your Main App ID.
  2. Click Capabilities or Edit.
  3. Enable App Groups:
    • Check the App Groups box.
    • Click Configure.
    • Select group.[BUNDLE_IDENTIFIER].WEGNotificationGroup.
  4. Enable Push Notifications:
    • Scroll down and check the Push Notifications box.
    • (Note: No extra configuration button is needed for this checkbox).
  5. Click Save.

B. Configure Service Extension App ID

Target: [BUNDLE_IDENTIFIER].NotificationService

  1. In Identifiers, click on the NotificationService App ID.
  2. Click Capabilities or Edit.
  3. Enable App Groups:
    • Check the App Groups box.
    • Click Configure.
    • Select group.[BUNDLE_IDENTIFIER].WEGNotificationGroup.
  4. Click Save.

C. Configure Content Extension App ID

Target: [BUNDLE_IDENTIFIER].NotificationViewController

  1. In Identifiers, click on the NotificationViewController App ID.
  2. Click Capabilities or Edit.
  3. Enable App Groups:
    • Check the App Groups box.
    • Click Configure.
    • Select group.[BUNDLE_IDENTIFIER].WEGNotificationGroup.
  4. Click Save.

5. Regenerate Provisioning Profiles

Crucial Step: Changing capabilities (adding App Groups or Push) invalidates existing profiles. You must regenerate them.

Steps:

  1. Navigate to Certificates, IDs & Profiles -> Profiles.
  2. Locate profiles with an Invalid status (common after capability changes).
  3. Main App Profile:
    • Click the profile -> Edit -> Save (this regenerates it).
    • Download the new profile.
  4. Extension Profiles:
    • Repeat the Edit/Save/Download process for both NotificationService and NotificationViewController profiles.

6. Appmaker Configuration Steps

6.1 Provisioning Profile Upload

  1. Go to the Appmaker dashboard -> Extensions.
  2. Search for and enable the Provisioning Profiles extension.
  3. Upload the newly regenerated profiles for your extensions:
OrderFieldValue
FirstBundle Identifier[BUNDLE_IDENTIFIER].NotificationService
Target NameNotificationService
Environment VariableWEBENGAGE_SERVICE_PROFILE
SecondBundle Identifier[BUNDLE_IDENTIFIER].NotificationViewController
Target NameNotificationViewController
Environment VariableWEBENGAGE_CONTENT_PROFILE
  1. Save the changes.

6.2 Disable Firebase Notification Image

  1. Go to Appmaker Dashboard -> Extensions -> Firebase Analytics.
  2. Enable Disable ios notification image.
  3. Click Save.

6.3 Finalizing the Build

  • Contact Appmaker support to request regeneration of existing profiles on their system.
  • Once confirmed, generate a new build.