Live Activities Integration
This guide will walk you through integrating Live Activities into your Unity game with Skillz. Live Activities allow your app to display real-time updates on the iOS Lock Screen and Dynamic Island.
Step 1: Apple Developer Console Setup​
1.1 App Identifier Configuration​
Log into Apple Developer Console
- Go to developer.apple.com
- Navigate to Certificates, Identifiers & Profiles
Configure App Identifier
- Select Identifiers from the left sidebar
- Find your app's identifier or create a new one
- Click on your app identifier to edit it
Enable App Groups Capability
- Scroll down to Capabilities section
- Find App Groups and check the box to enable it
- Click Configure next to App Groups
- Add a new App Group: group.[Your App Bundle ID]
- Click Save to apply changes
1.2 Create Widget Extension Identifier​
Create New App Identifier
- Click the + button to create a new identifier
- Select App IDs and click Continue
- Choose App and click Continue
Configure Widget Extension Identifier
- Description: [Your App Name] Widget Extension
- Bundle ID: [Your App Bundle ID].SkillzWidgetExtension
- Capabilities: Enable App Groups and select the same App Group: group.[Your App Bundle ID]
- Click Continue and then Register
Step 2: Provisioning Profile Setup​
2.1 Main App Provisioning Profile​
- Create/Update Main App Profile
- Go to Profiles section
- Select your main app's provisioning profile
- Ensure it includes the App Groups capability
- Download and install the updated profile
2.2 Widget Extension Provisioning Profile​
- Create Widget Extension Profile
- Click + to create a new provisioning profile
- Select iOS App Development (or App Store for distribution)
- Select the Widget Extension App ID you created
- Select your Development Team
- Select the certificates you want to include
- Select the devices for testing
- Name it: [Your Main App Provisioning Profile ID] Widget
- Click Continue and Generate
- Download and install the profile
Important Note: The Skillz SDK automatically handles the provisioning profile assignment for the widget extension during the build process. The naming convention [Your Main App Provisioning Profile ID] Widget is crucial - the SDK looks for this exact format to automatically assign the correct provisioning profile to the widget extension.
Step 3: Build and Test​
3.1 Build for iOS​
Build Process
- When you build for iOS, the Skillz SDK will automatically:
- Create the Widget Extension target
- Add necessary Swift files
- Configure the Xcode project
- Set up App Groups for data sharing
- When you build for iOS, the Skillz SDK will automatically:
Verify Integration
- Open the generated Xcode project
- Check that SkillzWidgetExtension target exists
- Ensure provisioning profiles are correctly assigned
Troubleshooting​
Common Issues​
Build Errors
- Verify provisioning profiles are correctly installed
- Check that App Groups capability is enabled for both main app and widget extension
Provisioning Profile Issues
- Verify both main app and widget extension profiles are installed
- Ensure profiles include the correct App Identifiers
- Check that profiles are not expired
Debug Information​
The build process will log information about Live Activity integration:
- Look for "✅ Widget extension 'SkillzWidgetExtension' added, linked, and embedded successfully"
- Check Xcode console for any Swift compilation errors
- Verify Info.plist contains NSSupportsLiveActivities: true
Additional Resources​
Support​
If you encounter issues with Live Activities integration:
- Check the troubleshooting section above
- Review the build logs for specific error messages
- Contact Skillz Developer Support with detailed error information
Note: Live Activities require iOS 16.2+ and are only available on devices that support the Dynamic Island (iPhone 14 Pro and newer) or Lock Screen widgets (iOS 16.2+).