Skip to main content

iOS Uninstall Tracking via APN

How to Track iOS App Uninstalls in Apptrove Using Apple Push Notifications

Updated over 2 weeks ago

Overview

This article explains how to configure Apple Push Notification certificates and set up your iOS app so Apptrove can detect uninstalled apps using push notifications. Follow these steps to generate the necessary certificates, configure your Apple Developer settings and Xcode project, and complete the integration with the Apptrove dashboard.

How Apptrove Uses Silent Push to Track iOS Uninstalls

Tracking when a user uninstalls an iOS app is tricky because Apple does not provide a direct uninstall event or API that tells developers “the app was uninstalled.” To work around this, Apptrove uses a technique called silent push uninstall tracking.

Here’s how it works:

  1. Push Token Registration
    When an app using Apptrove is installed and granted push notification permission, the app registers with Apple Push Notification Service (APNs) and obtains a device push token. This token uniquely identifies the app installation for push messaging.

  2. Sending Silent Push Notifications
    Apptrove sends what are known as silent push notifications periodically to devices. These messages are invisible to the user — they carry no alert, sound, or badge, and are intended solely to check whether the device token is still valid.

  3. APNs Delivery Feedback
    Apple’s APNs will attempt to deliver that silent push. If the app has been uninstalled, APNs will return an error indicating the device token is “unregistered” or no longer valid, because Apple deactivates tokens when the app tied to them has been removed from the device.

  4. Inferring Uninstall Events
    Apptrove’s backend systems interpret these invalid or failed delivery responses as a strong signal that the user has uninstalled the app. This becomes an uninstall “event” in analytics and attribution reporting.

  5. Attribution and Analytics
    Once an uninstall is flagged, Apptrove can attribute that uninstall to the original install source, advertising campaign, or user segment, helping product and growth teams understand retention and churn.

Important Note:

User must enable Push Notifications in Settings > [Your App] > Notifications so silent push can generate a valid token for uninstall tracking.

iOS uninstall events don’t show up instantly; they typically take 9 + days to appear in dashboards due to Apple Push Notification service reporting delays.

Prerequisites

  • iOS 10.0 or higher

  • Xcode 12.0 or later

  • Apple Developer Account

  • Apptrove Cordova SDK version 1.6.78+ installed

For detailed implementation steps and code snippets, see the official Apptrove iOS uninstall tracking documentation:
https://developers.apptrove.com/docs/cordova-sdk/advance-features/uninstall-tracking-apn/#step-13-send-token-to-trackier-sdk (help.apptrove.com)

1. Request Certificate in Keychain Access

  1. Open Keychain Access on your macOS.

  2. Go to Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority

    Request Certificate

  3. Enter your email and name, and save to disk.

    Save to Disk

2. Go to Apple Developer Portal – Identifiers

  1. Visit the Apple Developer portal and sign in.

  2. Navigate to Certificates, Identifiers & Profiles > Identifiers.

  3. Select your app’s App ID.

    Identifiers

3. Configure Push Notifications

  1. Within your App ID settings, enable Push Notifications.

  2. Confirm and proceed to create the push certificate.

    Push Notifications Configuration

4. Upload Certificate and Download .cer

  1. Follow the on-screen process to upload the CSR file you created in Keychain.

  2. Apple will generate a push certificate and download the .cer file.

    Download .cer Certificate

5. Go to Keychain and Export as .p12

  1. Double-click the downloaded .cer to add it to Keychain.

  2. Find the certificate under My Certificates.

  3. Right-click and choose Export.

  4. Save as a .p12 file with a secure password.

    Export .p12 Certificate

6. Upload .p12 to Apptrove Panel

  1. Log in to your Apptrove dashboard.

  2. Navigate to the iOS Push Certificate section.

  3. Upload your .p12 file.

  4. Enter the Bundle ID and password you set during export.

7. Configure in Xcode

  1. Open your iOS project in Xcode.

  2. Select your app target → Signing & Capabilities.

  3. Add the Push Notifications and Background Modes capability and check Remote Notifications.

    Background Modes

8. Install Dependencies

Install the required Apptrove iOS SDK dependencies into your project using the dependency manager of your choice (CocoaPods, Swift Package Manager, etc.).

9. Add User Permission in Info.plist

Add the necessary push notification permission keys in the Info.plist file so that the app can request and receive push notifications.

10. Configure App.entitlements

Ensure that your app’s entitlements file includes the appropriate aps-environment setting for the environment you are targeting (development or production).

11. Configure AppDelegate.swift

Update your AppDelegate.swift file to register for remote notifications and request user permission for push notifications.

12. Send Token to Trackier SDK

Implement the necessary delegate methods to capture the device push token and forward it to the Apptrove SDK for uninstall tracking.

13. Check Logs

After completing the setup:
• Run your app on a physical iOS device, Simulator does not support APNs.
• Confirm that the device token is generated and sent.
• Review logs for successful registration and communication.


Points to remember:

  • Make sure your APNs certificate matches the correct environment (development or production).

  • Ensure you requested user permission for notifications; silent notifications are critical for uninstall tracking.

  • Confirm Xcode’s push capabilities and entitlements are properly configured.


We are delighted to have assembled a world-class team of experienced professionals who are ready to take care of your queries and answer any questions you may have.
Feel free to reach out to us at any time by emailing us at support@apptrove.com or by using the in-platform chat feature. We'd love to hear from you!

Did this answer your question?