This commit is contained in:
dimitar committed 2026-07-24 04:02:04 +02:00
1 parent 8026a25278
commit 865e3c5255
22 files changed
+1224 -8

No files matched your search

+104
View File
@@ -0,0 +1,104 @@
# Digital Asset Links Configuration
This file enables Trusted Web Activity (TWA) verification for the Placebo.mk Android app.
## What is this?
Digital Asset Links allows your Android app to open without browser UI by proving you own both the website (`https://app.placebo.mk`) and the Android app (`mk.placebo.app`).
## Current Status
⚠️ **PLACEHOLDER** - The SHA256 fingerprint needs to be updated after PWABuilder generates your signing key.
## How to Update
### Step 1: Generate Android App with PWABuilder
1. Go to https://www.pwabuilder.com/
2. Enter your PWA URL: `https://app.placebo.mk`
3. Click "Package For Stores" → "Android"
4. Download the package
### Step 2: Get SHA256 Fingerprint
PWABuilder will provide the SHA256 fingerprint in the downloaded package. Look for:
- `assetlinks.json` file in the package
- Or in the PWABuilder dashboard under "Android Package Options"
The fingerprint looks like:
```
14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E3:6D:3A:AE:4E:9F:5F:E8:E3:91:A0:7E
```
### Step 3: Update assetlinks.json
Replace `PLACEHOLDER_SHA256_FINGERPRINT_FROM_PWABUILDER` in `assetlinks.json` with your actual fingerprint:
```json
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "mk.placebo.app",
"sha256_cert_fingerprints": [
"14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E3:6D:3A:AE:4E:9F:5F:E8:E3:91:A0:7E"
]
}
}
```
### Step 4: Deploy Updated File
The file must be accessible at:
```
https://app.placebo.mk/.well-known/assetlinks.json
```
Nginx is already configured to serve this file (see `nginx.conf`).
### Step 5: Verify
Use Google's validator tool:
```bash
curl "https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://app.placebo.mk&relation=delegate_permission/common.handle_all_urls"
```
Or visit:
https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://app.placebo.mk
You should see your statement returned with `"debugString": "*** ERRORS parsing assetlinks.json: ..."` until you replace the placeholder.
## Troubleshooting
### File not accessible
- Check nginx configuration includes `.well-known` location
- Verify file permissions (should be readable)
- Test with: `curl https://app.placebo.mk/.well-known/assetlinks.json`
### TWA not opening properly
- Ensure SHA256 fingerprint matches your app's signing certificate
- Verify package name is exactly `mk.placebo.app`
- Check both production and debug fingerprints if testing locally
### Multiple Fingerprints
If you have both debug and release keys, add both:
```json
"sha256_cert_fingerprints": [
"14:6D:E9:... (release key)",
"AA:BB:CC:... (debug key)"
]
```
## Important Notes
- This file must be served with `Content-Type: application/json`
- The file must be accessible via HTTPS (HTTP will fail)
- Changes take effect immediately (no cache)
- Keep your signing key secure - anyone with it can create apps verified for your domain
## Resources
- [Digital Asset Links Documentation](https://developers.google.com/digital-asset-links/v1/getting-started)
- [TWA Guide](https://developers.google.com/web/android/trusted-web-activity)
- [PWABuilder Documentation](https://docs.pwabuilder.com/)
+12
View File
@@ -0,0 +1,12 @@
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "mk.placebo.app",
"sha256_cert_fingerprints": [
"PLACEHOLDER_SHA256_FINGERPRINT_FROM_PWABUILDER"
]
}
}
]
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 902 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 942 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 987 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

+88
View File
@@ -0,0 +1,88 @@
# Screenshots for Google Play Store
## Required Screenshots
You need to capture **2-8 screenshots** from the deployed PWA at https://app.placebo.mk
### How to Capture Screenshots
#### Using Chrome DevTools (Recommended)
1. Open Chrome browser
2. Navigate to https://app.placebo.mk
3. Press `F12` to open DevTools
4. Click the device toolbar icon (or press `Ctrl+Shift+M`)
5. Select device: **Pixel 5** (1080 x 2340)
6. Capture each screen:
- Click the three dots menu in device toolbar
- Select "Capture screenshot"
- Save as PNG in this directory
#### Recommended Screenshots
Capture these key screens (in order):
1. **screenshot-1-home.png** - Homepage with hero article and latest articles
2. **screenshot-2-article.png** - Article detail page showing full article
3. **screenshot-3-archive.png** - Archive page with article grid
4. **screenshot-4-live-blogs.png** - Live blogs listing page
5. **screenshot-5-live-blog-detail.png** - Live blog detail with real-time updates
6. **screenshot-6-categories.png** - Category page (Sport/Art/Science)
### Google Play Requirements
- **Format**: PNG or JPEG (PNG recommended)
- **Minimum dimensions**: 320px (shortest edge)
- **Maximum dimensions**: 3840px (longest edge)
- **Aspect ratio**: 16:9 or 9:16 recommended
- **File size**: Under 8MB per screenshot
- **Quantity**: Minimum 2, maximum 8
### Current Device Settings
Using **Pixel 5** emulation:
- Resolution: 1080 x 2340 pixels
- Pixel ratio: 2.75
- Portrait orientation
- This meets Google Play requirements perfectly
### After Capturing
Once you've captured the screenshots:
1. Name them as: `screenshot-1.png`, `screenshot-2.png`, etc.
2. Place them in this directory (`pwa/public/screenshots/`)
3. Optionally add them to the PWA manifest for better install UX
4. Upload to Google Play Console when creating the app listing
### Optional: Add to Manifest
If you want screenshots to appear in the browser install prompt, update `vite.config.ts`:
```typescript
manifest: {
// ... other config
screenshots: [
{
src: '/screenshots/screenshot-1.png',
sizes: '1080x2340',
type: 'image/png',
form_factor: 'narrow',
label: 'Homepage with latest articles',
},
// Add more screenshots here
],
}
```
### Tips for Great Screenshots
- ✅ Use actual content (not Lorem Ipsum)
- ✅ Show the app in use with real articles
- ✅ Capture different sections to show variety
- ✅ Make sure text is readable
- ✅ Use light mode (default theme)
- ✅ Clear navigation bar and UI elements
- ❌ Don't include device frames (Google Play adds them)
- ❌ Don't add text overlays (save for marketing images)
- ❌ Don't capture error states or empty screens