> **integration-android** — chapter 118 of 200 in [PostHog/skills](https://skillsdocs.com/PostHog/skills).
>
> Book (all chapters, one file): https://skillsdocs.com/PostHog/skills.md
> Machine manifest: https://skillsdocs.com/PostHog/skills/.well-known/agent-skills/index.json
> Install the book: `npx skills add PostHog/skills`
> Upstream: https://github.com/PostHog/skills/blob/main/skills/posthog/all/skills/integration-android/SKILL.md @ `main`
> Raw bytes, no header: https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/SKILL.md
> Base for relative paths: https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/
> Licence: MIT — https://spdx.org/licenses/MIT.html
>
> Bundled files (7), referenced from this skill's directory:
>   - `references/android.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/references/android.md
>   - `references/basic-integration-1.0-begin.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/references/basic-integration-1.0-begin.md
>   - `references/basic-integration-1.1-edit.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/references/basic-integration-1.1-edit.md
>   - `references/basic-integration-1.2-revise.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/references/basic-integration-1.2-revise.md
>   - `references/basic-integration-1.3-conclude.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/references/basic-integration-1.3-conclude.md
>   - `references/EXAMPLE.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/references/EXAMPLE.md
>   - `references/identify-users.md` — https://raw.githubusercontent.com/PostHog/skills/main/skills/posthog/all/skills/integration-android/references/identify-users.md
>
> Content © its authors, served unmodified. Takedown: https://github.com/kyleledbetter/skillsdocs/issues/new?labels=takedown&title=Takedown+request

<!-- Verbatim upstream SKILL.md follows, YAML frontmatter included. -->

---
name: integration-android
description: PostHog integration for Android applications
metadata:
  author: PostHog
  version: 1.9.4
---

# PostHog integration for Android

This skill helps you add PostHog analytics to Android applications.

## Workflow

Follow these steps in order to complete the integration:

1. `basic-integration-1.0-begin.md` - PostHog Setup - Begin ← **Start here**
2. `basic-integration-1.1-edit.md` - PostHog Setup - Edit
3. `basic-integration-1.2-revise.md` - PostHog Setup - Revise
4. `basic-integration-1.3-conclude.md` - PostHog Setup - Conclusion

## Reference files

- `references/EXAMPLE.md` - Android example project code
- `references/android.md` - Android - docs
- `references/identify-users.md` - Identify users - docs
- `references/basic-integration-1.0-begin.md` - PostHog setup - begin
- `references/basic-integration-1.1-edit.md` - PostHog setup - edit
- `references/basic-integration-1.2-revise.md` - PostHog setup - revise
- `references/basic-integration-1.3-conclude.md` - PostHog setup - conclusion

The example project shows the target implementation pattern. Consult the documentation for API details.

## Key principles

- **Environment variables**: Always use environment variables for PostHog keys. Never hardcode them.
- **Minimal changes**: Add PostHog code alongside existing integrations. Don't replace or restructure existing code.
- **Match the example**: Your implementation should follow the example project's patterns as closely as possible.

## Framework guidelines

- Adapt dependency configuration to the appropriate build.gradle(.kts) file according to the project gradle version
- Call `PostHogAndroid.setup()` only once in the Application class's `onCreate()` method, so it's initialized as early as possible and only once.
- Initialize PostHog in the Application class's `onCreate()` method
- Ensure every activity has a `android:label` to accurately track screen views.

## Identifying users

Identify users during login and signup events. Refer to the example code and documentation for the correct identify pattern for this framework. If both frontend and backend code exist, pass the client-side session and distinct ID using `X-POSTHOG-DISTINCT-ID` and `X-POSTHOG-SESSION-ID` headers to maintain correlation.

## Error tracking

Add PostHog error tracking to relevant files, particularly around critical user flows and API boundaries.
