# روابط إعلانات Meta — أسئلة لمبرمج التطبيق

## المشكلة

إعلانات Meta (فيسبوك / إنستغرام) لما المستخدم يضغط عليها بتفتح الموقع مو التطبيق، حتى لو التطبيق منزّل.

السبب الأساسي: الضغط على الإعلان بيفتح الرابط **بمتصفح فيسبوك / إنستغرام الداخلي**، وهاد المتصفح غالباً بيتجاهل Universal Links (iOS) و App Links (Android)، فملف `apple-app-site-association` لحاله ما بيكفي.

## الحل اللي ناويين عليه

نضيف وسوم App Links براس صفحات الموقع (المنتج، القسم، الماركة، المتجر، البحث، العروض، الرئيسية). متصفح فيسبوك بيقراها وبيفتح التطبيق على نفس الصفحة. مثال لصفحة منتج:

```html
<meta property="al:ios:url"          content="kapitano://product/iphone-15">
<meta property="al:ios:app_store_id" content="123456789">
<meta property="al:ios:app_name"     content="Kapitano">
<meta property="al:android:url"      content="kapitano://product/iphone-15">
<meta property="al:android:package"  content="shop.kapitano">
<meta property="al:android:app_name" content="Kapitano">
```

> القيم بالمثال **تخمين**. بدنا القيم الصحيحة منك.

## الأسئلة

1. **هل التطبيق مسجّل custom URL scheme؟** (متل `kapitano://`). إذا إي، شو هو؟ وهل هو نفسه على iOS و Android؟
2. **شو صيغة الرابط لكل شاشة؟** عبّي الجدول:

   | الشاشة | رابط الموقع | الرابط اللي بيقبله التطبيق |
   |---|---|---|
   | الرئيسية | `/` | |
   | منتج | `/product/{slug}` | |
   | قسم | `/category/{slug}` | |
   | كل الأقسام | `/categories` | |
   | بحث | `/search?keyword={text}` | |
   | ماركة | `/brand/{slug}` | |
   | كل الماركات | `/brands` | |
   | عرض فلاش | `/flash-deal/{slug}` | |
   | كل عروض الفلاش | `/flash-deals` | |
   | عروض اليوم | `/todays-deal` | |
   | متجر | `/shop/{slug}` | |
   | كل المتاجر | `/sellers` | |
   | السلة | `/cart` | |

3. **أو بيقبل التطبيق نفس رابط الموقع** (`https://kapitano.shop/product/...`) بدل custom scheme؟
4. **رقم التطبيق على App Store** (`app_store_id`).
5. **هل التطبيق فيه Facebook SDK؟** إذا فيه، فينا نستعمل حقل **Deep link** بإعلانات Meta مباشرة (حملة App Engagement)، وهاد أضمن حل.
6. **النسخ القديمة من التطبيق:** إذا وصلها رابط شاشة ما بتعرفها (مثلاً `/brand/x` أو `/shop/x`)، شو بيصير؟ بتفتح الرئيسية، ولا شاشة فاضية، ولا بتعلّق؟ لأنو تعديل ملف iOS بيوصل للمستخدمين الحاليين بدون تحديث.

## ملاحظة على ملف `apple-app-site-association` اللي بعته

المسار `/shop/*` بيلقط كمان صفحات تسجيل التاجر عالموقع:

- `/shop/registration/verification`
- `/shop/registration/verify-code/{id}`
- `/shop/crea`

فالتاجر اللي عم يسجّل من آيفون عليه التطبيق، إذا ضغط على رابط التحقق، رح ينفتح التطبيق بدل الموقع. رح نضيف هالاستثناءات **فوق** `/shop/*` عند الرفع، إلا إذا عندك مانع:

```json
{ "/": "/shop/registration/*", "exclude": true },
{ "/": "/shop/crea", "exclude": true },
{ "/": "/shop/*" },
```

وتذكير: مسارات Android موجودة بـ `AndroidManifest.xml` جوا التطبيق، فالمسارات الجديدة على Android بدها نسخة تطبيق جديدة. (`assetlinks.json` عالسيرفر صحيح وما بدو تعديل.)
