Important: this documentation is not applicable to your currently selected format email!
amp-web-push
Description
Allows users to subscribe to web push notifications.
Required Scripts
<script async custom-element="amp-web-push" src="https://cdn.ampproject.org/v0/amp-web-push-0.1.js"></script>
Supported Layouts
Usage
Developers compose widgets that appear based on a user's subscription state. Widgets are composed of AMP elements and can be as simple as a button or a text link.
Clicking the subscription widget pops up a page prompting the user for notification permissions and signals the service worker (configured below) to subscribe the user to push in the background. Clicking the unsubscription widget signals the worker to unsubscribe the user from push in the background.
<!-- A subscription widget --> <amp-web-push-widget visibility="unsubscribed" layout="fixed" width="250" height="80" > <button on="tap:amp-web-push.subscribe">Subscribe to Notifications</button> </amp-web-push-widget> <!-- An unsubscription widget --> <amp-web-push-widget visibility="subscribed" layout="fixed" width="250" height="80" > <button on="tap:amp-web-push.unsubscribe"> Unsubscribe from Notifications </button> </amp-web-push-widget>
Configuration
The amp-web-push
component requires extra integration on your site. You will need to upload two HTML files (provided) on your site as well as an amp-web-push compatible service worker JavaScript file. These three files form the configuration described below.
<amp-web-push layout="nodisplay" helper-iframe-url="https://example.com/helper-iframe.html" permission-dialog-url="https://example.com/permission-dialog.html" service-worker-url="https://example.com/service-worker.js" ></amp-web-push>
All properties are required, and all URLs must begin with the same origin (e.g. https://example.com
).
Property | Description |
---|---|
helper-iframe-url | Download The absolute URL, starting with This page enables communication between the AMP page and the service worker which subscribes and unsubscribes the user. This page also helps determines the notification permission status. |
permission-dialog-url | Download The absolute URL, starting with This page opens as a pop up and prompts for notification permissions. |
service-worker-url | The absolute URL, starting with If possible, make the service worker available at the root of your site (e.g. your-site.com/service-worker.js) instead of a subfolder. amp-web-push is restricted to working at the same folder level (subfolders included) the service worker is uploaded to unless the service worker is served with an HTTP response header of This service worker runs in the background and subscribes and unsubscribes the user from notifications. If you develop a custom push solution, see this example on how to make your service worker compatible with amp-web-push. |
service-worker-scope (optional) | The scope of the service worker to be installed. |
Attributes
visibility (required)
Describes when the widget is shown. The value can be one of unsubscribed
, subscribed
, or blocked
.
Widgets are initially hidden while the user's subscription state is computed.
Validation
See amp-web-push rules in the AMP validator specification.
이 문서를 수십 번 읽었음에도 여전히 궁금한 점이 남아 있나요? 다른 개발자들도 같은 심정일지 모릅니다. Stack Overflow에서 소통해 보세요.
Stack Overflow로 이동 버그나 누락된 기능을 발견하셨나요?AMP 프로젝트는 여러분의 참여와 기여를 적극 환영합니다! 오픈 소스 커뮤니티를 통해 지속적으로 활동해 주셔도 좋지만 관심 있는 주제에 한 번만 기여하셔도 큰 도움이 됩니다.
GitHub로 이동하기