We are sending text messages with a URL in them to mobile devices. Most people didn't seem to have a problem, except Android users.
Multiple messaging apps attempt to "linkify" what they see as a URL in the body of the message.
For no apparent reason, only the first portion of our URL is treated this way with a few characters at the end that are not included in the link. They are shown and they are correct.
They are just not part of the link so when the user clicks on the link, only the linkified portion is used and the link fails.
I know iOS had lots of problems with currency symbols and key words as they attempted to turn SMS into banking. This is not that.
Found what was happening.
All SMS messages are broken into "segments" when they are too long to fit in one SMS message, usually 160 characters or so.
What I discovered is that if the URL in the message falls across a segment break (in my case segment two to segment three) when the segments are reassembled on the phone, the part of the link falling into the next segment is not included when the message app "linkifies" the URL. It simply appears as trailing text.
Can't answer which OS version this is since it belonged to an end user. The phone was a Galaxy S8+. I did have the user update to the latest version available and the problem still existed. I also had the user try two different messaging apps with the same result.
In the end, I simply changed the message text to always have the complete URL fall into a single message segment. That's a half assed solution, but the only one available. Time to move on.
I got lucky on this one with some screen shots, a bit of digging and an old man's intuition.
Here's a link to the Twilio segment calculator. Thank God for those heroes.
Twilio Message Segment Calculator
HTH someone.
Related
Totally new to Azure and the services it offers, I face many questions about the "Speech" service and the bots that can be created on the Microsoft platform. Currently developing an Android mobile application I'd like to realize the following behavior:
The user records a voice file from the app (using MediaRecorder), this part is ok
Once the recording is finished, this file is sent to Azure function(via an HTTP POST).
The file is translated into Text
The text is sent (step 7) to the bot which reacts accordingly by executing an HTTP request.
Scheme of the process I explained
First of all I wanted to know if this scenario is possible or if I have to use the Speech SDK on my Android application.
Moreover if this scenario is possible, how do I send the text to the chatbot? I've checked this link but it doesn't seem very relevant to me.
NB: My bot has been completely created using "Bot Framework Composer" for the moment, no code has been written, I just wanted to know if my scenario is plausible and above all possible.
Go through your steps, and I think it can be implemented. If you want to send text to bot, you can refer to this request.
Before that, you may need to start a conversation and get the conversationId.
As the title of my questions suggests, I am looking for a way to embed hidden text inside of a SMS message. I am unsure if this is possible and have spent a fair amount of time scouring the documentation from Android at http://developer.android.com/reference/android/telephony/SmsMessage.html.
This following link provides information about the structure of an SMS message http://www.smartposition.nl/resources/sms_pdu.html as it may be of use to the reader.
I am seeking the confirmation or rejection that this is possible, and if it is, will the method provided be platform/application independent?
Thanks all for you help and expertise.
That's not really possible. You have no control over how any given SMS app chooses to display received messages. It may be possible to encode something within the text using non-printing characters, but it would have to be your app that receives and decodes the message. The same goes for any kind of encoding or encryption you might implement. No standard SMS client is going to know to specially handle your messages.
I have an appointment booking service that I want to be able to send the store address via SMS to the customers. I know I can just put in a regular address and Android and Apple will let you click on it to put it into the maps application. However, the addresses can sometimes be long and blow past the 160 char limit, meaning the customer gets a split message.
What I'd like to do is put the address in a URL shortner and have that be clickable to go to the maps app. My understanding is that if the link redirected to a geo:lat,long link that it would do that but it doesn't seem to work.
Can you suggest how to use a shortened URL that would allow a click to go to the map app on cell phones sent over SMS?
Look into TinyURL.com, it gives smaller url's. You still have enough space left for normalish adresses. Here even seems a way to call it from java.
http://www.mularien.com/blog/2008/12/04/tutorial-accessing-the-tinyurl-api-from-java/
Try it for yourself by following this link: http://tinyurl.com/outx83r
Option 2 would be a use a more modern system like WhatsApp, or your own message app.
The plain text emails our company sends to clients who wish to receive them include a long string of parameters which are necessary for the business side. These are long strings including weird special characters and pipes and an email address.
The links, which are necessary for analytics and attributing sales, are therefore not fully clickable on iOS and Android, and so the parameters are not being properly logged... which potentially screws up a lot of things from analytics to attributing sales referrals.
On android devices these links fail by making the email address clickable.
On iOS devices some of the link is properly made into a clickable link., however the first part of the link is cut off at a certain number of characters, or perhaps because the string includes something that would cause it to believe it is no longer reading a hyperlink.
So:
A) Is there a character limit being applied to plaintext links in OSX, or a string combination that would cause the email to escape the text hyperlink?
B) Is there a simple way to include the email information. Some sort of escape char perhaps?
(HTML emails are the majority of what we do and we don't put a lot of effort into plaintext, because we think it drives very little sales. That is probably right... but when we're not actually tracking them it is not a scientifically sound assumption. And no doubt even a bit of bad data complicates the data analysts' jobs).
I would be interested if anybody can reference demographics on site visits from plaintext messages also... my personal guess is that if people are electing to receive emails in any kind, they are probably buying stuff. Who cares enough about data use to get plaintext emails only, but... opts into ones they don't want? In particular, because only one of the links properly tracks these users, I am guessing that their engagement is high to not be culled from the mailing lists altogether.
Since you have a logic in place, which is building your URL, you should check if your URL is correctly formed.
How to validate URL: https://stackoverflow.com/questions/1471201/how-to-validate-an-url-on-the-iphone
Once you confirm it's a valid URL, try shorten your URL using TinyUrl's API:
http://tinyurl.com/api-create.php?url=<#YOUR_URL#>
So I've gotten some great information from people on here pertaining to how to allow my application to receive text messages before the native messaging app catches them.
However, I'm looking for a little more specifics on how I can mold this to fit the needs of my application
What I'm ultimately looking to do, is to only have text messages pertaining to my application be the ones that are caught by my application before the native messaging app, while all other text messages just head to the normal spot
Is there any way to add extra data to a text message, or some sort of port, where text messages can be filtered into my app as opposed to the native messaging app, without losing out on my 160 character max? I'm really not looking for my application to replace the native messaging app for all text messages, and would only like to have it deal with text messages that are pertaining to my application, as it seems right now to be much easier to have them come into the application from an end-user standpoint, as there's no good way (at least on hTC phones) to copy or import individual text messages from the native messaging application to be brought into the application.
Any help would be very very appreciated... and if there's any wording in there that is hard to understand (as I'm sure it might be somewhat difficult to follow), please let me know and I will try to clarify! Thanks!
The answer is probably no, assuming you have a filter set up before your native messaging app to do some regex (regular expression) filtering on the message content, you will have to use up some of your character limit - or make sure your application is extended to handle multi-sms messages (i.e. one message using 2,3 or more sms's).
The best, easiest to read description of the inner details of an sms I know of is this, SMS and the PDU format, short of going through the official ITU-T protocol documents. There are other fields in the SMS there, but I doubt you could reliably hijack one of them for your purposes. But then again, if you did a whole bunch of trial & error, you might find a way.