Heim > Artikel > WeChat-Applet > Entwicklung der öffentlichen WeChat-Plattform, um personalisierten QR-Code zu erhalten
Bei der Werbung können wir der anderen Partei mitteilen, was unser öffentliches WeChat-Konto ist, und Kunden können danach suchen und ihm dann folgen. Der QR-Code bietet uns großen Komfort. Scannen Sie ihn einfach und Sie können ihm folgen.
Wenn Sie es bereits verfolgt haben, springen Sie sofort in den Konversationsbildschirm. Wenn wir Werbung machen, handelt es sich nicht mehr nur um einen einfachen Text, sondern um einen personalisierten QR-Code, der auf jeden Fall sehr lebendig sein wird.
WeChat bietet gute Unterstützung für QR-Codes und kann bei Bedarf auch QR-Codes für verschiedene Szenarien generieren. Im Folgenden erklären wir Ihnen, wie Sie QR-Codes erhalten und verwenden.
Hinweis: Beschränkt auf Dienstkonto und WeChat-Authentifizierung, Gebühr 300
Um den Anforderungen der Benutzerkanal-Werbeanalyse gerecht zu werden, bietet die öffentliche Plattform eine Schnittstelle zum Generieren von QR-Codes mit Parametern. Über diese Schnittstelle können mehrere QR-Codes mit unterschiedlichen Szenenwerten abgerufen werden. Nachdem der Benutzer sie gescannt hat, kann das offizielle Konto einen Ereignis-Push erhalten.
Derzeit gibt es zwei Arten von QR-Codes, nämlich temporäre QR-Codes und permanente QR-Codes. Erstere haben eine Ablaufzeit von bis zu 1800 Sekunden, können aber eine größere Anzahl generieren, während letztere keine Ablaufzeit haben . , die Zahl ist klein (derzeit unterstützen die Parameter nur 1--1000). Die beiden QR-Codes eignen sich jeweils für die Kontobindung, Benutzerquellenstatistiken und andere Szenarien.
Wenn der Benutzer den QR-Code mit Szenenwert scannt, können die folgenden zwei Ereignisse ausgelöst werden:
Wenn der Benutzer dem offiziellen Konto nicht gefolgt ist, kann er dies tun Folgen Sie dem offiziellen Konto. Nach der Aufmerksamkeit wird WeChat dem Entwickler ein Aufmerksamkeitsereignis mit Szenenwert zukommen lassen.
Wenn der Benutzer dem offiziellen Konto gefolgt ist, tritt der Benutzer nach dem Scannen automatisch in die Sitzung ein und WeChat sendet außerdem das Scan-Ereignis mit Szenenwert an den Entwickler.
Der Prozess zum Erhalten eines QR-Codes mit Parametern umfasst zwei Schritte: Erstellen Sie zunächst ein QR-Code-Ticket und verwenden Sie dann das Ticket für den Austausch gegen den QR-Code.
Jedes Mal, wenn Sie ein QR-Code-Ticket erstellen, müssen Sie einen vom Entwickler festgelegten Parameter (scene_id) angeben. Wir führen den temporären QR-Code und den permanenten QR ein Code bzw. der Prozess der Erstellung eines QR-Code-Tickets.
Anleitung zur temporären QR-Code-Anfrage
http请求方式: POST URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKENPOST数据格式:json POST数据例子:{"expire_seconds": 1800, "action_name": "QR_SCENE", "action_info": {"scene": {"scene_id": 123}}}
Anleitung zur permanenten QR-Code-Anfrage
http请求方式: POST URL: https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=TOKENPOST数据格式:json POST数据例子:{"action_name": "QR_LIMIT_SCENE", "action_info": {"scene": {"scene_id": 123}}}
Parameterbeschreibung
参数 | 说明 |
---|---|
expire_seconds | 该二维码有效时间,以秒为单位。 最大不超过1800。 |
action_name | 二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久 |
action_info | 二维码详细信息 |
scene_id | 场景值ID,临时二维码时为32位整型,永久二维码时最大值为1000 |
Rückgabebeschreibung
Korrektes Json-Rückgabeergebnis:
{"ticket":"gQG28DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0FuWC1DNmZuVEhvMVp4NDNMRnNRAAIEesLvUQMECAcAAA==","expire_seconds":1800}
参数 | 说明 |
---|---|
ticket | 获取的二维码ticket,凭借此ticket可以在有效时间内换取二维码。 |
expire_seconds | 二维码的有效时间,以秒为单位。最大不超过1800。 |
Beispiel für eine falsche Json-Rückgabe:
{"errcode":40013,"errmsg":"invalid appid"}
Globale Rückgabecode-Beschreibung
Verwenden Sie Web-Debugging-Tools, um die Schnittstelle zu debuggen
QR-Code-Ticket erhalten Anschließend können Entwickler umtauschen Tickets für QR-Code-Bilder. Bitte beachten Sie, dass diese Schnittstelle ohne Anmeldung aufgerufen werden kann.
Anleitung anfordern
HTTP GET请求(请使用https协议) https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=TICKET
Anleitung zur Rückgabe
Wenn das Ticket korrekt ist, lautet der http-Rückgabecode 200, ein Bild, das direkt angezeigt oder heruntergeladen werden kann.
HTTP-Header (Beispiel) lautet wie folgt:
Accept-Ranges:bytes Cache-control:max-age=604800Connection:keep-alive Content-Length:28026Content-Type:image/jpg Date:Wed, 16 Oct 2013 06:37:10 GMT Expires:Wed, 23 Oct 2013 14:37:10 +0800Server:nginx/1.4.1
Im Fehlerfall ( (z. B. illegales Ticket) gibt den HTTP-Fehlercode 404 zurück.
Fügen Sie weiterhin Funktionen basierend auf dem vorherigen Roboterfall hinzu, schauen Sie sich einfach den Code an.
/// <summary> /// 二维码管理者 /// </summary> public class DimensionalCodeManager { /// <summary> /// 临时二维码地址 /// </summary> /// 使用string.format时,报:字符串格式错误,因为其中有{ //private const string TEMP_URL = "{\"expire_seconds\": 1800, \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": {0}}}}"; /// <summary> /// 解决办法,将原有字符串中的一个{用两个{代替 /// </summary> private const string TEMP_JSON_DATA = "{{\"expire_seconds\": 1800, \"action_name\": \"QR_SCENE\", \"action_info\": {{\"scene\": {{\"scene_id\": {0}}}}}}}"; /// <summary> /// 永久二维码地址 /// </summary> private const string PERMANENT_URL = "{{\"action_name\": \"QR_LIMIT_SCENE\", \"action_info\": {{\"scene\": {{\"scene_id\": {0}}}}}}}"; /// <summary> /// 获取ticket的URL /// </summary> private const string GET_TICKET_URL = " https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}"; /// <summary> /// 获取二维码URL /// </summary> private const string GET_CODE_URL = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}"; /// <summary> /// 根据场景ID获取ticket /// </summary> /// <param name="sceneID">场景ID</param> /// <param name="isTemp">是否是临时二维码</param> /// <returns></returns> private static string GetTicket(int sceneID, bool isTemp) { string result = null; string data = string.Empty; if (isTemp) { data = string.Format(TEMP_JSON_DATA, sceneID.ToString()); } else { if (sceneID > 0 && sceneID <= 1000) { data = string.Format(PERMANENT_URL, sceneID); } else { //scene_id不合法 return null; } } string ticketJson = HttpUtility.GetData(string.Format(GET_TICKET_URL,Context.AccessToken)); XDocument doc = XmlUtility.ParseJson(ticketJson, "root"); XElement root = doc.Root; if (root != null) { XElement ticket = root.Element("ticket"); if (ticket != null) { result = ticket.Value; } } return result; } /// <summary> /// 创建临时二维码 /// </summary> /// <param name="sceneID">场景id,int类型</param> /// <returns></returns> public static string GenerateTemp(int sceneID) { string ticket = GetTicket(sceneID,true); if (ticket == null) { return null; } return HttpUtility.GetData(string.Format(GET_CODE_URL, ticket)); } /// <summary> /// 创建临时二维码 /// </summary> /// <param name="sceneID">场景id,int类型</param> /// <returns></returns> public static string GeneratePermanent(int sceneID) { string ticket = GetTicket(sceneID, false); if (ticket == null) { return null; } return HttpUtility.GetData(string.Format(GET_CODE_URL, ticket)); } }
Weitere Informationen zur Entwicklung der öffentlichen WeChat-Plattform zum Erhalten personalisierter QR-Codes finden Sie auf der chinesischen PHP-Website für verwandte Artikel !