{
  "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 beta — try it out!
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.