Das personalisierte Menü ermöglicht es verschiedenen Benutzergruppen des öffentlichen Kontos, verschiedene benutzerdefinierte Menüs anzuzeigen. Diese Schnittstelle ist für zertifizierte Abonnementkonten und zertifizierte Dienstkonten geöffnet. Für das personalisierte Menü muss die WeChat-Clientversion iPhone 6.2.2 oder Android 6.2.4 oder höher sein , müssen Sie zunächst ein personalisiertes Menü definieren.
Entwickler können das Menü, das Benutzer sehen, anhand der folgenden Bedingungen festlegen:
Benutzer-Tags (Entwickler können Benutzer-Tags für ihre geschäftlichen Anforderungen verwenden vollständig)
Geschlecht
Mobiles Betriebssystem
Region (die vom Benutzer auf dem WeChat-Client festgelegte Region)
Sprache (die vom Benutzer auf dem WeChat-Client festgelegte Sprache)
Beschreibung der Übereinstimmungsregel für personalisierte Menüs:
Die Aktualisierung des personalisierten Menüs wird überschrieben.
Zum Beispiel hat das offizielle Konto das Standardmenü, das personalisierte Menü 1, das personalisierte Menü 2 und das personalisierte Menü 3 veröffentlicht. Wenn der Benutzer dann die offizielle Kontoseite betritt, beginnt der Abgleich mit dem personalisierten Menü 3. Wenn das personalisierte Menü 3 erfolgreich abgeglichen wurde, wird direkt zum personalisierten Menü 3 zurückgekehrt. Andernfalls wird weiterhin versucht, das personalisierte Menü 2 abzugleichen, bis ein Menü gefunden wird erfolgreich abgeglichen wurde.
Um Verwirrung über die Gültigkeitsdauer des Menüs zu vermeiden, wurde gemäß den oben genannten Abgleichsregeln beschlossen, keine personalisierte Menübearbeitungs-API bereitzustellen. Wenn Entwickler das Menü aktualisieren müssen, müssen sie es erneut veröffentlichen Konfiguration.
Die Projektstruktur dieses Beispiels ist wie folgt. Zusätzlich zu den Dateien im vorherigen Kapitel wurden drei Dateien zur Verarbeitung personalisierter Menüs hinzugefügt.
addconditional_menu.php: Erstellen Sie ein personalisiertes Menü
trymatch.php: Testen Sie die Übereinstimmung des personalisierten Menüs
delconditional_menu.php: Personalisiertes Menü löschen
Die Schnittstelle zum Erstellen eines personalisierten Menüs ist https://api.weixin.qq.com /cgi-bin/menu/addconditional?access_token=ACCESS_TOKEN, senden Sie die Menüzeichenfolge im Post-Modus.
addconditional_menu.php
<?php require_once('./Utils.php'); //个性化菜单字符串 $menujson = '{ "button":[ { "type":"click", "name":"单击", "key":"V1001_TODAY_MUSIC" }, { "name":"搜素", "sub_button":[ { "type":"view", "name":"百度", "url":"http://www.baidu.com/" } ] }], "matchrule":{ "sex":"1" } }'; $url = "https://api.weixin.qq.com/cgi-bin/menu/addconditional?access_token=".Utils::get_access_token(); //创建个性化菜单 $result = Utils::https_request($url, $menujson); //返回返回menuid表示成功 echo $result;
Die zurückgegebenen Ergebnisse lauten wie folgt:
Sehen Sie sich das Menü an und finden Sie es hat sich vom Standardmenü zu einem personalisierten benutzerdefinierten Menü geändert, wie unten gezeigt
Hier ist nur die Geschlechtsfilterung eingestellt, 1 bedeutet männlich. Weitere Bedingungseinstellungen finden Sie unter die personalisierte Menüoberfläche.
Die Testschnittstelle ist https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=ACCESS_TOKEN und erfordert eine Veröffentlichung „user_id“ vorbei.
trymatch.php
<?php @header('Content-type: text/plain;charset=UTF-8'); require_once('./Utils.php'); $url = "https://api.weixin.qq.com/cgi-bin/menu/trymatch?access_token=".Utils::get_access_token(); //user_id可以是粉丝的OpenID,也可以是粉丝的微信号 $userID = '{"user_id":"o4WmZ0h-4huBUVQUczx2ezaxIL9c"}'; $result = Utils::https_request($url, $userID); echo $result; ?>
Die zurückgegebenen Ergebnisse lauten wie folgt:
Die Schnittstelle zum Löschen des personalisierten Menüs ist https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=ACCESS_TOKEN, und Sie müssen „menuid“ in der Vergangenheit posten.
delconditional_menu.php
<?php @header('Content-type: text/plain;charset=UTF-8'); require_once('./Utils.php'); $url = "https://api.weixin.qq.com/cgi-bin/menu/delconditional?access_token=".Utils::get_access_token(); //menuid,个性化菜单的menuid $menuID = '{"menuid":414784577}'; $result = Utils::https_request($url, $menuID); echo $result; ?>
Das Rückgabeergebnis lautet wie folgt, um den Erfolg anzuzeigen:
Verwenden Sie die allgemeine Abfrageschnittstelle für benutzerdefinierte Menüs, um das Standardmenü und alle personalisierten Menüinformationen zu erhalten. Weitere Informationen finden Sie im vorherigen Kapitel.
Nach der Abfrage sind die Ergebnisse wie folgt:
Die Menü-ID hier unterscheidet sich von der oben, weil ich Das vorherige wurde gelöscht. Personalisieren Sie das Menü und initialisieren Sie es anschließend neu.
Verwenden Sie die normale Benutzeroberfläche zum Löschen benutzerdefinierter Menüs, um alle benutzerdefinierten Menüs (einschließlich Standardmenüs und aller personalisierten Menüs) zu löschen
Das obige ist der detaillierte Inhalt vonEntwicklungsbeispiel für ein personalisiertes Menü im öffentlichen WeChat-Konto. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!