Сообщение офлайн-шаблона WeChat, как использовать уведомление о подписке?

Spring Boot Java

задний план

  • WeChat объявил сегодня«Настройка возможностей сообщения шаблона номера услуги», исходная возможность сообщения шаблона будетНе в сети в 24:00 30 апреля 2021 г., вы не сможете отправлять сообщения шаблона, используя этот интерфейс.

  • Проще говоря, в соответствии с развитием небольших программ, вы не можете напрямую отправлять шаблонные сообщения подписавшимся пользователям через официальный аккаунт. Например, после доработки, даже если вы подписаны на Центр кредитных карт China Merchants Bank, вы не сможете получать напоминания о движении по счету и погашении через официальный аккаунт.

  • Автор занимается отраслью, в которой есть большой спрос на шаблонные сообщения, поэтому организуйте изменения.Подпишитесь на уведомленияПроцесс преобразования и внедрения для справки.

объяснение имени

  • одна подписка

Ссылается на пользователя, подписывается один раз, а сервисный аккаунт может быть выдан на неограниченное время.одинсоответствующее уведомление о подписке;

  • долгосрочная подписка

Относится к пользователю, подписывающемуся один раз, учетная запись службы может использоваться в течение длительного времени.Выпущено повторноУВЕДОМЛЕНИЕ, Уведомление о долгосрочной подписке открыта только для общественных областей власти правительства народных средств к существованию, здравоохранению и другие услуги;

  • Уведомление об обслуживании

WeChat по умолчанию включает функцию служебных уведомлений, которые будут отображаться в списке чатов пользователя.Уведомление о сервисе Orange

服务通知
Уведомление об обслуживании

Процесс подписки пользователя

用户订阅
Пользователи подписываются
  • Как показано на рисунке выше, пользователи могут нажимать на изображения и тексты, опубликованные официальной учетной записью.Вставить несколько уведомлений о подпискекнопка, пользователь нажимает кнопку на изображении, чтобы подписаться
1611845657
1611845657
  • Как показано на рисунке выше, пользователь вытаскивает кнопку подписки через JSSDK на странице H5, предоставленной разработчиком.
JSSDK 拉起示例
Пример извлечения JSSDK
// 首先导入 JSSDK http://res2.wx.qq.com/open/js/jweixin-1.6.0.js
<wx-open-subscribe template="TenvU22BA1jCp4YHfYEpRuESXYReQyDuhs4vbdWA99I" id="subscribe-btn">
    <template slot="style">
    <style>
      .subscribe-btn {
          color: #fff;
          background-color: #07c160;
      }
     </style>
     </template>
     <template>
        <button class="subscribe-btn">
          上课通知
         </button>
      </template>
</wx-open-subscribe>
<script>
var btn = document.getElementById('subscribe-btn');   btn.addEventListener('success', function(e){
     // 根据回调确定用户是 取消 还是允许
    // 如果无法接收微信回调的情况下,需要在此处保存用户订阅的新姐
});
</script>

Получать события подписки для обратных вызовов WeChat

  • Когда пользователь подписывается на уведомления в таких сценариях, как изображение/текст/H5, следующие сообщения будут отправлены в интерфейс разработчика.
<xml>
    <ToUserName>公众号微信号</ToUserName>
    <FromUserName>用户 openid</FromUserName>
    <CreateTime>时间戳</CreateTime>
    <MsgType><![CDATA[event]]>(固定值)</MsgType>
    <Event><![CDATA[subscribe_msg_popup_event]]>(固定值)</Event>
    <SubscribeMsgPopupEvent>
        <List>
            <TemplateId>模板 id</TemplateId>
            <SubscribeStatusString>用户点击行为(同意、取消发送通知)</SubscribeStatusString>
            <PopupScene>场景(图文、H5)</PopupScene>
        </List>
    </SubscribeMsgPopupEvent>
</xml>
  • Согласно push-сообщениям, чтобы сохранитьТаблица взаимосвязей пользователя и шаблона подписки, для следующего толчка

Процесс push-уведомлений

下发通知
Отправить уведомление
  • Позвоните в службу WeChat, чтобы отправить уведомление о подписке
POST https://api.weixin.qq.com/cgi-bin/message/subscribe/bizsend?access_token=ACCESS_TOKEN
  • Описание параметра запроса
{
  "touser": "接收者openid ,必须是已经订阅此消息模板的用户,不然无法推送",
  "template_id": "消息模板ID",
  "page": "点击跳转的链接",
  "data": {
      "name1": {
          "value": "冷冷"},
       "time7": {
          "value": "2021-01-28 23:15:42"
      }
     }
}

Сводка проблем

  • Вопросы о подаче уведомления о долгосрочной подписке

В настоящее время разработано несколько отраслей (правительство, общественность).Если другие отрасли открывают долгосрочные подписки, необходимо заранее предоставлять материальные приложения, чтобы избежать блокировки бизнеса после истечения срока действия шаблона сообщения.

  • Проблема с адаптацией кадра

В настоящее время основные SDK разработки WeChat (WxJava, JFinal Weixin) не имеют соответствующей реализации событий, получения сообщений и т. д., которые должны обрабатываться самими разработчиками.

  • Избегайте пользователей отменяет авторизацию

На H5 странице JSSDK подтягивает пользователя [Allow], [Cancel], будут callback-события, дают пользователю внятное объяснение в случае отмены и делают даунгрейд стратегию для смс-оповещения.