{
"type": "service_account",
"project_id": "your-project-id",
"private_key_id": "key-id",
"private_key": "-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-xxxxx@your-project.iam.gserviceaccount.com",
"client_id": "client-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token"
}
Activity Feeds V3 is in closed alpha — do not use it in production (just yet).
Push Providers & Multi Bundle
Push Notification Configuration
To set up push notifications for your Activity Feeds application, you need to configure your push providers through the Stream Dashboard.
Accessing Push Configuration
- Navigate to your Stream Dashboard
- Select your application
- Go to the Push Notifications section in the sidebar
Supported Providers
Activity Feeds supports the following push notification providers:
Firebase Cloud Messaging (FCM)
- Best for: Android and iOS devices, cross-platform applications
- Requirements: Firebase project with Cloud Messaging enabled
- Configuration: Upload your Firebase service account JSON file
Apple Push Notification (APN)
- Best for: iOS devices
- Requirements: Apple Developer account and push certificate or authentication key
- Configuration: Upload your .p8 authentication key or .p12 certificate
Configuration Steps
Firebase Configuration
- In the Stream Dashboard, click New Configuration
- Select Firebase as the provider
- Provide a descriptive name (e.g., “activity-feeds-firebase”)
- Upload your Firebase service account JSON file
The Firebase service account JSON should look like this:
Apple Push Notification Configuration
- In the Stream Dashboard, click New Configuration
- Select APN as the provider
- Fill in the required information:
Field Name | Description |
---|---|
Name | Descriptive name for this configuration (e.g., “activity-feeds-apn”) |
Bundle ID | Your iOS app’s bundle identifier |
Team ID | Your Apple Developer Team ID |
Key ID | Your APNs authentication key ID |
Authentication Key | Your .p8 private key file |
Multi-Bundle Support
Activity Feeds supports multiple push configurations per provider, enabling:
- Environment separation (development, staging, production)
- App variant support (different versions of your app)
- Multi-tenant applications (different configurations for different customers)
When initializing the Activity Feeds SDK, specify which configuration to use:
let notificationsConfig = PushNotificationsConfig(
pushProviderInfo: PushProviderInfo(
name: "production-ios", // The name you gave in the dashboard
pushProvider: .apn
)
)
let config = FeedsConfig(pushNotificationsConfig: notificationsConfig)
Testing Your Configuration
After setting up your push configuration:
- Initialize your app with the push configuration
- Register a test device using your app
- Send a test push notification using the Activity Feeds API
- Verify the device receives the notification
Best Practices
- Use descriptive names for your push configurations (e.g., “feeds-prod-apn”, “feeds-staging-fcm”)
- Separate configurations for different environments
- Test configurations before deploying to production
- Monitor push delivery through the dashboard push logs
Troubleshooting
Common configuration issues:
- Invalid credentials: Double-check your service account files and certificates
- Mismatched bundle IDs: Ensure bundle IDs match between your app and configuration
- Expired certificates: APNs certificates have expiration dates
- Wrong environment: Make sure you’re using the correct production/sandbox settings
If you encounter issues, check the push logs in your Stream Dashboard for detailed error messages.