Динамические изображения Twitter Card
У меня есть кнопка "Поделиться" в Твиттере в приложении, которое я создаю. Я использую твиттер-карту <meta>
теги ( документация) для определения изображения, которое появляется в Twitter. Приложение является динамичным и позволяет обмениваться отдельными "отчетами". Когда вы публикуете отдельный отчет, у меня есть параметр запроса ?report=1608
( см. пример).
Проблема: я могу определить только одну карту Twitter для всего сайта. Я хотел бы динамически изменять информацию о карте (заголовок, текст, изображение) для каждого отдельного отчета, который является общим.
Можно ли это сделать? Есть идеи?
Я думал о том, чтобы просто динамически обновлять метатеги с помощью JavaScript, но я не думаю, что это будет работать как решение.
3 ответа
Нет, это невозможно. Сканер карт Twitter (Twitterbot) не поддерживает выполнение Javascript на странице и требует, чтобы метатеги были статическими. Там нет никакого способа сделать это динамически.
Возможна динамическая загрузка заголовка, текста и изображения. Я попробовал это, и это сработало... но для заполнения в браузере/на веб-сайте требуется немного времени, но оно работает отлично/мгновенно в приложении Twitter... нужен обходной путь для этого... Дайте мне знать, если вы найдете любое решение для этого. Вот как я его использовал:
<?php
if (isset($_GET['code'])) {
?>
<meta name="twitter:card" content="summary_large_image">
<meta property="og:image" content="https://example.domain/i/<?= $_GET['code'] ?>.png" />
<meta name="twitter:image" content="https://example.domain/i/<?= $_GET['code'] ?>.png">
<meta name="twitter:image:alt" content="image_alt">
<?php
}
?>