cara membuat tautan dari situs web saya untuk langsung ke aplikasi saya jika terpasang
Apa yang ingin saya capai
Saat pengguna mengeklik tautan apa pun dari situs web saya, saya ingin itu mengarahkan tautan khusus pengguna di aplikasi saya (Jika terpasang). Jika tidak diinstal, arahkan pengguna untuk menautkan di browser.
Contoh:
Pengguna mendapat email dengan tautan di dalamnya yang disebut: www.myapp.com/someplaceinmyapp Ini pergi ke halaman itu di aplikasi saya jika Sudah diinstal. Jika tidak, buka halaman itu di browser.
Ingatlah bahwa ini untuk semua halaman di aplikasi saya. Jadi ini berlaku untuk tautan apa pun dari halaman web saya.
Pertanyaan saya
Apakah ada nama khusus untuk ini? Saya tahu tentang tautan dalam dan tautan aplikasi, tetapi saya tidak yakin mana yang cocok untuk saya.
Apakah ini mungkin? Saya bahkan tidak yakin apakah itu mungkin saat ini.
Akankah kode untuk ini ada di webage atau aplikasi? misalnya: Javascript atau Kotlin atau sesuatu di file manifes.
Bagaimana saya melakukan ini? Ini mungkin hal yang paling saya butuhkan.
Catatan
Saya mendapatkan sesuatu di halaman web saya yang menampilkan munculan (hanya di browser) yang bertuliskan "Gunakan aplikasi". Jika tidak diinstal, pergilah ke play store. Jika terinstal, maka masuk ke beranda situs web saya di aplikasi saya. Saya menemukan cara melakukannya dari sini menggunakan jawaban dengan suara terbanyak (bukan yang diterima) jadi dalam manifest saya saya punya:
<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="http"
android:host="www.myapp.com"
android:pathPrefix="/install.html" />
</intent-filter>
Jika Anda memiliki sesuatu yang ingin Anda tambahkan ke pertanyaan saya, saya akan dengan senang hati menambahkannya.
Jawaban
Untuk memasukkan spesifik Activity
atau Fragment
aplikasi Anda dari url, disarankan menggunakan Tautan Dalam dari Komponen Navigasi.
1. Tambahkan Tautan Dalam Url di file sumber daya Navigasi (dari panel Atribut):
<fragment
android:id="@+id/studentEditorFragment"
android:name="com.example.roomtest.studentEditor.StudentEditorFragment"
android:label="StudentEditorFragment"
tools:layout="@layout/fragment_student_editor">
<argument
android:name="studentId"
app:argType="long" />
<deepLink
android:id="@+id/deepLink"
app:uri="www.example.com/roomTest/{studentId}" /> //here, company domain name followed by application path or argument
</fragment>
2. Tambahkan atribut Navigasi di AndroidManifest
file:
<activity android:name=".MainActivity"> //【inside the "<activity>" tag】
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<nav-graph android:value="@navigation/navigation" /> //here
</activity>
3. Gunakan tautan di browser web atau pesan teks: "www.example.com/roomTest/-1"
- Untuk meneruskan beberapa argumen, cukup hubungkan dengan "&" seperti: "www.example.com/roomText/-1&true" (format ulang "&" dalam xml seperti yang diminta).
Video yang berguna: https://www.youtube.com/watch?v=hEJ78_KLcfA
Bacaan yang bermanfaat: https://developer.android.com/guide/navigation/navigation-deep-link
Perilaku back stack dari Deep Link: https://stackoverflow.com/a/50359375/3466808
Saya menemukan bahwa cara untuk melakukan ini, menggunakan asisten Tautan Aplikasi, yang dapat Anda temukan di studio android di bawah Alat -> Asisten Tautan Aplikasi. Inilah yang akan Anda lihat di samping setelah Anda membukanya:
Langkah 1
Klik "Buka Editor Pemetaan URL", lalu tambahkan pemetaan URL (Klik "+"). Di host, taruh link website anda mis:https://www.example.com. Untuk Path, di kotak pilih, pilih saja "path" dan jangan masukkan apapun ke dalam kotak type.
Langkah 2
Tombol Select Activity tidak berfungsi untuk Kotlin, jadi inilah kode yang perlu Anda masukkan secara manual.
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
handleIntent(intent)
}
private fun handleIntent(intent: Intent) {
val wbWebView = findViewById<View>(R.id.your_webview) as WebView
val appLinkAction = intent.action
val appLinkData = intent.data
if (Intent.ACTION_VIEW == appLinkAction && appLinkData != null) {
wbWebView.loadUrl(appLinkData.toString())
} else {
// default link that it goes to when opening app
wbWebView.loadUrl("https://www.example.com")
}
}
dan di add onCreate Anda handleIntent(intent)
LANGKAH 3
Klik "Open Digital Asset Links File Generator". Sebagian besar informasi sudah terisi, jadi Anda dapat melanjutkan dengan mengklik "Hasilkan File Link Aset Digital". Buat folder bernama ".well-known" di situs Anda dan kemudian letakkan file di sana bernama "assetlinks.json", tempel pratinjau ke sana. Jadi saat Anda pergi kehttps://www.yourwebsite.com/.well-known/assetlinks.jsonAnda seharusnya dapat melihat file tautan aset digital. Anda juga dapat melihat situs web lain File tautan aset digital. Suka untuk google,https://www.google.com/.well-known/assetlinks.json.
Kemudian lanjutkan dengan mengklik tombol "Tautkan dan Verifikasi", Jika semuanya berjalan dengan baik Anda akan melihat ini muncul di bawah tombol:
LANGKAH 4
Saatnya menguji! Lanjutkan dan klik "Uji tautan aplikasi" dan masukkan URL dari situs web Anda. Jika semuanya berjalan dengan baik, Anda tidak akan melihat dialog disambiguasi.
Saya juga ingin melakukan pengujian lebih lanjut dengan mengirimi saya email dengan tautan di dalamnya.
Catatan
Anda hanya dapat menggunakan App Links Assistant jika situs web Anda menggunakan https, bukan http.
Saya menambahkan android:launchMode="singleTask"
ke dalam tag aktivitas saya di manifes, ini berarti bahwa Jika Anda mengklik tautan dari situs web Anda di email maka itu akan terbuka di jendela baru.
Mereka memiliki dokumen tentang ini di sini yang menyertakan video (Perlu diingat bahwa mereka menggunakan java)
Gunakan tautan Aplikasi Android di aplikasi Anda. Jika diterapkan dengan benar, pengguna akan dipindahkan langsung ke tujuan yang ditentukan dalam aplikasi.
Informasi lebih lanjut tentang ini di dokumen ini:
Verifikasi Tautan Aplikasi Android
Buat tautan dalam implisit