npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@capgo/capacitor-app-tracking-transparency

v8.1.4

Published

Capacitor plugin for iOS App Tracking Transparency framework. Request user authorization to access app-related data for tracking.

Readme

capacitor-app-tracking-transparency

Capacitor plugin for iOS App Tracking Transparency framework. Request user authorization to access app-related data for tracking.

Why Capacitor App Tracking Transparency?

A simple, free, and lightweight plugin for iOS App Tracking Transparency:

  • iOS 14+ compliance - Handle Apple's App Tracking Transparency requirements
  • Permission status - Check current authorization status without prompting
  • Request permission - Display the native iOS permission dialog
  • Cross-platform - Returns authorized on Android/Web for transparent usage
  • Modern package management - Supports both Swift Package Manager (SPM) and CocoaPods (SPM-ready for Capacitor 8)
  • Zero dependencies - Minimal footprint, no bloat

Perfect for apps using IDFA, advertising SDKs, analytics tracking, or any feature that tracks users across apps and websites.

Documentation

The most complete doc is available here: https://capgo.app/docs/plugins/app-tracking-transparency/

Compatibility

| Plugin version | Capacitor compatibility | Maintained | | -------------- | ----------------------- | ---------- | | v8.*.* | v8.*.* | ✅ | | v7.*.* | v7.*.* | On demand | | v6.*.* | v6.*.* | ❌ | | v5.*.* | v5.*.* | ❌ |

Note: The major version of this plugin follows the major version of Capacitor. Use the version that matches your Capacitor installation (e.g., plugin v8 for Capacitor 8). Only the latest major version is actively maintained.

Install

npm install @capgo/capacitor-app-tracking-transparency
npx cap sync

iOS

Add the NSUserTrackingUsageDescription key to your Info.plist file:

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

The string should explain why you need tracking permission. This message will be displayed to users when requesting permission.

Localizing the Permission Message

To provide localized versions of the tracking permission message, create InfoPlist.strings files for each language:

  1. Create a InfoPlist.strings file in your Xcode project
  2. Add the NSUserTrackingUsageDescription key with a localized value:
"NSUserTrackingUsageDescription" = "This identifier will be used to deliver personalized ads to you.";

Android

App Tracking Transparency is an iOS-only framework. This plugin returns authorized status on Android to allow transparent cross-platform usage without conditional code.

Web

Returns authorized status on Web for development purposes and transparent cross-platform usage.

API

Capacitor App Tracking Transparency Plugin.

A plugin to request and check user authorization for app tracking on iOS devices. Uses Apple's App Tracking Transparency framework.

getStatus()

getStatus() => Promise<AppTrackingStatusResponse>

Gets the current tracking authorization status without prompting the user.

Returns: Promise<AppTrackingStatusResponse>

Since: 1.0.0


requestPermission()

requestPermission() => Promise<AppTrackingStatusResponse>

Requests user authorization to access app-related data for tracking. Displays the native iOS tracking permission dialog.

Note: This method will only show the dialog once. Subsequent calls will return the stored authorization status without showing the dialog.

Returns: Promise<AppTrackingStatusResponse>

Since: 1.0.0


getPluginVersion()

getPluginVersion() => Promise<{ version: string; }>

Get the native Capacitor plugin version.

Returns: Promise<{ version: string; }>

Since: 1.0.0


Interfaces

AppTrackingStatusResponse

Response object containing the tracking authorization status.

| Prop | Type | Description | Since | | ------------ | --------------------------------------------------------------- | ------------------------------------------ | ----- | | status | AppTrackingStatus | The current tracking authorization status. | 1.0.0 |

Type Aliases

AppTrackingStatus

Possible values for the tracking authorization status.

  • authorized: User has authorized access to app-related data for tracking
  • denied: User has denied access to app-related data for tracking
  • notDetermined: User has not yet received the authorization request
  • restricted: Authorization is restricted (e.g., parental controls, MDM)

'authorized' | 'denied' | 'notDetermined' | 'restricted'