2013-03-22 37 views
10

Có cách nào để biết liệu người dùng đã truy cập trang web của bạn thông qua shorcut màn hình chính không? Với iOS, tôi có thể sử dụng mã javascript sau để phát hiện xem người dùng đã mở trang thông qua phím tắt trên màn hình chính:cách thông báo nếu người dùng Android đến từ ứng dụng màn hình chính

if (('standalone' in navigator && !navigator.standalone && (/iphone|ipod|ipad/gi).test(navigator.platform) && (/Safari/i).test(navigator.appVersion)) { 
      window.location = 'index2.html'; 
     } 

Tôi không thể tìm thấy bất kỳ điều gì tương tự như bạn có thể làm với android . bất kỳ trợ giúp nào cũng sẽ được đánh giá cao :)

+1

Không. Bạn không thể, bởi vì hoạt động trình duyệt nào được kích hoạt, bản thân nó có thể không biết ai chính xác yêu cầu ý định xem trang web. –

Trả lời

1

Vì phím tắt được tạo trên màn hình chính sử dụng cùng ý định như bất kỳ ứng dụng nào khác (sau khi tất cả, một trình khởi chạy vẫn là một ứng dụng), điều này là không thể.

Tuy nhiên, nếu bạn đã tự tạo lối tắt, bạn có thể đặt URL thành một lối tắt khác và bằng cách này để biết rằng URL đó có thể là từ trình khởi chạy.

Ngoài ra, nếu ứng dụng bạn đã tạo có thể giống như một đường ống giữa trình khởi chạy và web, bạn có thể đặt mục đích tham chiếu đến ứng dụng và bằng cách này bạn có thể giả định rằng liên kết đã được mở từ trình khởi chạy.

+0

làm cách nào để bạn có thể đặt url ứng dụng thành một URL khác mà không làm cho người dùng tự làm điều đó? – skrilled

+0

Bạn cũng có thể tạo các phím tắt bằng cách sử dụng lệnh sendBroadcast, vì vậy bạn có thể đặt bất kỳ url nào bạn muốn. cho chính mã, hãy xem các liên kết sau: http://stackoverflow.com/a/3004542/878126 http://stackoverflow.com/a/10343584/878126.Chúc may mắn. Nếu bạn không thành công, hãy cho tôi biết và tôi sẽ tự mình thử. –

+1

BTW, tại sao mọi người downvote mà không có bất kỳ lời giải thích? –

4

Câu trả lời ngắn gọn là "Không".

Tiện ích đánh dấu trang web được khởi chạy từ màn hình chính của Android không bao gồm một tham chiếu (Tôi chỉ checked).

Hơn nữa, cơ chế cài đặt/đánh dấu ứng dụng web cục bộ trên Android hoàn toàn khác với trên iPhone và chắc chắn không đầy đủ tính năng (như reported trên trình theo dõi vấn đề).

[...]

tôi rõ ràng ủng hộ yêu cầu này, vì nó không thể đưa ra một mẹ đẻ trông WebApp trong Android vào thời điểm đó mà không thực hiện một thân cạn của một ứng dụng, chứa chỉ là một WebView (hoặc thực hiện một trong những khung hình phổ biến như PhoneGap hoặc apparat.io).

Điều này dẫn đến điểm bạn phải trả 25 USD để cung cấp WebApp trông giống như bản địa trên Android. Điều tương tự cũng miễn phí trên thiết bị iOS - và thanh lịch hơn

Bằng cách này, chủ sở hữu trang web ở trên hơi sai. Trong Android, anh chỉ có thể cung cấp ứng dụng từ trang web của mình mà không phải trả $ 25 để trải qua Market/Google Play vì Android sử dụng chứng chỉ tự ký miễn phí. Suy nghĩ, điểm chính của anh vẫn còn. Đó không phải là một điều dễ dàng để làm và kết quả cuối cùng có thể không được sử dụng rất nhiều trừ khi anh ta đặt rất nhiều công việc vào nó.

Và nói một cách tương đối, tôi muốn nói rằng trên Android, chức năng màn hình chính của tiện ích con đánh dấu trang bị tước, so với iOS, hầu như không bao giờ được sử dụng.

Ví dụ: cá nhân tôi sử dụng trình duyệt chrome chính hoặc tìm kiếm trên google hoặc ứng dụng hiện có làm điểm nhập chính của tôi vào bất kỳ trang web nào mà tôi truy cập.

