Да, документации AMP4Email не так много. В последнее время, приложив много безуспешных усилий, мне удалось завершить один из моих вариантов использования с помощью AMP4Email.
Вы можете обратиться к приведенному ниже примеру для достижения своей цели:
<!doctype html>
<html ⚡4email>
<head>
<meta charset="utf-8">
<script async src="https://cdn.ampproject.org/v0.js"></script>
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
<style amp4email-boilerplate>body{visibility:hidden}</style>
</head>
<body>
<amp-state id="fruits"
src="https://amp.dev/static/samples/json/related_products.json"></amp-state>
<p [text]="'My favorite fruit is : ' + favoriteFruit + '.'">Click to find my favorite fruit.</p>
<button on="tap:AMP.setState({favoriteFruit: fruits.items[0]['name']})">Show</button>
</body>
</html>
Я использовал API из примера ampproject.org
, который возвращает JSON items
фруктов. Но вы можете написать свой собственный API, который отправляет только ваши любимые слова.
Чтобы написать свой собственный сервис, вы должны быть очень осторожны с заголовками ответов. Если вы посмотрите заголовки ответа этого API, вы увидите некоторые заголовки, такие как access-...
и amp-...
. Эти заголовки являются обязательными, если вы хотите использовать свой API / сервис в AMP4Email.
Обязательные заголовки ответа:
AMP-Access-Control-Allow-Source-Origin: <value received in __amp_source_origin query param for your service>
Access-Control-Expose-Headers: AMP-Access-Control-Allow-Source-Origin
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token
Access-Control-Allow-Origin: <origin, e.g. 'https://mail.google.com', if your service is hit from GMail inbox)
PS: заголовок __amp_source_origin
добавлен GMail. Вы получите этот заголовок для всех запросов, поступающих от AMP4Email HTML.