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:
- Main App:
[BUNDLE_IDENTIFIER] - Service Extension:
[BUNDLE_IDENTIFIER].NotificationService - 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):
- Navigate to Certificates, IDs & Profiles -> Identifiers.
- Click the add button (+) -> Select App IDs -> Continue.
- Select type App -> Continue.
- Description: Enter a name (e.g., "WebEngage Notification Service").
- Bundle ID: Select Explicit and enter the full identifier (e.g.,
[BUNDLE_IDENTIFIER].NotificationService). - Click Continue -> Register.
- Repeat for the Content Extension (
[BUNDLE_IDENTIFIER].NotificationViewController).
3. Create the Shared App Group
- Navigate to Certificates, IDs & Profiles -> Identifiers.
- Click the add button (+) -> Select App Groups -> Continue.
- Description: Enter a meaningful name (e.g., "WebEngage Shared Group").
- Identifier: Enter the required identifier:
group.[BUNDLE_IDENTIFIER].WEGNotificationGroup - 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]
- In Identifiers, click on your Main App ID.
- Click Capabilities or Edit.
- Enable App Groups:
- Check the App Groups box.
- Click Configure.
- Select
group.[BUNDLE_IDENTIFIER].WEGNotificationGroup.
- Enable Push Notifications:
- Scroll down and check the Push Notifications box.
- (Note: No extra configuration button is needed for this checkbox).
- Click Save.
B. Configure Service Extension App ID
Target: [BUNDLE_IDENTIFIER].NotificationService
- In Identifiers, click on the NotificationService App ID.
- Click Capabilities or Edit.
- Enable App Groups:
- Check the App Groups box.
- Click Configure.
- Select
group.[BUNDLE_IDENTIFIER].WEGNotificationGroup.
- Click Save.
C. Configure Content Extension App ID
Target: [BUNDLE_IDENTIFIER].NotificationViewController
- In Identifiers, click on the NotificationViewController App ID.
- Click Capabilities or Edit.
- Enable App Groups:
- Check the App Groups box.
- Click Configure.
- Select
group.[BUNDLE_IDENTIFIER].WEGNotificationGroup.
- Click Save.
5. Regenerate Provisioning Profiles
Crucial Step: Changing capabilities (adding App Groups or Push) invalidates existing profiles. You must regenerate them.
Steps:
- Navigate to Certificates, IDs & Profiles -> Profiles.
- Locate profiles with an Invalid status (common after capability changes).
- Main App Profile:
- Click the profile -> Edit -> Save (this regenerates it).
- Download the new profile.
- Extension Profiles:
- Repeat the Edit/Save/Download process for both NotificationService and NotificationViewController profiles.
6. Appmaker Configuration Steps
6.1 Provisioning Profile Upload
- Go to the Appmaker dashboard -> Extensions.
- Search for and enable the Provisioning Profiles extension.
- Upload the newly regenerated profiles for your extensions:
| Order | Field | Value |
|---|---|---|
| First | Bundle Identifier | [BUNDLE_IDENTIFIER].NotificationService |
| Target Name | NotificationService | |
| Environment Variable | WEBENGAGE_SERVICE_PROFILE | |
| Second | Bundle Identifier | [BUNDLE_IDENTIFIER].NotificationViewController |
| Target Name | NotificationViewController | |
| Environment Variable | WEBENGAGE_CONTENT_PROFILE |
- Save the changes.
6.2 Disable Firebase Notification Image
- Go to Appmaker Dashboard -> Extensions -> Firebase Analytics.
- Enable
Disable ios notification image. - 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.