Como usar um link html para abrir o aplicativo sms com um corpo pré-preenchido?
Tudo o que li parece indicar que sms: 18005555555? Body = bodyTextHere
Deve funcionar, mas no iPhone, isso não funciona. Se eu tirar o? Body = bodyTextHere e apenas usar sms: phonenumber, funciona.
Já vi vários casos em que os códigos QR fazem isso por meio de um link de safári. Como eles conseguem preencher previamente o corpo do texto?
Respostas:
Acontece que isso é 100% possível, embora um pouco hacky.
Se você deseja que funcione no Android, você precisa usar este formato:
<a href="sms:/* phone number here */?body=/* body text here */">Link</a>
Se quiser que funcione no iOS, você precisa disso:
<a href="sms:/* phone number here */;body=/* body text here */">Link</a>
Demonstração ao vivo aqui: http://bradorego.com/test/sms.html (observe que "Telefone e? Corpo" e "Telefone e; corpo" devem preencher automaticamente o campo to: e o texto do corpo. Veja a fonte para mais info)
ATUALIZAR:
Aparentemente, o iOS8 teve que mudar algumas coisas por nossa conta, então, graças a alguns dos outros comentaristas / respondentes, há um novo estilo para o iOS:
<a href="sms:/* phone number here */&body=/* body text here */">Link</a>
(o número de telefone é opcional)
fonte
sms
URI podem ser alteradas no Android e muitos fabricantes de fazer isso; portanto, embora possa funcionar em um dispositivo / aplicativo específico, pode não funcionar em outro (ou simplesmente após uma atualização). Minha sugestão é nunca usar isso no Android, a menos que você esteja apenas configurando o número do telefone; use-o apenas em versões do iOS e plataformas não Android que você testou.Eu sei que este é um tópico antigo, mas tropecei nele e descobri que algumas partes não são mais relevantes.
Descobri que se você deseja apenas preencher o texto por preenchimento sem adicionar um número de telefone, você pode fazer o seguinte:
fonte
?
alguma ideia de como fazê-lo aparecer em branco? Eu tenteisms:?body
esms:;?body
, a primeira tentativa de enviar para? e o segundo tenta enviar para;Para iOS 8, tente isto:
Alternando o ";" com um "&" funcionou para mim.
fonte
Apenas coloque todos os símbolos nesta ordem (eu só testei nesta ordem, pois faz mais sentido em termos de código para mim).
Aviso para a ligação corpo ... Eu só colocar ...
;?&body=
. Além disso, observe que descobri que preciso usar%20
para todos os espaços.Eu testei no meu iphone (v. 9.2) e em outro android e funciona bem.
Isso resolverá o problema de hackear para diferentes dispositivos. Não tenho artefatos quando testei no SMS.
fonte
Não há necessidade de duas tags âncora separadas para Android e iOS. Isso deve ajudar.
// Sem número de contato
<a href="sms:?&body=message">Text Message</a>
// Com número de contato
<a href="sms:1234567890;?&body=message">Text Message</a>
// Funciona em Android e iOS
fonte
Without Contact Number
versão para MacOS - define o SMSto
para?
Encontramos um método proposto e testamos:
Aqui estão os resultados:
<12345678? Body = Hellomyfriend>" (após clicar no link "Enviar sms")).
Portanto, concluo que realmente não funciona - com este método, pelo menos.
fonte
Android e iOS apenas:
Android e iOS um destinatário apenas com corpo:
Apenas vários destinatários Android com corpo:
Somente destinatários múltiplos iOS com corpo:
Observe que o corpo deve ser codificado por URI.
fonte
Para fazer com que os links sms: e mailto: funcionem no iPhone e no Android, sem nenhum javascript, tente o seguinte:
Eu testei no Chrome para Android e iPhone e Safari no iPhone.
Todos eles funcionaram conforme o esperado. Eles trabalharam sem o número de telefone ou endereço de e-mail também.
fonte
A solução de Bradorego é o que funcionou para mim, mas aqui está uma resposta mais ampla.
Uma pequena consideração é que você precisa codificar o corpo usando em
%20
vez de+
. Para PHP, isso significa usar emrawurlencode($body)
vez deurlencode($body)
. Caso contrário, você verá sinais de mais na mensagem nas versões antigas do iOS, em vez de espaços.Aqui está uma função jQuery que irá reajustar seus links SMS para dispositivos iOS. Android / outros dispositivos devem funcionar normalmente e não executarão o código.
HTML:
jQuery:
Considere usar uma classe como em
a.sms-link
vez de,a[href^="sms:"]
se possível.fonte
fonte
O iPhone não aceita mensagens de texto, apenas aceita o número do telefone. Você pode ver isso aqui https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/SMSLinks/SMSLinks.html#//apple_ref/doc/uid/TP40007899-CH7-SW1
fonte
Para usar o Android, você usa o código abaixo
Para iOS você pode usar o código abaixo
abaixo o código que funciona para iOS e Android
fonte
Isso funciona no meu iPhone 5S!
fonte
Suspeito que, na maioria dos aplicativos, você não saberá para quem enviar a mensagem de texto, portanto, deseja apenas preencher o corpo do texto, não o número. Isso funciona como você esperava, apenas omitindo o número - eis a aparência dos URLs nesse caso:
Para iOS mesma coisa, exceto com o;
Aqui está um exemplo do código que uso para configurar o SMS:
fonte
Bem, você não só precisa se preocupar com iOS e Android, mas também com qual aplicativo de mensagens para Android. O aplicativo de mensagens do Google para o Note 9 e algumas novas galáxias não abrem com texto, mas o aplicativo Samsung funciona. A solução parece ser adicionar // após o sms:
então sms: // 15551235555
deveria estar
fonte
(Apenas um pouco de tópico), mas talvez se você pesquisar você pode tropeçar aqui ... No markdown (testado com parsedown e no iOS / android) você poderia fazer:
fonte
Descobri que, no iPhone 4 com IOS 7 , você PODE colocar um corpo no SMS somente se definir um número de telefone na lista de contatos do telefone.
Portanto, o seguinte funcionará se 0606060606 fizer parte dos meus contatos:
Já agora, no iOS 6 (iPhone 3GS), funciona apenas com um corpo:
fonte
Cada versão do sistema operacional tem uma maneira diferente de fazer isso. Dê uma olhada na biblioteca de sms-link
fonte
Um dos problemas com um link click-to-text é resolver o cenário da área de trabalho onde não existe um aplicativo de texto nativo. Uma solução é usar o criador do botão Click-to-Text da Zipwhip.
https://www.zipwhip.com/create-sms-button/
fonte
Atualmente, nem Android nem iPhones oferecem suporte ao elemento de cópia do corpo em um hiperlink Toque para SMS. No entanto, isso pode ser feito programaticamente,
fonte