| 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <!-- |
| 3 | App Links overlay — release builds only. |
| 4 | |
| 5 | This is NOT the app manifest. It is a build-type source set that AGP's |
| 6 | manifest merger folds into the generated app/src/main/AndroidManifest.xml, |
| 7 | adding one intent-filter to the existing MainActivity and changing nothing |
| 8 | else. |
| 9 | |
| 10 | It lives here, and not in src/main/, because scripts/build-android.sh applies |
| 11 | gen-override with `rsync` — a file copy, not an XML merge. An override placed |
| 12 | at app/src/main/AndroidManifest.xml *replaces* the manifest Tauri generates, |
| 13 | silently dropping MAIN/LAUNCHER, INTERNET, the launcher icon, and the |
| 14 | FileProvider. That shipped once: 1.0.1 installed from the Play Store with no |
| 15 | launcher entry, so the Store showed no "Open" button. Keep additions in a |
| 16 | source set the merger owns, and let Tauri's generated manifest stay untouched. |
| 17 | |
| 18 | The App Links filter must stay in its own <intent-filter>. Android evaluates a |
| 19 | filter as a unit — action AND category AND data must all match — so a filter |
| 20 | carrying a <data> element can never match the launcher's ACTION_MAIN intent, |
| 21 | which has no URI. Merging the two sets of tags into one filter reproduces the |
| 22 | same "no Open button" bug. |
| 23 | |
| 24 | Verification also needs https://getsiti.5mb.app/.well-known/assetlinks.json to |
| 25 | serve this app's package name and signing-certificate SHA-256 fingerprint, |
| 26 | otherwise autoVerify fails and links fall back to a disambiguation dialog. |
| 27 | --> |
| 28 | <manifest xmlns:android="http://schemas.android.com/apk/res/android"> |
| 29 | <application> |
| 30 | <activity android:name=".MainActivity"> |
| 31 | <intent-filter android:autoVerify="true"> |
| 32 | <action android:name="android.intent.action.VIEW" /> |
| 33 | <category android:name="android.intent.category.DEFAULT" /> |
| 34 | <category android:name="android.intent.category.BROWSABLE" /> |
| 35 | <data |
| 36 | android:scheme="https" |
| 37 | android:host="getsiti.5mb.app" /> |
| 38 | </intent-filter> |
| 39 | </activity> |
| 40 | </application> |
| 41 | </manifest> |