Trong hình trên, ba bookmark đỏ bên trái là thực sự bookmark web. Và chỉ để đối chiếu chúng với các tiện ích dấu trang không phải là trang web mà tôi thực sự thích, tôi cũng đã đặt hai tiện ích ebook ở bên phải.

Ngoài ra, tôi coi bản thân mình là người dùng có quyền sử dụng một số tiện ích Android ít được sử dụng hơn, nhưng theo HTC, tôi chỉ là một phần của 10% of people. trừ khi nó cho thời tiết, đồng hồ, hoặc âm nhạc, mà dường như mọi người sử dụng khi họ lần đầu tiên thiết lập điện thoại của họ?).

Và ngay cả đối với tôi, một người yêu thích các tiện ích Android (đặc biệt là trên máy tính bảng Android của tôi), tiện ích trình quản lý dấu trang lớn hơn cho phép tôi kiểm soát quá ít để thu hút tôi và tiện ích đánh dấu trang web. , trông không tốt với tôi và tôi không bao giờ sử dụng nó vì nó chỉ là một bookmark màu đỏ với một favicon nhỏ được nhúng ở giữa nó.

Trong mọi trường hợp, hãy quay lại câu hỏi ban đầu của bạn.

Viết tắt một tiện ích nhỏ mà mỗi người dùng Android của trang web của bạn sẽ sẵn sàng cài đặt trên thiết bị của họ. Cách thay thế duy nhất của bạn là cố gắng can thiệp khi người dùng cố đánh dấu trang web của bạn. Và can thiệp sẽ chỉ làm việc như cho đến nay khi người dùng không cố gắng để làm sạch các dấu trang của bất kỳ của các đối số url nối vào nó khi ông đặt nó. Ví dụ: bạn có thể nối thêm ngày người dùng hiện đang duyệt trang web của bạn vào url và nếu người dùng đã đánh dấu url đó, cùng một url đó có thể xuất hiện vào một ngày sau đó. Đó sẽ là một cách để cố gắng xem liệu người dùng đến từ một trang đánh dấu (hoặc một liên kết đã lưu một số địa điểm). Tuy nhiên, ngay cả khi bạn có thể làm điều đó, điều đó sẽ chỉ cho bạn biết liệu người dùng đã truy cập trang web của bạn qua thanh lịch sử tự động hoàn thành hay thông qua dấu trang được khởi tạo màn hình chính hoặc chỉ qua dấu trang được khởi tạo thông thường của Chrome thay vì chỉ cần nhập địa chỉ trực tiếp (Tôi không đề cập đến tìm kiếm google, bởi vì với người dùng sử dụng tìm kiếm google, google sẽ cung cấp cho bạn giới thiệu ít nhất).

1

Tôi sẽ đi với câu trả lời ngắn đã nói trước đây: Số

Android Trình duyệt sẽ không cho phép bất kỳ thông tin truy cập trang web về mục đích sử dụng để mở trình duyệt hoặc công cụ khác do hạn chế về an ninh JS.

Nhưng ... chờ ... có một cách để liên kết JavaScript trên mã trang web với mã Android (http://developer.android.com/guide/webapps/webview.html#BindingJavaScript), vì vậy tôi sẽ làm điều đó vì trang web đã được phát triển, là phát triển một ứng dụng Android đơn giản với một biểu tượng đẹp và một WebView với JS được kích hoạt và trỏ đến trang web, do đó, nó phục vụ như một ứng dụng khách hoặc wrapper để chúng ta hãy nói ... "http://thewebsite.com?client=android". Trên WebView, bạn có thể chặn điều hướng đến các trang web khác, vì vậy người dùng không thể đi bất cứ nơi nào khác, người dùng sẽ phải sử dụng điều hướng trang web của bạn. Sau đó, bạn có thể liên kết mã Android với JavaScript như đã đề cập ở trên để hiển thị các phương thức từ môi trường Android đến JavaScript trong Trang web của bạn.

Thay vì cho phép mọi người thêm lối tắt vào Trang web của bạn, hãy cung cấp cho họ liên kết để tải xuống ứng dụng trình bao bọc nhỏ của bạn từ Cửa hàng Google Play. Bằng cách đó, bạn sẽ biết ai đang sử dụng Trang web/WebApp của mình từ thiết bị Android và vì bạn sở hữu Ứng dụng, bạn có thể truy cập thông tin INTENT và biết hệ điều hành Android và nhận thêm nội dung về thiết bị từ JS trên trang web của bạn UserAgent sẽ cung cấp cho bạn, muốn biết liệu có kết nối mạng đang hoạt động trên máy khách hay không, v.v.

Chúc may mắn!

Các vấn đề liên quan