Tôi đang làm việc trên một ứng dụng web. Làm cách nào để gửi thông báo đẩy tới người dùng iOS khi có nội dung mới?Làm cách nào để ứng dụng web gửi thông báo đẩy tới thiết bị iOS?
Trả lời
Để cụ thể hơn, để ứng dụng web gửi thông báo đẩy tới thiết bị di động, chẳng hạn như iPhone, thiết bị di động phải đăng ký để nhận thông báo đẩy cho một ứng dụng cụ thể. Việc đăng ký thông báo đẩy được thực hiện thông qua ứng dụng gốc và chỉ có thể được thực hiện thông qua ứng dụng gốc. Khi ứng dụng gốc được đăng ký cho thông báo đẩy, ứng dụng có thể gửi mã thông báo ủy quyền tới máy chủ, có thể được sử dụng cùng với chứng chỉ được sử dụng để cung cấp cho ứng dụng khách gốc để gửi thông báo đẩy tới thiết bị di động.
Như được chỉ định trong câu trả lời khác, một tùy chọn là 'quấn' ứng dụng web của bạn trong ứng dụng gốc. Có nghĩa là bạn sẽ tạo một ứng dụng gốc về cơ bản trình bày một UIWebView (cho iPhone dev) cho người dùng hiển thị ứng dụng web của bạn. Trong khi chức năng này khá nhiều trong cùng một cách như trình duyệt bản địa, bạn sẽ có thể thêm khả năng đăng ký cho các thông báo đẩy bằng cách sử dụng các điều khiển bản địa.
Sẽ rất hữu ích nếu bạn xem lại tài liệu thông báo đẩy của Apple vì nó cung cấp một số thông tin khá tốt về cách các chức năng nhắn tin đẩy trên iPhone.
Xem các liên kết được cung cấp bởi Peter Hosey:
Cảm ơn câu trả lời này, tôi đang tìm kiếm như vậy. Điều này cũng áp dụng khi bạn đã thêm thẻ meta 'apple-mobile-web-app-capable'? –
Điều này đang thay đổi cách thông báo đẩy xảy ra https://developers.google.com/web/updates/2015/03/push-notificatons-on-the-open-web – cleanunicorn
kể từ ngày 02/2016, FF, Chrome và Safari có thể đăng ký để đẩy từ webapp. –
Không, chỉ các ứng dụng iOS gốc hỗ trợ thông báo đẩy.
UPDATE:
Mac OS X 10.9 & Safari 7 trang web hiện nay cũng có thể gửi thông báo đẩy, nhưng điều này vẫn không áp dụng cho iOS. Đọc số Notification Programming Guide for Websites. Ngoài ra, hãy xem WWDC 2013 Session 614.
bây giờ bạn có thể vào Maverix & Safari 7! – themihai
http://www.fastcolabs.com/3011072/tracking/websites-can-now-push-notifications-straight-into-mac-os-109-and-ios-7-we-think – Luc
Safari 7 chắc chắn có thể nhận được các thông báo đẩy này và tùy thuộc vào những gì phụ trợ ứng dụng web của bạn đang chạy, có một vài dịch vụ cho phép điều này: http://www.pushwoosh.com/, http://pushmonkey.launchrock.com/ hoặc bạn có thể triển khai ứng dụng của riêng mình máy chủ, rất giống với thông báo đẩy của iOS. – Tudorizer
Không, không có cách nào để webapp nhận thông báo đẩy. Những gì bạn có thể làm là để bọc webapp của bạn vào một ứng dụng bản địa có thông báo đẩy.
ý của bạn là gì khi bạn nói "bọc ứng dụng web của bạn vào ứng dụng gốc"? – Frankie
Frankie: Vâng, chỉ là một ứng dụng gốc hiển thị một UIWebView mà sau đó tải trang web của bạn. Điều đó cho phép bạn có webapp của bạn như là ứng dụng bản địa trên điện thoại. – JustSid
cảm ơn các bạn !!!! – Frankie
Bạn có thể sử dụng HTML5 Websockets để giới thiệu báo đẩy của riêng bạn. Từ Wikipedia:
"Đối với các mặt hàng khác, WebSocket đã được thực hiện trong Firefox 4, Google Chrome 4, Opera 11 và Safari 5, cũng như các phiên bản di động của Safari trong iOS 4.2. Ngoài ra, BlackBerry Browser trong OS7 hỗ trợ WebSockets. "
Để thực hiện việc này, bạn cần máy chủ của nhà cung cấp của riêng bạn để đẩy thông điệp cho khách hàng.
Nếu bạn muốn sử dụng APN (Thông báo đẩy của Apple) hoặc C2DM (Cloud to Device Message), bạn phải có một ứng dụng gốc mà phải được tải xuống thông qua cửa hàng trực tuyến.
tốt, nó sẽ chỉ hoạt động nếu trình duyệt được mở và trong trang webapp. không giống như thông báo đẩy, hoạt động ngay cả khi ứng dụng bị tắt. –
Bạn có thể sử dụng pushover nếu bạn không muốn tạo ứng dụng bản địa của riêng bạn: https://pushover.net/
Check-out Xtify Web Đẩy thông báo.http://getreactor.xtify.com/ Công cụ này cho phép bạn đẩy nội dung lên trang web và nhắm mục tiêu khách truy cập cũng như kích hoạt thư dựa trên sự kiện DOM của trình duyệt. Nó được thiết kế đặc biệt với điện thoại di động trong tâm trí.
THỰC TẾ .. Đây là tâm trí hoàn toàn mới .. Trên phiên bản OS X mới nhất (Mavericks), bạn CAN gửi thông báo đẩy từ trang web đến màn hình nền. Tuy nhiên, theo các tài liệu, KHÔNG iPhone:
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
Hiện nay Apple có kế hoạch để cho phép 2 loại thông báo đẩy: OS X website Đẩy Notifications và Thông báo địa phương.
Trở ngại rõ ràng ở đây là điều này sẽ không hoạt động trên PC, cũng như không cho phép bạn thực hiện các thông báo đẩy Android.
Hơn nữa, bạn thực sự có thể với các phiên bản cũ như Snow Leapord, gửi thông báo đẩy từ một trang web miễn là trang web được nói là mở và hoạt động. Hệ điều hành Mavericks mới sẽ cho phép thông báo đẩy ngay cả khi trang web không được mở, giả sử bạn đã cho phép trang web nói để gửi thông báo đẩy.
Từ miệng của Apple:
Trong OS X v10.9 và sau đó, bạn có thể gửi thông báo OS X website Đẩy từ máy chủ web của bạn trực tiếp đến người dùng OS X bằng cách sử dụng dịch vụ Push Notification Apple (APN) . Không được nhầm lẫn với thông báo cục bộ, thông báo đẩy có thể tiếp cận người dùng của bạn bất kể trang web của bạn hoặc trình duyệt web của họ có đang mở hay không…
Để tích hợp thông báo đẩy trong trang web của bạn, trước tiên bạn trình bày giao diện cho phép người dùng chọn tham gia để nhận thông báo. Nếu người dùng đồng ý, Safari sẽ liên hệ với trang web của bạn yêu cầu thông tin đăng nhập của nó dưới dạng tệp được gọi là gói đẩy. Gói đẩy cũng chứa nội dung thông báo được sử dụng trên OS X và dữ liệu được sử dụng để giao tiếp với dịch vụ web mà bạn định cấu hình. Nếu gói đẩy hợp lệ, bạn sẽ nhận được số nhận dạng duy nhất cho người dùng trên thiết bị được gọi là mã thông báo thiết bị. Người dùng nhận được thông báo khi bạn gửi kết hợp mã thông báo thiết bị này và tin nhắn của bạn hoặc tải trọng tới APN.
Khi nhận được thông báo, người dùng có thể nhấp vào thông báo để mở trang web bạn chọn trong trình duyệt mặc định của người dùng.
Lưu ý: Nếu bạn cần cập nhật trên APN, hãy đọc chương “Dịch vụ thông báo đẩy của Apple” trong Hướng dẫn lập trình thông báo địa phương và đẩy. Mặc dù tài liệu dành riêng cho các thông báo đẩy iOS và OS X, nhưng mô hình của dịch vụ thông báo đẩy vẫn được áp dụng.
Điều này, hy vọng, có nghĩa là chúng ta sẽ thấy các thông báo đẩy dựa trên web bằng iOS 8 hoặc 9. Giữ ngón tay của tôi vượt qua. – Travis
Tài liệu dành cho nhà phát triển nói rõ ràng rằng thông báo trên web không áp dụng cho iOS hiện tại. Cũng như làm rõ đoạn đầu tiên của bạn. –
Biết táo họ sẽ cho phép nó cho một phiên bản iOS và xóa nó cho –
W3C bắt đầu vào năm 2010 một nhóm làm việc để thực hiện thông báo:
http://www.w3.org/2010/web-notifications/
Nhóm công tác này phát triển API tiếp xúc với những cơ chế để Web Applications-do đó các nhà phát triển Web tạo ra, ví dụ, dựa trên Web khách hàng e-mail và ứng dụng nhắn tin tức thì có thể tích hợp chặt chẽ hơn với hành vi ứng dụng web của họ với các tính năng thông báo của hệ điều hành của người dùng cuối của họ.
Cuối cùng kết quả là giống như một trò đùa xấu vì nó chỉ hoạt động nếu trang web cụ thể là mở: http://alxgbsn.co.uk/notify.js/
Tôi nghĩ rằng họ đã bỏ lỡ để thực hiện các khả năng để thêm url đẩy quá trình duyệt có thể hỏi cho các thông báo trong khi chạy trong nền - và trên tất cả - nếu tất cả các tab đã bị đóng.
Google Chrome hiện hỗ trợ chuẩn W3C cho thông báo đẩy.
tiếp theo Đây là hướng dẫn toàn diện: https://developers.google.com/web/updates/2015/03/push-notificatons-on- the-open-web – ayke
Điều này có bao gồm Chrome dành cho iOS không? (Câu hỏi ban đầu là dành riêng cho iOS) –
Không có iOS trên bất kỳ thứ gì. Phải sử dụng ứng dụng gốc: \ – rogerdpack
Trong khi chưa được hỗ trợ trên iOS (như iOS 10), trang web có thể gửi thông báo đẩy cho Firefox và Chrome (Desktop/Android) với Push API.
API đẩy được sử dụng cùng với số Web Notifications cũ hơn để hiển thị thông báo. Ưu điểm là API Push cho phép thông báo được gửi ngay cả khi người dùng không lướt trang web của bạn, bởi vì họ được xây dựng dựa trên Service Workers (tập lệnh được đăng ký bởi trình duyệt và có thể được thực thi trong nền sau) người dùng của bạn đã rời khỏi trang web của bạn).
Quá trình gửi một thông báo liên quan đến việc sau đây:
- người dùng truy cập trang web của bạn (phải được bảo đảm qua HTTPS): bạn xin phép để hiển thị thông báo đẩy và bạn đăng ký một nhân viên dịch vụ (một kịch bản mà sẽ được thực hiện khi nhận được thông báo đẩy)
- nếu người dùng đã cấp quyền, bạn có thể đọc mã thông báo thiết bị (điểm cuối) sẽ được gửi tới máy chủ và được lưu trữ
- bây giờ bạn có thể gửi thông báo cho người dùng: máy chủ của bạn thực hiện yêu cầu HTTP POST tới điểm cuối (là URL chứa mã thông báo thiết bị). Máy chủ nhận yêu cầu được sở hữu bởi nhà sản xuất trình duyệt (ví dụ: Google, Mozilla): trình duyệt được kết nối liên tục với yêu cầu và có thể đọc thông báo đến.
- khi trình duyệt người dùng nhận được một thông báo thực hiện người lao động dịch vụ, đó là trách nhiệm quản lý sự kiện này, lấy các dữ liệu thông báo từ máy chủ và hiển thị thông báo cho người sử dụng
Các Đẩy API hiện đang được hỗ trợ trên máy tính để bàn và Android bởi Chrome, Firefox và Opera.
Bạn cũng có thể gửi thông báo đẩy tới Apple/Safari máy tính để bàn bằng APN. Cách tiếp cận tương tự, nhưng với nhiều biến chứng (chứng chỉ nhà phát triển apple, gói đẩy, kết nối TCP cấp thấp với APN).
Nếu bạn muốn thực hiện các thông báo đẩy bởi bản thân bắt đầu với những hướng dẫn:
- Đẩy API: Push Notifications on the Open Web hệ thống
- Apple Push Notification: Configuring Safari Push Notifications
Nếu bạn đang tìm kiếm một thả trong giải pháp tôi sẽ đề nghị Pushpad, đó là một dịch vụ tôi đã xây dựng.
Cập nhật (tháng 9 năm 2017): Apple đã bắt đầu phát triển công nhân dịch vụ cho WebKit (status). Vì các nhân viên dịch vụ là một công nghệ cơ bản để đẩy web, đây là một bước tiến lớn.
Kể từ iOS 10 (phiên bản beta công khai), Mobile Safari không hỗ trợ thông báo đẩy. –
@RobinDaugherty Tại sao bạn nói "như"? iOS Safari chưa bao giờ hỗ trợ thông báo đẩy – collimarco
Đó không phải là sự điều chỉnh câu trả lời của bạn, tôi đã cung cấp thông tin cho những người đang tìm kiếm hỗ trợ của Safari Mobile. Một ngày nào đó có lẽ họ sẽ hỗ trợ các thông báo đẩy, nhưng chúng không giống như bản phát hành mà tôi đã đề cập. –
Pushbullet là giải pháp thay thế tuyệt vời cho việc này.
Tuy nhiên, người dùng cần có tài khoản Pushbullet và ứng dụng được cài đặt (iOS, Android) hoặc plugin được cài đặt (Chrome, Opera, Firefox và Windows).
Bạn có thể sử dụng API bằng cách tạo ứng dụng Pushbullet và kết nối người dùng ứng dụng của bạn với người dùng Pushbullet bằng oAuth2.
Sử dụng thư viện sẽ dễ dàng hơn nhiều, với PHP tôi có thể đề xuất ivkos/Pushbullet-for-PHP.
Hiện thông báo nào? – rfw
@rfw: Thông báo đẩy iOS. http://support.apple.com/kb/HT3576 http://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html –
Bạn đang tìm kiếm bằng âm thanh? Sau đó, nếu bạn muốn có một thông báo âm thanh trong khi chế độ khóa điện thoại di động; tên của nó là Push cụ thể. –