Saya ingin iOS membuka URL dari domain saya (mis. Http://martijnthe.nl ) dengan aplikasi saya setiap kali aplikasi diinstal di ponsel, dan dengan Mobile Safari kalau-kalau tidak.
Saya membacanya adalah mungkin untuk membuat akhiran protokol yang unik untuk ini dan mendaftarkannya di Info.plist, tetapi Mobile Safari akan memberikan kesalahan jika aplikasi tidak diinstal.
Apa yang akan menjadi solusinya?
Satu ide:
1) Gunakan http: // URL yang terbuka di semua browser desktop dan render layanan melalui browser
2) Periksa Agen-Pengguna dan jika itu Mobile Safari, buka myprotocol: // URL to (upaya) untuk membuka aplikasi iPhone dan minta aplikasi itu membuka iTunes Seluler untuk mengunduh aplikasi seandainya upaya gagal
Tidak yakin apakah ini akan berhasil ... saran? Terima kasih!
Jawaban:
Saya pikir cara yang paling tidak mengganggu dalam melakukan ini adalah sebagai berikut:
appInstalled
cookiewindow.location
keyour-uri://
(atau lakukan redirect sisi server)your-uri://
Opsi lain yang saya mainkan tetapi menemukan sedikit kikuk adalah melakukan hal berikut dalam Javascript:
sumber
window.location="custom-uri://
berhasil, batas waktu mundur tidak terbunuh. Saat pengguna kembali ke browser dari aplikasi Anda, timer masih ada di sana dan akan meluncurkan tautan app store. Ini adalah pengalaman pengguna yang buruk.Sangat mungkin untuk melakukan ini dalam JavaScript selama fallback Anda adalah aplikasi lain. Membangun saran Nathan :
Lihat demo langsung di sini .
sumber
Untuk perangkat iOS 6, ada opsi: Mempromosikan Aplikasi dengan Spanduk Aplikasi Cerdas
sumber
Saya menemukan bahwa jawaban yang dipilih berfungsi untuk aplikasi browser tetapi saya mengalami masalah dengan kode yang bekerja di aplikasi non browser yang mengimplementasikan a
UIWebView
.Masalahnya bagi saya adalah pengguna di aplikasi Twitter akan mengklik tautan yang akan membawa mereka ke situs saya melalui
UIWebView
aplikasi Twitter. Kemudian ketika mereka mengklik tombol dari situs saya Twitter mencoba menjadi mewah dan hanya menyelesaikanwindow.location
jika situs tersebut dapat dijangkau. Jadi yang terjadi adalahUIAlertView
sembulan yang mengatakan Anda yakin ingin melanjutkan dan kemudian segera mengalihkan ke App Store tanpa popup kedua.Solusi saya melibatkan iframe. Ini menghindari
UIAlertView
disajikan yang memungkinkan untuk pengalaman pengguna yang sederhana dan elegan.jQuery
Javascript
EDIT:
Tambahkan posisi absolut ke iframe sehingga ketika dimasukkan tidak ada sedikit spasi kosong di bagian bawah halaman.
Juga penting untuk dicatat bahwa saya belum menemukan kebutuhan untuk pendekatan ini dengan Android. Penggunaan
window.location.href
harus bekerja dengan baik.sumber
Di iOS9 Apple akhirnya memperkenalkan kemungkinan untuk mendaftarkan aplikasi Anda untuk menangani
http://
URL tertentu : Tautan Universal .Penjelasan yang sangat kasar tentang cara kerjanya:
http://
URL untuk domain tertentu (url web) di aplikasi Anda.http://
URL untuk pengaturan seperti yang dijelaskan di atas dan membuka aplikasi yang benar secara otomatis jika diinstal; tanpa melalui Safari terlebih dahulu ...Ini adalah cara terbersih untuk melakukan tautan mendalam di iOS, sayangnya itu hanya bekerja di iOS9 dan yang lebih baru ...
sumber
MEMBANGUN Lagi tentang Jawaban Nathan dan JB:
Cara Meluncurkan Aplikasi Dari url tanpa Klik Ekstra Jika Anda lebih suka solusi yang tidak menyertakan langkah sementara mengklik tautan, berikut ini dapat digunakan. Dengan javascript ini, saya dapat mengembalikan objek Httpresponse dari Django / Python yang berhasil meluncurkan aplikasi jika diinstal atau sebagai alternatif meluncurkan app store jika ada waktu habis. Catatan Saya juga perlu menyesuaikan periode batas waktu dari 500 hingga 100 agar ini berfungsi pada iPhone 4S. Uji dan sesuaikan untuk memperbaiki situasi Anda.
sumber
document.webkitHidden
adalah untuk mendeteksi apakah aplikasi Anda sudah dipanggil dan tab safari saat ini untuk pergi ke latar belakang, kode ini dari www.baidu.comsumber
appurl
danweburl
bisa menyelesaikan masalah AndaJika Anda menambahkan
iframe
di halaman web Anda dengansrc
skema set ke kustom untuk Aplikasi Anda, iOS akan secara otomatis mengarahkan ulang ke lokasi itu di App. Jika aplikasi tidak diinstal, tidak ada yang terjadi. Ini memungkinkan Anda untuk menautkan ke dalam Aplikasi jika itu dipasang, atau mengalihkan ke App Store jika itu tidak diinstal.Misalnya, jika Anda menginstal aplikasi twitter, dan menavigasi ke halaman web yang berisi markup berikut, Anda akan langsung diarahkan ke aplikasi tersebut.
Berikut adalah contoh yang lebih teliti yang mengarahkan ke App store jika Aplikasi tidak diinstal:
sumber
Inilah solusi.
Siapkan boolean sitiation menggunakan blur dan fokus
Ikatkan tautan Anda dengan penangan klik jquery yang memanggil sesuatu seperti ini.
jika aplikasi terbuka, kita akan kehilangan fokus pada jendela dan penghitung waktu berakhir. kalau tidak kita tidak mendapatkan apa-apa dan kita memuat url facebook yang biasa.
sumber
Anda tidak bisa, sejauh yang saya tahu, membuat seluruh OS memahami
http:
URL + domain. Anda hanya dapat mendaftarkan skema baru (saya gunakanx-darkslide:
di aplikasi saya). Jika aplikasi diinstal, Mobile Safari akan meluncurkan aplikasi dengan benar.Namun, Anda harus menangani kasus di mana aplikasi tidak diinstal dengan "Masih di sini? Klik tautan ini untuk mengunduh aplikasi dari iTunes." di halaman web Anda.
sumber
http
URL tertentuIni kedengarannya pendekatan yang masuk akal bagi saya, tetapi saya tidak berpikir Anda akan bisa membuatnya membuka iTunes seluler sebagai pilihan kedua. Saya pikir Anda harus memilih satu atau yang lain - baik mengarahkan ke aplikasi Anda atau ke iTunes.
yaitu jika Anda mengarahkan ulang ke myprotocol: //, dan aplikasi tidak ada di telepon, Anda tidak akan mendapatkan kesempatan kedua untuk mengalihkan ke iTunes.
Anda mungkin bisa mengarahkan ulang ke halaman pendaratan (dioptimalkan untuk iphone) dan memberikan opsi kepada pengguna untuk mengklik ke aplikasi Anda, atau ke iTunes untuk mendapatkan aplikasi jika mereka tidak memilikinya? Tapi, Anda akan mengandalkan pengguna untuk melakukan hal yang benar di sana. (Sunting: meskipun Anda dapat mengatur cookie sehingga hanya untuk pertama kali?)
sumber
Dalam upaya untuk memperbaiki masalah sembulan, saya menemukan bahwa Apple memiliki cara untuk mengatasi masalah ini.
Memang, ketika Anda mengklik tautan ini , jika Anda menginstal aplikasi, itu dialihkan untuk itu; jika tidak, Anda akan diarahkan ke halaman web, tanpa pop-up.
sumber