Will Twilio Trial Account send an actual message? - java

I am trying to verify Twilio integration of my Java app, at the moment I am using a trial version, and I am trying to verify that my App is able to send messages to the mentioned numbers, right now I am in India so the "TO" number is a Indian number, but the Trial number "FROM" number is a US number. I see that the messages are logged in Twilio Website, but I haven't received them on my Indian number. Smells bad? or its normal with Trail Account?
The problem is since I haven't been able to see messages in my phone, I am not sure should I go for the paid one - please help.
In addition, when i tried to verify my Indian mobile number I didn't the verification Code as SMS, so I tried the "Call Option" which worked for me.
Thanks and Regards,
Boolean

Twilio Trial accounts can send messages to verified numbers only.
I just set one up yesterday and was able to receive the messages while using my Trial.
You can check which numbers are 'validated' for testing purpose by clicking the 'Numbers' tab, and then 'Verified Caller IDs'.
When logged into your Twilio account, click on 'Logs', then 'Messages' and you will get a list of all incoming and outgoing messages that Twilio has processed.
The messages may be being blocked because of Geographic restrictions. You can check on current geographic permissions and enable as necessary by clicking:
Top right - your email/profile pic. Then 'Account Settings'.
This will bring up account settings page, as well as a tab of options at the top. Select 'Geographic Permissions' and make changes as necessary.

Related

Javamail - Best Practices (and Alternatives) to Prevent an Email Account from Being Locked

I'm current using Javamail in a Spring Boot application in order to send generic notification (expiring documents, upcoming events, etc.), sometimes to several users at time. While the implementation seems to work fine, I guess since the email are based on templates these sometimes get flagged as spam or may look like a bot to providers like outlook and gmail.
I did some research on methods of increasing the "validity" of an email and included whatever I could find (sending to verified addresses only, using app keys instead of passwords, making sure that the "from" fields and subjects are all filled in correctly, minimizing attachments, etc.) but every few days the outlook account I've linked up gets locked and needs verification to be used again.
I would be grateful for any more information on what I can do to solve this. Also, are there any third-party services that allow the same functionality with different emails that wouldn't end up being flagged as spam?

Is there a way to get the device activation date (un-boxing date)

Is there a way to get the Android device activation DateTime?
I need to know when the android device first startup date or first-time user insert SIM card or from the hardware or the file System
I checked this link and other suggestions and it's not working
and if this data cannot be detected, is there other possibilities to get the SIM slot first configured?
Assuming the user had their data on the first day they used their device or inserted the sim, you can use the NetworkStatsManager to get the user's historical data usage to find the oldest date for data usage for that sim. Look at this question on how to do that. PS, you can only do this on android 23 and up. For pre-android 23 devices, your app has to be a system app in order to access the historical data.
Otherwise I don't think there is any other way to get a close proximity of when the device was activated.
EDIT 1
For pre-android 23 you can try and get the internet configuration messages. Carriers usually send configuration messages when a user inserts a sim on their phone for the first time. You can look at the configuration messages dates and find the oldest. I don't whether this solution will be available as not all carriers send configuration messages
From the Service menu on your phone see the total call time which is very hard to reset. By that, you can assume how long it has been used.
With the current features of Android, that is the best you can get.
Here I assume it is your phone and a google account was created during activation of the phone, being said, I would try to go into the google account(Dashboard) and look when the device was added. This is the date when the device was registered.

Verify my phone number in my app

I am trying to verify the phone number of a device by having the device send a SMS to itself, but I want the message to appear like if the app was the one who send it and not my device.
Here is my project, but when I verify the number. In my inbox it appears that I send and received the message. Is it possible to do that? If it is, how can I change that?
I believe Android added protections a few versions ago that prevent you from sending hidden text messages. Someone may have a better workaround, but as far as I know it is impossible to hide the text from the user. IMO it is not that big of a deal if the user sees the text you send as long as the verification works.

Registration Verification for Android App

I'm working on an app that requires users to register in order to use the features.
I need to ensure that users are who they say they are so I want to use some type of verification process, e.g. email or text verification.
The best solution would be to receive a text or email after registration with a code. This code can then be entered into the application to verify the login.
I know of GMailSender but that is as far as my knowledge would go for this type of situation.
I have no idea where to start with this and have researched a lot.
Any help would be great
Thanks :)
Manually entering a code received by email would be annoying for users and they are highly likely to abandon a process that forces this upon them. Also from experience, emails are so often caught in spam traps and not received.
You should make it as easy and non intrusive as possible.
e.g
Use the device's built in Google account to register with your server (after obtaining user permission of course).
On the server side perform the registration and return a code to the app.
Use the code returned by the server directly in the app to enable whatever features you see fit.
The above example would be a one click process and would require no manual code entry.

What is the better way to develop RSS reader for Android bassed on HTTP requests?

I'm new in development of applications for Android so I'm asking those questions for know which is better way to make RSS reader app. I have a server that downloads and stores on database news from Yahoo. On this database are stored title, content, publication date and link of news. Than I'm making HTTP POST to server to download news to Android. Data from server to android are passed in Json.
Can people, who already had developed an application like this, answer my questions?
Should I pass all list of news in one response to POST or it's better to make it's better to make several POSTs to get the same list? I'm asking this question because response from server may be too big and I don't know which is a better way to transmit it.
Comment system is the feature of my app. So need I to create a authentication system or it's possible to make it basing on ID of phone?
Another thing I need to do is to alert user when new news has appeared on server. I don't have idea how to do it with HTTP POST? Need I send to server list of nees that I have on Android?
Thank you for attention.
Here are the answers for your respective wuestions
1) This depends more on kind of UI you chose for your Android application. In my perspective you should go for multi-page (like prev-next links on bottom of screen) UI for your reader. And you should cache the results of previous page as well as next page in you app (so this also means to fetch selective results only) so that when user clicks on next/prev button the responsiveness of you application is good.
2) Ideally you app should ask for show a pop-up dialog asking to authenticate for commenting. You should use something like http://developer.android.com/reference/android/accounts/AccountManager.html to store these credentials so that from next time you do not ask the credentials again once authentication is successful.
3) In this case you should look at http://code.google.com/android/c2dm/
Polling is surely not the way to go :)
See it depends on how big your file is and more importantly how quickly do you need it.
More requests will certainly increase the latency. What generally you should go for is for one request.
But it again depends, I was once working on an android app and had the same problem. But in my case I split it into 2 requests. One so that I get initial data quickly and can disply to the user. Later with another request I can get the remaining data. So see wh1t suits you more.
Also how many requests will you have to make on an average in an hour. More polling will surely eat your battery a lot. If pushing can help you, try seeing if google's C2DM can be of any help.
For Rss parser ibm has an excellent link at http://www.ibm.com/developerworks/xml/tutorials/x-androidrss/index.html
POST vs GET - POST is meant to change state of server, whole GET is for reading results -
you should use GET to retrieve news, and POST to post comments
Use timastamp to retrieve news from some moment, update timestamp on the device
with latest received news timestamp - this will save traffic for your users and your server. First update will get everything ( you may also put a limiton amopunt of news retrieved in single batch )
everything based on something present on phone is not strong. however, you can use some kind of open id (there are a lot of providers, and most of your users will have google account) provider. In my highscore system I just hash incoming entries with some secret present in APK - this is not very secure, but data are not that valuable and there were no hack attepßts so far.
Every push alert requires active polling from device - also your application shall ask via get request something like "are there new entries since last timestamp" ( but if you already do this, you may as well just download them ) - the alert user via usual android means ( widget, status bar, vibration, playing starwars imperial march... )

Categories

Resources