Skip to main content
This guide covers common issues you may encounter when integrating the Permutive Android SDK and how to resolve them.
Quick Diagnostics: Enable debug logging before troubleshooting:
Or via ADB:

Initialization Issues

Symptoms:
Causes:
  1. Incorrect Workspace ID or API Key
  2. Using deprecated projectId instead of workspaceId
  3. Android not enabled for your workspace
Solutions:1. Verify Credentials
2. Check Credentials FormatEnsure your IDs are valid UUIDs (format: 8-4-4-4-12 hexadecimal digits):
3. Enable AndroidContact your Customer Success Manager to verify Android is enabled for your workspace.
Symptoms: Events tracked multiple times, undefined behavior.Cause: Creating more than one Permutive instance.Solution: Use a singleton pattern:

Event Tracking Issues

Symptoms:
Causes:
  1. Property name doesn’t match dashboard schema
  2. Property type doesn’t match dashboard schema
  3. Property not defined in dashboard
Solutions:1. Check Property Names (case-sensitive):
2. Check Property Types:
3. Verify Schema in Dashboard:
  1. Log into Permutive dashboard
  2. Navigate to Events
  3. Find your event type
  4. Verify property names and types match your code
Symptoms: Events show as “Accepted” in logs but don’t appear in dashboard.Causes:
  1. Dashboard filter settings
  2. Time lag (events can take up to 5 minutes)
  3. Wrong workspace/environment
Solutions:
  1. Check Logs: Verify events are accepted:
  2. Wait: Events may take up to 5 minutes to appear
  3. Check Dashboard Filters:
    • Verify date range includes now
    • Check workspace selection
    • Clear any active filters
  4. Verify Environment: Ensure you’re using production workspace ID
Symptoms:
Cause: Event name contains invalid characters.Solution: Event names must contain only: a-z, A-Z, 0-9, _

Identity Issues

Symptoms: Setting identity doesn’t merge user data from other devices.Causes:
  1. Network connectivity issues
  2. Alias not previously used
  3. Timing - resolution takes a moment
Solutions:
  1. Check Logs:
  2. Verify Network: Ensure device has connectivity
  3. Wait: Identity resolution isn’t instant, allow a few seconds
  4. Debug:
Problem: Accidentally sending personally identifiable information.Solution: Always hash PII before setting as identity:

Cohort and Activation Issues

Symptoms: currentCohorts returns empty list.Causes:
  1. SDK just initialized - cohorts haven’t synced yet
  2. User hasn’t triggered events to qualify for cohorts
  3. Network issues
Solutions:
  1. Wait for Initialization:
  2. Use TriggersProvider: For reactive updates:
  3. Track Events: User needs to trigger events to qualify for cohorts
Symptoms: dfp_contextual or appnexus_adserver_contextual are empty.Causes:
  1. Feature not enabled
  2. SDK version too old
  3. Not tracking pages with URLs
  4. Classification in progress
Solutions:
  1. Check SDK Version:
    • Core: 1.10.0+
    • Google Ads: 2.2.0+
    • AppNexus: 1.7.0+
  2. Verify Feature Enabled: Contact Customer Success Manager
  3. Track with URLs:
  4. Wait for Classification: First analysis takes 1-2 seconds
  5. Check URL Accessibility: URL must be publicly accessible

Ad Integration Issues

Symptoms: Ads load but don’t seem to be targeted.Causes:
  1. Not using add-on library helper methods
  2. Cohorts not ready when ad request made
  3. Dashboard activation configuration
Solutions:1. Use Helper Methods
2. Verify LogsLook for:
If this doesn’t appear, cohorts aren’t being added.3. Check Activations

Performance Issues

Symptoms: App performance degrades after SDK integration.Causes:
  1. Creating multiple Permutive instances
  2. Not closing PageTrackers/MediaTrackers
  3. Memory leaks from unclosed TriggerActions
Solutions:1. Use Singleton (see “Multiple Permutive instances detected” above)2. Always Close Trackers
3. Close Triggers
Symptoms: App memory usage grows over time.Cause: Not closing SDK resources.Solution: Use Android Studio’s Profiler to identify leaks, then ensure all SDK resources are closed:
  • PageTracker.close()
  • MediaTracker.stop()
  • AdTracker.completion()
  • TriggerAction.close()

Build Issues

Symptoms: App crashes in release build with minification enabled.Cause: SDK classes being stripped by ProGuard/R8.Solution: The SDK includes consumer ProGuard rules automatically. If you’re still experiencing issues:
  1. Verify consumer rules are applied:
  2. Test with debug logging:
Symptoms:
Causes:
  1. Multiple SDK versions in dependencies
  2. Transitive dependency conflicts
Solutions:1. Check Dependencies
Look for multiple versions of Permutive libraries.2. Force Version Resolution

Debugging Tips

Getting Help

If you’re still experiencing issues:
  1. Enable debug logging and capture logs
  2. Note the SDK version you’re using
  3. Document steps to reproduce the issue
  4. Gather SDK version, device info, and error logs
Contact Support:

Verification Guide

Comprehensive integration verification

Migration Guide

Upgrade to the latest SDK version