Khi người dùng mở một trang web Tôi muốn một trong hai trường hợp sau đây được xảy ra:Chuyển hướng đến Ứng dụng Android từ một trang web?
- Nếu mycoolapp ứng dụng được cài đặt chuyển hướng người dùng đến các ứng dụng bằng cách sử dụng tùy chỉnh chương trình url mycoolapp: //
- Nếu ứng dụng không được cài đặt, hãy lưu lại trên trang hiện tại mà không cần đăng hoặc chuyển hướng đến trang không xác định hoặc cửa sổ bật lên lỗi.
Trường hợp 1 là dễ dàng, bạn có thể sử dụng đoạn mã sau:
window.location = "mycoolapp://";
Điều này sẽ có tác dụng nếu ứng dụng được cài đặt trên thiết bị. Khi ứng dụng không được cài đặt, nó sẽ chuyển hướng người dùng đến một trang trống không xác định.
Đối với trường hợp 2, tôi có giải pháp sử dụng iFrame hoạt động tốt trên iOS và trên trình duyệt Android gốc. Nó không hoạt động trên Chrome dành cho Android.
var redirect = function (location) {
var iframe = document.createElement('iframe');
iframe.setAttribute('src', location);
iframe.setAttribute('width', '1px');
iframe.setAttribute('height', '1px');
iframe.setAttribute('position', 'absolute');
iframe.setAttribute('top', '0');
iframe.setAttribute('left', '0');
document.documentElement.appendChild(iframe);
iframe.parentNode.removeChild(iframe);
iframe = null;
};
redirect('mycoolapp://');
Khi ứng dụng được cài đặt nó đang hoạt động trên trình duyệt Android gốc, nhưng trên Chrome dành cho Android, không có chuyển hướng. Không có gì xảy ra trên trang.
Tôi làm cách nào để chuyển hướng đến ứng dụng của mình hoạt động trên Chrome dành cho Android mà không cần chuyển hướng đến trang trống khi ứng dụng chưa được cài đặt?
Edit: Tôi biết rằng bạn có thể sử dụng Intent
window.location = "intent://#Intent;package=com.mycoolapp;scheme=mycoolapp;launchFlags=268435456;end;";
Đây không phải là những gì tôi muốn vì nó sẽ khởi động trang ứng dụng trên google play nếu ứng dụng không được cài đặt. Có cách nào mà nó sẽ không chuyển hướng đến google play?
trên android không sử dụng "đặc biệt" chương trình ... sử dụng chương trình http trong bộ lọc Ý định ... trình duyệt sẽ hỏi người dùng hoàn thành hành động bằng trình duyệt hoặc với ứng dụng của bạn (nếu được cài đặt) – Selvin
@Selvin Bạn có thể đăng câu trả lời cho ý tưởng của mình không? – confile
nó giống như câu trả lời của RGraham – Selvin