need4deed-org / need4deed-org/fe

app: deep linking — universal links (iOS) + app links (Android)

Open
#652 0 comments 0 reactions 1 assignee View on GitHub

@Justber79 is already working on this.

Since Sep 16, 2026.

enhancement
Dominant language
TypeScript
Stars
3
Forks
24
Avg merge
2d 16h
Merged PRs (30d)
44

Description

Context

Sub-issue of #535. Depends on #649. Enables URLs like https://app.need4deed.org/dashboard/volunteers/42 to open the native app directly at that screen — used by push notifications and external shares.

iOS — Universal Links

  1. Host /.well-known/apple-app-site-association on app.need4deed.org:
    ```json
    {
    "applinks": {
    "apps": [],
    "details": [{ "appID": "TEAMID.org.need4deed.app", "paths": ["/dashboard/", "/forms/"] }]
    }
    }
    ```
  2. Enable Associated Domains in Xcode → Signing & Capabilities: applinks:app.need4deed.org
  3. Handle the incoming URL in Capacitor:
    ```ts
    import { App } from '@capacitor/app';
    App.addListener('appUrlOpen', ({ url }) => {
    const path = new URL(url).pathname;
    router.push(path);
    });
    ```

Android — App Links

  1. Host /.well-known/assetlinks.json on app.need4deed.org:
    ```json
    [{
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": { "namespace": "android_app", "package_name": "org.need4deed.app", "sha256_cert_fingerprints": ["..."] }
    }]
    ```
  2. Add intent filter to android/app/src/main/AndroidManifest.xml for https://app.need4deed.org
  3. Same appUrlOpen listener handles Android too

Hosting the well-known files

Add both files as static assets in public/.well-known/ — Next.js serves public/ at the root automatically.

Tasks

  • Create public/.well-known/apple-app-site-association
  • Create public/.well-known/assetlinks.json
  • Enable Associated Domains in Xcode
  • Add intent filter in AndroidManifest.xml
  • Install @capacitor/app and wire appUrlOpenrouter.push
  • Test: tap a need4deed.org link on device → app opens at correct screen

Depends on

#649 (Capacitor setup), #651 (push notifications — deep links used there)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.