android SIM Card change notifier - android

i am developing an android app. what i am doing is i have added a feature which detects the sim number. if the user changed the sim number, i get the current sim number and then i am emailing the new number to the user. so how am i detecting this is i am automatically sending a message from an app to my server and then i detect the number. so now the problem is when i put the app on the Google play store .. they are deleting my app and what reason they are giving me is "you cant send an sms from the phone without user permission which is against their policies.so i am wondering why then other apps are working and doing the same thing .. for example this app
https://play.google.com/store/apps/details?id=instigate.simCardChangeNotifier&hl=en
there are many apps on the google play store which detecting the number and i think they are pretty much using the same technique to get the current number.. so i want to know what exactly they are doing or how they are playing tricks with Google so Google cant detect them

Related

Can I get details of users who downloaded my android app?

Is there a way how to get details of users who downloaded my android app from Google Play store? I'd need for example email address, phone number or at least phone id...
Thank you.
Yes you can.
For that you need to write in your code to get the Phone IMIE No, or any specific information you need and then send those to your server and save them in your any specific Activity class when the user first time open your App. This could be done programatically before the app is sent to the play store.

Does Google play store policy allow to get phone number

I am a android programming beginner.
I am creating an app that takes the phone number programatically from the device.
Does Google allow this or will my app be restricted?
To be clear, in order to get the phone number from the device, you will need to specify the appropriate Permission in your AndroidManifest. This is perfectly acceptable to do, and this is allowable in the Play Store.
This likely will effect the rating you can assign to your app, because gathering personal information (like phone number) is not allowed in apps that are rated for "everyone".
Bottom line, you can get the phone number, and the Permissions model insures that you don't do this without the users knowledge.

How can the application detect the user and/or the device have never installed the application before

Scenario
The user get only the first time free credits in the app. After that we want to do fraud prevention. We need to check if the user and/or the device have not installed the application before.
We can accept the risk of a factory reset or rooted devices
What I tried already
Listen to Intent.ACTION_PACKAGE_FIRST_LAUNCH. After reading I understand that this event is only send to the Play store and can't be used in any other app.
Check the application package info for the field "firstInstallTime", this is reset when the user removed the application and do a install.
Android Backup Service, but the user can stop the backup and reset data, so this is at no use.
App licensing looks like a promise solution to detect if the user have already installed the app. But with limitations the following is described: "You can implement licensing controls for a free app, but only if you're using the service to provide APK expansion files." Do we need to make a small APK expension file, just to verify the license?"
make a fingerprint of the mac address, imei, android id and some other stuff. But would this make the scans of Google play violating? I don't use it for advertising, but i'm afraid they think we violate the google play policy.
how you can help me
Can you help me to choose a good direction to solve this issue and maybe give some better methods to do this verification.
Factory reset, second-hand phones and users with multiple devices will be your main problems.
The only way to uniquely identify a user is an authentication through login/password or OpenId account.
Hey there if you are managing user information at the your server than what you can do is take the IMEI number of the device and send it to your server. It will record the information of the user. Now if he/she uninstall and install app again your app will again send IMEI number at server now you can check the IMEI already present or not, If present then user have already installed your application, more over you can manage same thing from the login ID, but that can be faked by the user. More over it will not violate any thing. User can see while installing in the permissions that your app will get the system information.

prevent un authorization for iOS and android app

I am developing iOS and android application. I want to prevent the user from logging in into the app from the different devices which may have different sim card into the devices.
For Example, If user has device A and he logged in into the app, then he cannot get log in into the app from other devices called as device B which has different sim card. Also, please note that if the user has a same mobile number on different devices, then he is an authorize user and can log in into the app.
So, Can i put restriction based on user's sim card details? or else what can i do to prevent the users from getting an unauthorized log in into the app?
Any help will be appreciated. Thanks in advance.
You can use IMEI number of devices. By using IMEI number you can restrict them. Hope it helps. Thank you!!

Who bought my app

I develop mobile cross-platform games (for iOS,Android and WP).
I want to know the email or the phone number of the people who bought my app from the iOS,Android or WP store, for using these informations for authentication purpose.
Waiting for your valuable comments and sugessions
Thanks.
You don't have that information unless people authorize you or give it to you.
Under no circumstances should you be able to get the information of the people who are buying your apps unless they opt into it and it’s made crystal clear to them that you are getting this information.
This was in the news last year because you shouldn't have that data.
This counts for iOS and Android.
options
Ask users for their personal information in the app and send it to
your servers.
Make your app need registration and login ( This is very strict on iOS, make sure you have some kind of offerable service which actually need registration)
You can link their personal information with device numbers, but these are spoofable on rooted and jailbroken devices
To get the device information on android:
You want to call android.telephony.TelephonyManager.getDeviceId().
This will return whatever string uniquely identifies the device (IMEI on GSM, MEID for CDMA).
You'll need the
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
permission to do this.
On iOS look at this answer: How to get IMEI on iPhone?
I can only speak for iOS:
You can't get email address nor phone number using iOS APIs. If you want this, you need to ask the user yourself.
Then you'd need a way to verify them:
Email by sending a link they need to click.
Phone number by sending the user an SMS (with link they need to click, or code they need to type in UI), or by calling them and asking them to dial/DTMF a code they see in the app, or on the app enter a code they hear.
If you want to keep users apart, without needing any info from them:
Have a non-consumable in-app payment item (which you could call 'account' for example). Since these items can only be bought once per user, and because Apple's in-app purchase receipt contains a unique ID, you can use this as a user identifier. (If this does not make sense, you need to read Apple's documentation about in-app purchases.)
If you are asking the user for mail/no then just store temperorly and use webservice to retrive in background
If you want the details without knowing to user Use analytics and catch maild id's of user (flurry , google analytics)
I dont think this is possible currently. The playstore console displays information like number of download, carriers, devices, etc. You may want to consider building in those features and requesting the info from the user via the valid permissions. Aside there is an unofficial playstore API that lets you pull data viz. app info, comments, etc. You can find it here

Categories

Resources