Pertumbuhan
Deep link
Deep link membuka layar tertentu di dalam aplikasi Anda yang sudah terpasang, seperti tantangan, undangan referral, atau halaman produk. Jika aplikasi belum terpasang, pengunjung diarahkan ke store, sama seperti smart link Anda. Deep link tersedia di Pro, Studio, dan Seumur Hidup. Universal Links dan Android App Links juga memerlukan domain kustom, yang merupakan bagian dari Studio.
Cara kerja deep link
Tambahkan /open/ dan path di dalam aplikasi ke smart link Anda. Query string juga ikut diteruskan:
https://mapps.one/habitly/open/challenges/30-days?ref=newsletter
| Pengunjung | Apa yang terjadi |
|---|---|
| iPhone atau iPad, dengan skema URL iOS yang sudah diatur | Halaman singkat mencoba membuka habitly://challenges/30-days?ref=newsletter. Jika aplikasi belum terpasang, pengunjung dilanjutkan ke App Store. |
| Android atau Huawei, dengan nama paket yang sudah diatur | Halaman singkat membuka intent Android untuk path yang sama, yang dibatasi ke paket Anda. Chrome membuka aplikasi jika sudah terpasang, dan jika tidak, mengikuti fallback ke Google Play. |
| Ponsel atau tablet, tanpa pengaturan deep link untuk platformnya | Langsung dialihkan ke fallback. |
| Komputer desktop dan bot | Dialihkan ke smart link, dengan query string tetap dipertahankan. |
Fallback adalah tujuan yang akan dituju smart link Anda untuk perangkat tersebut, sesuai aturan pengalihan Anda, dengan tag UTM diteruskan. Jika platform tersebut tidak memiliki link store, fallback-nya adalah landing page. Jika deep link sama sekali belum disiapkan, atau paket tidak menyertakannya, setiap pengunjung dialihkan ke smart link.
Path dapat berisi huruf, angka, dan karakter / _ - . ~ %. Karakter lain dihapus, jadi lakukan percent-encoding untuk karakter lainnya, seperti spasi (%20).
Penyiapan
Buka tab Deep link aplikasi dan isi kolom untuk platform yang Anda dukung:
| Kolom | Contoh | Digunakan untuk |
|---|---|---|
| Skema URL iOS | habitly:// | Membuka aplikasi dari halaman pengalihan di iPhone dan iPad |
| Apple Team ID | A1B2C3D4E5 | Universal Links. ID 10 karakter dari Membership details di akun Apple Developer Anda. |
| Bundle ID iOS | com.habitly.app | Universal Links |
| Nama paket Android | com.habitly.app | Membuka aplikasi di perangkat Android dan Huawei |
| Skema Android | habitly | Skema yang ditangani intent filter Anda |
| Fingerprint sertifikat SHA-256 | 14:6D:E9:83:...:44:E5 | Android App Links. Tambahkan satu atau lebih, dipisahkan dengan koma, spasi, atau baris baru. |
habitly. Jika dibiarkan kosong, https yang digunakan dan bagian pertama path menjadi host (https://challenges/30-days). Cara ini hanya berfungsi jika intent filter Anda memang mengharapkannya.Daftarkan skema di aplikasi Anda
iOS, di Info.plist:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>habitly</string>
</array>
</dict>
</array>
Android, di 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>
Di aplikasi Anda, baca URL yang masuk, arahkan ke layar yang sesuai, dan baca parameter query yang Anda perlukan. Arahkan path yang tidak dikenal ke layar beranda, karena orang sering mengedit URL.
Universal Links dan Android App Links
Link berbasis skema menampilkan halaman pengalihan singkat terlebih dahulu, dan iOS mungkin meminta pengunjung untuk mengonfirmasi. Link terverifikasi melewati langkah tersebut: saat aplikasi sudah terpasang, sistem langsung membukanya. Verifikasi memerlukan domain yang hanya dimiliki aplikasi Anda, jadi fitur ini berfungsi di domain kustom Anda. Setelah get.habitly.app terhubung, mapps.one menyajikan file asosiasi untuk Anda:
| File | Dibuat dari |
|---|---|
https://get.habitly.app/.well-known/apple-app-site-association(juga tersedia di /apple-app-site-association) | Apple Team ID dan bundle ID |
https://get.habitly.app/.well-known/assetlinks.json | Nama paket Android dan fingerprint SHA-256 |
File Apple mencakup setiap path di bawah /open/:
{
"applinks": {
"details": [
{
"appIDs": ["A1B2C3D4E5.com.habitly.app"],
"components": [
{ "/": "/open/*", "comment": "Deep links created with mapps.one" }
]
}
]
},
"webcredentials": { "apps": ["A1B2C3D4E5.com.habitly.app"] }
}
File 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"
]
}
}
]
Setiap file mengembalikan "404 Not Found" sampai kolomnya valid: Team ID 10 karakter dan bundle ID untuk Apple, serta nama paket dengan setidaknya satu fingerprint dalam format AA:BB:... (32 pasang) untuk Android. Gunakan fingerprint kunci Play App Signing dari Play Console → App integrity, dan tambahkan juga kunci upload Anda jika Anda menguji build yang ditandatangani secara lokal. File disimpan di cache selama satu jam. Apple juga menyimpannya di cache pada servernya sendiri, jadi instal ulang aplikasi untuk menguji perubahan.
Konfigurasikan aplikasi Anda
iOS: tambahkan capability Associated Domains dengan applinks:get.habitly.app.
Android: tambahkan intent filter terverifikasi untuk domain Anda:
<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>
Lalu gunakan link seperti https://get.habitly.app/open/challenges/30-days dalam kampanye Anda. Saat aplikasi belum terpasang, browser memuat halaman dan alur fallback yang sama berjalan.
mapps.one digunakan bersama oleh banyak aplikasi. Link di mapps.one/habitly/open/ tetap berfungsi melalui halaman pengalihan. URL deep link yang ditampilkan di dashboard dan API menggunakan mapps.one, jadi ganti host-nya dengan domain Anda jika Anda menginginkan link terverifikasi.Analitik
Pembukaan dihitung dalam Pembukaan deep link saat ponsel atau tablet memuat URL /open/ dan mapps.one mencoba membuka aplikasi. Fallback ke store tidak dihitung untuk kedua kalinya. Link terverifikasi yang langsung membuka aplikasi tidak pernah sampai ke mapps.one, sehingga tidak dihitung. Gunakan analitik aplikasi Anda sendiri untuk link tersebut.