Wie benutze ich einen HTML-Link, um die SMS-App mit einem vorgefüllten Körper zu öffnen?
Alles, was ich gelesen habe, scheint darauf hinzudeuten, dass SMS: 18005555555? Body = bodyTextHere
Sollte funktionieren, aber auf dem iPhone funktioniert dies nicht. Wenn ich das? Body = bodyTextHere herausnehme und einfach sms: phonenumber benutze, funktioniert es.
Ich habe mehrere Fälle gesehen, in denen QR-Codes dies über einen Safari-Link tun. Wie können sie den Textkörper vorab ausfüllen?
Antworten:
Es stellt sich heraus, dass dies zu 100% möglich ist, wenn auch etwas hackig.
Wenn es unter Android funktionieren soll, müssen Sie dieses Format verwenden:
<a href="sms:/* phone number here */?body=/* body text here */">Link</a>
Wenn Sie möchten, dass es unter iOS funktioniert, benötigen Sie Folgendes:
<a href="sms:/* phone number here */;body=/* body text here */">Link</a>
Live-Demo hier: http://bradorego.com/test/sms.html (Beachten Sie, dass "Phone and? Body" und "Phone and; body" sowohl das Feld to: als auch den Text text automatisch ausfüllen sollten. Weitere Informationen finden Sie in der Quelle die Info)
AKTUALISIEREN:
Anscheinend musste iOS8 etwas an uns ändern, und dank einiger anderer Kommentatoren / Responder gibt es einen neuen Stil für iOS:
<a href="sms:/* phone number here */&body=/* body text here */">Link</a>
(Telefonnummer ist optional)
quelle
sms
URI verarbeitet, kann unter Android geändert werden, und viele Hersteller tun dies. Daher funktioniert es möglicherweise nicht auf einem anderen Gerät / einer bestimmten App (oder einfach nach einem Update). Mein Vorschlag ist, dies niemals unter Android zu verwenden, es sei denn, Sie stellen nur die Telefonnummer ein. Verwenden Sie es nur auf iOS-Versionen und Nicht-Android-Plattformen, die Sie getestet haben.Ich weiß, dass dies ein alter Thread ist, bin aber darauf gestoßen und habe festgestellt, dass einige Teile nicht mehr relevant sind.
Ich habe festgestellt, dass Sie Folgendes tun können, wenn Sie den Text nur einzeln hinzufügen möchten, ohne eine Telefonnummer hinzuzufügen:
quelle
?
Idee, wie es leer angezeigt werden kann? Ich habe versuchtsms:?body
undsms:;?body
, die ersten Versuche zu senden? und der zweite versucht zu senden;Versuchen Sie für iOS 8 Folgendes:
Umschalten des ";" mit einem "&" arbeitete für mich.
quelle
Bringen Sie einfach alle Symbole in diese Reihenfolge (ich habe es nur in dieser Reihenfolge getestet, da es für mich in Bezug auf den Code am sinnvollsten ist).
Hinweis für den Körper Link ... Ich habe gerade setzen ...
;?&body=
. Beachten Sie auch, dass ich festgestellt habe, dass ich%20
für alle Räume verwenden muss.Ich habe es auf meinem iPhone (Version 9.2) und einem anderen Android getestet und es funktioniert einwandfrei.
Dies wird das Problem lösen, dass es für verschiedene Geräte gehackt werden muss. Ich habe keine Artefakte, als ich es in der SMS getestet habe.
quelle
Für Android und iOS sind keine zwei separaten Ankertags erforderlich. Das sollte helfen.
// Ohne Kontaktnummer
<a href="sms:?&body=message">Text Message</a>
// Mit Kontaktnummer
<a href="sms:1234567890;?&body=message">Text Message</a>
// Funktioniert sowohl auf Android als auch auf iOS
quelle
Without Contact Number
Version unter MacOS - sie setzt die SMSto
auf?
Wir haben eine vorgeschlagene Methode gefunden und getestet:
Hier sind die Ergebnisse:
<12345678? Body = Hellomyfriend>" (nach dem Klicken auf den Link "SMS senden")).
Ich komme daher zu dem Schluss, dass es nicht wirklich funktioniert - zumindest mit dieser Methode.
quelle
Nur für Android und iOS :
Android und iOS ein Empfänger nur mit Körper:
Nur Android mehrere Empfänger mit Körper:
Nur iOS mehrere Empfänger mit Körper:
Beachten Sie, dass der Body URI-codiert sein sollte.
quelle
Versuchen Sie Folgendes, um SMS- und Mailto: -Links zu erhalten, die sowohl auf dem iPhone als auch auf Android ohne Javascript funktionieren:
Ich habe es auf Chrome für Android & iPhone und Safari auf dem iPhone getestet.
Sie alle arbeiteten wie erwartet. Sie arbeiteten auch ohne Telefonnummer oder E-Mail-Adresse.
quelle
Bradoregos Lösung hat bei mir funktioniert, aber hier ist eine ausführlichere Antwort.
Eine kleine Überlegung ist, dass Sie den Körper mit
%20
anstatt codieren müssen+
. Für PHP bedeutet dies, dassrawurlencode($body)
anstelle von verwendet wirdurlencode($body)
. Andernfalls werden in der Meldung bei alten Versionen von iOS anstelle von Leerzeichen Pluszeichen angezeigt.Hier ist eine jQuery-Funktion, mit der Sie Ihre SMS-Links für iOS-Geräte anpassen können. Android / andere Geräte sollten normal funktionieren und den Code nicht ausführen.
HTML:
jQuery:
Erwägen Sie die Verwendung einer Klasse wie
a.sms-link
anstelle von,a[href^="sms:"]
wenn möglich.quelle
quelle
Das iPhone akzeptiert keinen Nachrichtentext, sondern nur die Telefonnummer. Sie können dies hier sehen https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html#//apple_ref/doc/uid/TP40007899-CH7-SW1
quelle
Für die Verwendung von Android verwenden Sie den folgenden Code
Für iOS können Sie den folgenden Code verwenden
Der folgende Code funktioniert sowohl für iOS als auch für Android
quelle
Das funktioniert auf meinem iPhone 5S!
quelle
Ich vermute, dass Sie in den meisten Anwendungen nicht wissen, wen Sie schreiben sollen, also möchten Sie nur den Textkörper und nicht die Nummer ausfüllen. Das funktioniert wie erwartet, wenn Sie nur die Nummer weglassen. So sehen die URLs in diesem Fall aus:
Für iOS das gleiche außer mit dem;
Hier ist ein Beispiel für den Code, mit dem ich die SMS einrichte:
quelle
Nun, Sie müssen sich nicht nur um iOS und Android kümmern, es gibt auch welche Android Messaging App. Die Google Messaging App für Note 9 und einige neue Galaxien werden nicht mit Text geöffnet, aber die Samsung App funktioniert. Die Lösung scheint // nach der SMS hinzuzufügen:
so sms: // 15551235555
sollte sein
quelle
(Nur ein kleines Thema), aber wenn Sie suchen, könnten Sie hier stolpern ... In Markdown (getestet mit Parsedown und auf iOS / Android) könnten Sie Folgendes tun:
quelle
Ich habe herausgefunden, dass Sie auf dem iPhone 4 mit IOS 7 nur dann einen Text in die SMS einfügen können, wenn Sie eine Telefonnummer in der Kontaktliste des Telefons festgelegt haben.
Folgendes funktioniert also, wenn 0606060606 Teil meiner Kontakte ist:
Unter iOS 6 (iPhone 3GS) funktioniert es übrigens nur mit einem Körper:
quelle
Jede Betriebssystemversion hat eine andere Vorgehensweise. Schauen Sie sich die SMS-Link-Bibliothek an
quelle
Eines der Probleme mit einem Click-to-Text-Link ist das Lösen des Desktop-Szenarios, in dem keine native Texting-App vorhanden ist. Eine Lösung besteht darin, den Click-to-Text-Schaltflächenersteller von Zipwhip zu verwenden.
https://www.zipwhip.com/create-sms-button/
quelle
Weder Android noch iPhones unterstützen derzeit das Body-Copy-Element in einem Tap to SMS-Hyperlink. Dies kann jedoch programmgesteuert erfolgen.
quelle