مواد پر جائیں

گروتھ

ڈیپ لنکس

ڈیپ لنک آپ کی انسٹال شدہ ایپ کے اندر کوئی مخصوص اسکرین کھولتا ہے، جیسے کوئی چیلنج، ریفرل دعوت یا پروڈکٹ کا صفحہ۔ اگر ایپ انسٹال نہ ہو تو وزیٹر آپ کے سمارٹ لنک کی طرح اسٹور پر چلا جاتا ہے۔ ڈیپ لنکس Pro، Studio اور لائف ٹائم پر دستیاب ہیں۔ Universal Links اور Android App Links کے لیے کسٹم ڈومین بھی درکار ہے، جو Studio کا حصہ ہے۔

ڈیپ لنک کیسے کام کرتا ہے

اپنے سمارٹ لنک میں /open/ اور ایپ کے اندر کا پاتھ شامل کریں۔ کوئری اسٹرنگ بھی ساتھ آگے بھیجی جاتی ہے:

https://mapps.one/habitly/open/challenges/30-days?ref=newsletter
وزیٹرکیا ہوتا ہے
iPhone یا iPad، جب iOS URL اسکیم سیٹ ہو ایک مختصر صفحہ habitly://challenges/30-days?ref=newsletter کھولنے کی کوشش کرتا ہے۔ اگر ایپ انسٹال نہ ہو تو وزیٹر آگے App Store پر چلا جاتا ہے۔
Android یا Huawei، جب package name سیٹ ہو ایک مختصر صفحہ اسی پاتھ کے لیے Android intent کھولتا ہے، جو صرف آپ کے پیکیج تک محدود ہوتا ہے۔ اگر ایپ انسٹال ہو تو Chrome اسے کھول دیتا ہے، ورنہ فال بیک کے مطابق Google Play پر چلا جاتا ہے۔
فون یا ٹیبلٹ، جس کے پلیٹ فارم کے لیے کوئی ڈیپ لنک سیٹنگز نہ ہوں براہ راست فال بیک پر ری ڈائریکٹ کیا جاتا ہے۔
ڈیسک ٹاپ کمپیوٹرز اور بوٹس کوئری اسٹرنگ برقرار رکھتے ہوئے سمارٹ لنک پر ری ڈائریکٹ کیا جاتا ہے۔

فال بیک وہی جگہ ہے جہاں آپ کا سمارٹ لنک اس ڈیوائس کو آپ کے ری ڈائریکٹ قواعد کے مطابق بھیجتا، اور UTM ٹیگز بھی آگے بھیجے جاتے ہیں۔ اگر اس پلیٹ فارم کا کوئی اسٹور لنک نہ ہو تو فال بیک لینڈنگ پیج ہوتا ہے۔ اگر ڈیپ لنکس بالکل سیٹ اپ نہ کیے گئے ہوں، یا پلان میں شامل نہ ہوں، تو ہر وزیٹر کو سمارٹ لنک پر ری ڈائریکٹ کیا جاتا ہے۔

پاتھ میں حروف، اعداد اور / _ - . ~ % علامات ہو سکتی ہیں۔ دیگر علامات ہٹا دی جاتی ہیں، اس لیے باقی ہر چیز کو، جیسے اسپیسز (%20)، پرسنٹ انکوڈ کریں۔

سیٹ اپ کریں

ایپ کا ڈیپ لنکس ٹیب کھولیں اور جن پلیٹ فارمز کو آپ سپورٹ کرتے ہیں ان کی فیلڈز بھریں:

