Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert den Push von WeChat-Applet-Vorlagennachrichten

PHP implementiert den Push von WeChat-Applet-Vorlagennachrichten

王林
王林Original
2023-05-31 21:02:102246Durchsuche

Als neue Art mobiler Anwendung ist das WeChat-Miniprogramm in den Fokus von immer mehr Entwicklern gerückt. Wie implementiert man jedoch zusätzlich zur grundlegenden Nachrichten-Push-Funktion den Vorlagen-Nachrichten-Push im WeChat-Applet?

In diesem Artikel verwenden wir die PHP-Sprache als Beispiel, um vorzustellen, wie die Push-Funktion für Vorlagennachrichten des WeChat-Applets implementiert wird.

Zunächst müssen wir das Grundkonzept von Vorlagennachrichten in WeChat-Miniprogrammen verstehen. Vorlagennachrichten beziehen sich auf Vorlagennachrichten für Dienstkonten oder Abonnementkonten. Sie können mit der Zustimmung und Autorisierung des Benutzers an Benutzer gesendet und in der WeChat-Chat-Oberfläche angezeigt werden. Im WeChat-Applet können wir Vorlagennachrichten übertragen, indem wir die offizielle API des WeChat-Applets aufrufen.

Als nächstes müssen wir einige notwendige Parameter vorbereiten. Insbesondere müssen wir das access_token des WeChat-Applets, die OpenID des Zielbenutzers, die ID der Vorlagennachricht sowie den Nachrichteninhalt (d. h. Variablenersetzung in der Vorlage) und andere Informationen erhalten.

Bevor wir das access_token erhalten, müssen wir uns auf der WeChat-Applet-Entwicklungsplattform registrieren, die relevanten AppID- und AppSecret-Informationen abrufen und dann das access_token über den OAuth2.0-Verifizierungsmechanismus abrufen. Nachdem wir das access_token erhalten haben, können wir es zum Pushen von Vorlagennachrichten verwenden.

Als nächstes müssen wir die Nachrichtenvorlage erstellen. Im WeChat-Applet werden Nachrichtenvorlagen über bestimmte Vorlagen-IDs gesendet. Wir können eine geeignete Vorlage über die Vorlagenbibliothek auf der offenen WeChat-Plattform auswählen oder eine Vorlage selbst anpassen. Die Vorlage enthält Platzhalter, und wir müssen diese Platzhalter beim Senden der Nachricht durch bestimmte Inhalte ersetzen.

Im Allgemeinen können wir die relevanten Informationen der Nachrichtenvorlage (z. B. Vorlagen-ID und Platzhalter) in der Datenbank speichern, um den späteren Push zu erleichtern.

Als nächstes müssen wir den Push-Code schreiben. In PHP können wir die CURL-Bibliothek verwenden, um eine HTTP-Anfrage zu erstellen und die Anfrage dann an die WeChat-Applet-API zu senden. Die API gibt eine Antwort im JSON-Format zurück, die die Ergebnisse des Nachrichten-Pushs enthält.

Für den folgenden Beispielcode haben wir die Vorlagen-ID, den OpenID-Wert und die Variablenwerte vorbereitet, die ersetzt werden müssen (z. B. Bestellnummer, Produktname und Preis).

<?php
// access_token的获取
$appid = 'your_appid'; // 微信小程序的appid
$appsecret = 'your_appsecret'; // 微信小程序的appsecret
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

// 发送请求,获取access_token
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$data = json_decode($out, true);
$access_token = $data["access_token"];

// 发送模板消息
$data = array(
    "touser" => "用户openid", // 接收用户openid
    "template_id" => "模板消息ID", // 模板消息ID 
    "page" => "pages/index/index", // 跳转小程序页面路径
    "form_id" => "表单ID", // 表单ID
    "data" => array(
        "keyword1" => array(
            "value" => "订单号"
        ),
        "keyword2" => array(
            "value" => "商品名称"
        ),
        "keyword3" => array(
            "value" => "价格"
        ),
    )
);

$json = json_encode($data);
$url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" . $access_token;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$out = curl_exec($ch);
curl_close($ch);
$res = json_decode($out, true);

// 输出结果
if ($res['errcode'] == 0) {
    echo '消息发送成功!';
} else {
    echo '消息发送失败:' . $res['errmsg'];
}
?>

Wenn beim Ausführen dieses Codes „Nachricht erfolgreich gesendet!“ ausgegeben werden kann, bedeutet dies, dass die Nachricht erfolgreich an die WeChat-Chat-Oberfläche des Benutzers gesendet wurde.

Es ist zu beachten, dass das Versenden von Vorlagennachrichten einigen Einschränkungen unterliegt. Beispielsweise darf die Anzahl der jeweils gesendeten Vorlagennachrichten das Tageslimit nicht überschreiten und auch die Sendehäufigkeit verschiedener Vorlagen ist unterschiedlich usw. Um unnötigen Ärger zu vermeiden, sollten wir die Sendebeschränkungen und -bestimmungen gemäß den relevanten Dokumenten der öffentlichen WeChat-Plattform befolgen.

In diesem Artikel wird kurz der Prozess der Verwendung von PHP zur Implementierung des WeChat-Applet-Vorlagen-Nachrichten-Push vorgestellt. Wenn wir diesen Prozess beherrschen, können wir besser mit Benutzern interagieren und die Benutzererfahrung von Miniprogrammen verbessern.

Das obige ist der detaillierte Inhalt vonPHP implementiert den Push von WeChat-Applet-Vorlagennachrichten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn