İçeriğe geç

Büyüme

Derin bağlantılar

Derin bağlantı, yüklü uygulamanın içinde belirli bir ekranı açar: bir meydan okuma, bir davet ya da bir ürün sayfası gibi. Uygulama yüklü değilse ziyaretçi, akıllı bağlantında olduğu gibi mağazaya gider. Derin bağlantılar Pro, Studio ve Lifetime planlarında kullanılabilir. Universal Links ve Android App Links için ayrıca Studio planındaki özel alan adı özelliği gerekir.

Derin bağlantı nasıl çalışır

Akıllı bağlantına /open/ ve uygulama içindeki yolu ekle. Sorgu dizesi de uygulamaya aktarılır:

https://mapps.one/habitly/open/challenges/30-days?ref=newsletter
ZiyaretçiNe olur
iOS URL şeması ayarlıyken iPhone veya iPad Kısa bir sayfa habitly://challenges/30-days?ref=newsletter adresini açmayı dener. Uygulama yüklü değilse ziyaretçi App Store'a devam eder.
Paket adı ayarlıyken Android veya Huawei Kısa bir sayfa aynı yol için, yalnızca senin paketinle sınırlı bir Android intent'i açar. Uygulama yüklüyse Chrome onu açar, değilse Google Play'e giden yedek adresi izler.
Platformu için derin bağlantı ayarı olmayan telefon ya da tablet Doğrudan yedek adrese yönlendirilir.
Masaüstü bilgisayarlar ve botlar Sorgu dizesi korunarak akıllı bağlantıya yönlendirilir.

Yedek adres, yönlendirme kurallarına göre akıllı bağlantının o cihazı gönderdiği yerdir; UTM etiketleri de aktarılır. O platform için mağaza bağlantısı yoksa yedek adres açılış sayfasıdır. Derin bağlantılar hiç kurulmadıysa ya da plan bu özelliği içermiyorsa tüm ziyaretçiler akıllı bağlantıya yönlendirilir.

Yollar harf, rakam ve / _ - . ~ % karakterlerini içerebilir. Diğer karakterler kaldırılır; boşluk gibi karakterleri yüzde kodlamasıyla yaz (%20).

Kurulum

Uygulamanın Derin bağlantılar sekmesini aç ve desteklediğin platformların alanlarını doldur:

AlanÖrnekKullanım amacı
iOS URL şemasıhabitly://iPhone ve iPad'de yönlendirme sayfasından uygulamayı açmak
Apple Team IDA1B2C3D4E5Universal Links. Apple Developer hesabındaki üyelik bilgilerinde yer alan 10 karakterlik kimlik.
iOS bundle IDcom.habitly.appUniversal Links
Android paket adıcom.habitly.appAndroid ve Huawei cihazlarda uygulamayı açmak
Android şemasıhabitlyIntent filtrenin işlediği şema
SHA-256 sertifika parmak izleri14:6D:E9:83:...:44:E5Android App Links. Virgül, boşluk ya da yeni satırla ayırarak bir veya daha fazla ekle.
Android şeması: bunu uygulamanın kaydettiği özel şemaya, örneğin habitly olarak ayarla. Boş bırakırsan https kullanılır ve yolun ilk kısmı alan adı gibi değerlendirilir (https://challenges/30-days). Bu yalnızca intent filtren bunu bekliyorsa çalışır.

Şemayı uygulamana kaydet

iOS için Info.plist dosyasında:

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

Android için AndroidManifest.xml dosyasında:

<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>

Uygulamanda gelen adresi oku, eşleşen ekrana yönlendir ve ihtiyacın olan sorgu parametrelerini al. İnsanlar adresleri elle değiştirebildiği için tanımadığın yolları ana ekrana gönder.

Universal Links ve Android App Links

Şema bağlantıları önce kısa bir yönlendirme sayfası gösterir; iOS ziyaretçiden onay isteyebilir. Doğrulanmış bağlantılar bu adımı atlar: uygulama yüklüyse sistem onu doğrudan açar. Doğrulama için yalnızca uygulamana ait bir alan adı gerekir, bu yüzden özel alan adında çalışır. get.habitly.app bağlandığında mapps.one ilişkilendirme dosyalarını senin için sunar:

DosyaOluşturulduğu bilgiler
https://get.habitly.app/.well-known/apple-app-site-association
(/apple-app-site-association adresinde de)
Apple Team ID ve bundle ID
https://get.habitly.app/.well-known/assetlinks.jsonAndroid paket adı ve SHA-256 parmak izleri

Apple dosyası /open/ altındaki tüm yolları kapsar:

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

Android dosyası:

[
  {
    "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"
      ]
    }
  }
]

Her dosya, alanları geçerli olana kadar "404 Bulunamadı" döndürür: Apple için 10 karakterlik bir Team ID ve bundle ID; Android için paket adı ve AA:BB:... biçiminde (32 çift) en az bir parmak izi. Play Console → App integrity bölümündeki Play App Signing anahtarının parmak izini kullan; yerelde imzalanan sürümleri test ediyorsan yükleme anahtarını da ekle. Dosyalar bir saat önbellekte tutulur. Apple da bunları kendi sunucularında önbelleğe aldığı için değişiklikleri test ederken uygulamayı yeniden yükle.

Uygulamanı yapılandır

iOS: Associated Domains yeteneğini applinks:get.habitly.app değeriyle ekle.

Android: alan adın için doğrulanmış bir intent filtresi ekle:

<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>

Ardından kampanyalarında https://get.habitly.app/open/challenges/30-days gibi bağlantılar kullan. Uygulama yüklü değilse tarayıcı sayfayı yükler ve aynı yedek akış çalışır.

Doğrulanmış bağlantılarda kendi alan adını kullan. mapps.one pek çok uygulama tarafından paylaşıldığı için ilişkilendirme dosyaları yalnızca özel alan adlarında sunulur. mapps.one/habitly/open/ bağlantıları yönlendirme sayfası üzerinden çalışmaya devam eder. Panelde ve API'de gösterilen derin bağlantı adresleri mapps.one kullanır; doğrulanmış bağlantı istediğinde alan adını kendi alan adınla değiştir.

Analitik

Bir telefon ya da tablet /open/ adresini yüklediğinde ve mapps.one uygulamayı açmayı denediğinde Derin bağlantı açılışları altında bir açılış sayılır. Mağazaya yapılan yedek yönlendirme ikinci kez sayılmaz. Uygulamayı doğrudan açan doğrulanmış bağlantılar mapps.one'a hiç ulaşmadığı için sayılmaz; bunlar için uygulamanın kendi analitiğini kullan.