فیلڈمثالکس کام آتی ہے
iOS URL اسکیمhabitly://iPhone اور iPad پر ری ڈائریکٹ صفحے سے ایپ کھولنا
Apple Team IDA1B2C3D4E5Universal Links۔ آپ کے Apple Developer اکاؤنٹ کی Membership details میں موجود 10 حروف کی ID۔
iOS bundle IDcom.habitly.appUniversal Links
Android package namecom.habitly.appAndroid اور Huawei ڈیوائسز پر ایپ کھولنا
Android اسکیمhabitlyوہ اسکیم جسے آپ کا intent filter ہینڈل کرتا ہے
SHA-256 سرٹیفکیٹ فنگر پرنٹس14:6D:E9:83:...:44:E5Android App Links۔ ایک یا زیادہ شامل کریں، انہیں کوما، اسپیس یا نئی لائن سے الگ کریں۔
Android اسکیم: اسے اس کسٹم اسکیم پر سیٹ کریں جو آپ کی ایپ رجسٹر کرتی ہے، جیسے habitly۔ اگر آپ اسے خالی چھوڑ دیں تو https استعمال ہوتا ہے اور پاتھ کا پہلا حصہ ہوسٹ بن جاتا ہے (https://challenges/30-days)۔ یہ صرف اسی صورت میں کام کرتا ہے جب آپ کا intent filter یہی توقع رکھتا ہو۔

اپنی ایپ میں اسکیم رجسٹر کریں

iOS، Info.plist میں:

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>habitly</string>
    </array>
  </dict>
</array>

Android، AndroidManifest.xml میں:

<activity android:name=".MainActivity" android:exported="true">
  <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="habitly" />
  </intent-filter>
</activity>

اپنی ایپ میں آنے والا URL پڑھیں، متعلقہ اسکرین پر لے جائیں اور جو کوئری پیرامیٹرز درکار ہوں وہ پڑھیں۔ نامعلوم پاتھس کو ہوم اسکرین پر بھیجیں، کیونکہ لوگ URLs میں ترمیم کر لیتے ہیں۔

Universal Links اور Android App Links

اسکیم لنکس پہلے ایک مختصر ری ڈائریکٹ صفحہ دکھاتے ہیں، اور iOS وزیٹر سے تصدیق طلب کر سکتا ہے۔ تصدیق شدہ لنکس یہ مرحلہ چھوڑ دیتے ہیں: جب ایپ انسٹال ہو تو سسٹم اسے براہ راست کھول دیتا ہے۔ تصدیق کے لیے ایسا ڈومین درکار ہے جو صرف آپ کی ایپ کا ہو، اس لیے یہ آپ کے کسٹم ڈومین پر کام کرتی ہے۔ جب get.habitly.app کنیکٹ ہو جائے تو mapps.one آپ کے لیے ایسوسی ایشن فائلیں سرو کرتا ہے:

فائلکس ڈیٹا سے بنتی ہے
https://get.habitly.app/.well-known/apple-app-site-association
(/apple-app-site-association پر بھی)
Apple Team ID اور bundle ID
https://get.habitly.app/.well-known/assetlinks.jsonAndroid package name اور SHA-256 فنگر پرنٹس

Apple فائل /open/ کے تحت ہر پاتھ کا احاطہ کرتی ہے:

{
  "applinks": {
    "details": [
      {
        "appIDs": ["A1B2C3D4E5.com.habitly.app"],
        "components": [
          { "/": "/open/*", "comment": "Deep links created with mapps.one" }
        ]
      }
    ]
  },
  "webcredentials": { "apps": ["A1B2C3D4E5.com.habitly.app"] }
}

Android فائل:

[
  {
    "relation": ["delegate_permission/common.handle_all_urls"],
    "target": {
      "namespace": "android_app",
      "package_name": "com.habitly.app",
      "sha256_cert_fingerprints": [
        "14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"
      ]
    }
  }
]

ہر فائل اس وقت تک "404 Not Found" لوٹاتی ہے جب تک اس کی فیلڈز درست نہ ہوں: Apple کے لیے 10 حروف کی Team ID اور ایک bundle ID، اور Android کے لیے ایک package name کے ساتھ AA:BB:... فارمیٹ (32 جوڑے) میں کم از کم ایک فنگر پرنٹ۔ Play Console → App integrity سے Play App Signing کلید کا فنگر پرنٹ استعمال کریں، اور اگر آپ لوکل طور پر سائن کی گئی بلڈز آزماتے ہیں تو اپنی اپ لوڈ کلید کا فنگر پرنٹ بھی شامل کریں۔ فائلیں ایک گھنٹے تک کیش کی جاتی ہیں۔ Apple بھی انہیں اپنے سرورز پر کیش کرتا ہے، اس لیے تبدیلیاں آزمانے کے لیے ایپ دوبارہ انسٹال کریں۔

اپنی ایپ کنفیگر کریں

iOS: applinks:get.habitly.app کے ساتھ Associated Domains کیپیبلٹی شامل کریں۔

Android: اپنے ڈومین کے لیے ایک تصدیق شدہ intent filter شامل کریں:

<intent-filter android:autoVerify="true">
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="https" android:host="get.habitly.app" android:pathPrefix="/open/" />
</intent-filter>

پھر اپنی کیمپینز میں https://get.habitly.app/open/challenges/30-days جیسے لنکس استعمال کریں۔ جب ایپ انسٹال نہ ہو تو براؤزر صفحہ لوڈ کرتا ہے اور وہی فال بیک عمل چلتا ہے۔

تصدیق شدہ لنکس میں اپنا ڈومین استعمال کریں۔ ایسوسی ایشن فائلیں صرف کسٹم ڈومینز پر سرو کی جاتی ہیں، کیونکہ mapps.one بہت سی ایپس کے درمیان مشترک ہے۔ mapps.one/habitly/open/ پر لنکس ری ڈائریکٹ صفحے کے ذریعے کام کرتے رہتے ہیں۔ ڈیش بورڈ اور API میں دکھائے جانے والے ڈیپ لنک URLs میں mapps.one استعمال ہوتا ہے، اس لیے جب آپ تصدیق شدہ لنکس چاہیں تو ہوسٹ کو اپنے ڈومین سے بدل دیں۔

اینالیٹکس

ڈیپ لنک اوپنز میں ایک اوپن اس وقت شمار ہوتا ہے جب کوئی فون یا ٹیبلٹ /open/ URL لوڈ کرے اور mapps.one ایپ کھولنے کی کوشش کرے۔ اسٹور پر فال بیک کو دوسری بار شمار نہیں کیا جاتا۔ ایپ کو براہ راست کھولنے والے تصدیق شدہ لنکس کبھی mapps.one تک نہیں پہنچتے، اس لیے وہ شمار نہیں ہوتے۔ ان کے لیے اپنی ایپ کے اینالیٹکس استعمال کریں۔