I built this app:
https://play.google.com/store/apps/details?id=com.FindNewMusic_Vakil
But ios keeps rejecting me for following reason:
Guideline 4.2.3 - Design - Minimum Functionality
We were required to install Spotify before we could use your app. Apps should be able to run on launch, without requiring additional apps to be installed.
Next Steps
To resolve this issue, please revise your app to ensure that users can use it upon launch. If your app requires authentication before use, please use methods that can authenticate users from within your app.
Even though I added another functionality which enables you to view artist in app (following pics).
Any ideas of what I should do to get app to be approved because I am lost at this point
The guideline clearly states that your app depends on other application for serving its purpose. What you're trying to do is novel but simply recommending won't suffice in my opinion. You could try providing a sample of the music and then if the user likes it, you could provide him/her with the option of redirecting to spotify. Your app should serve some purpose on its own. That's just my opinion however.
Related
I have an app where users can send other users multiple choice questions. I want to know if the following is reasonable and what steps should i follow:
User A has downloaded the installable app and created a question for B. App will produce a sharable link.
B will open the link, answer the question without downloading the app.
In a scenario like this, can i use android instant apps? If not whats the best way i can do this?
I have read and tried tutorials on instant apps but couldnt find a match
Yes you can!
Instant Apps can be accessed many different ways, but primarily known through either the Try Now from your Play Store's listing and from opening associated URLs (from browser, other apps, etc.).
You want to do the former, URLs, so you'll need to setup your Instant App to handle those URLs. Handling Android App Links will guide you on how to do that, with a specific section, Create App Links for Instant Apps for Instant Apps.
Enabling this can actually let both your installable and instant app handle those URLs that your app shares.
What you can expect to happen is:
User B taps on the link shared by A
Your instant app opens and loads the correct activity/contents based on the intent-filter that's setup to handle the link
User B can then answer the question inside your instant app
Handle the results from within your instant app
You can find some samples to help you get started and become familiar with it. Though, recently, Instant Apps has been moving towards App Bundle integration (also see this) (with Android Studio 3.2, more prominently with 3.3), so this android-dynamic-features sample and its project structure/setup might be a bit more relevant (if you'll notice the instant modules).
Note: the App Bundle part is actually optional, it's the move to Dynamic Delivery and its the newer plugin: com.android.dynamic-feature vs com.android.feature.
I'm building an MDM application for Android devices and I want to be able to silently update the MDM app in order to patch security holes, add new features, etc. I know it is possible to achieve this by accessing the Android Package Manager Installer but from what I can tell this requires the application to be signed with the same signature from a specific OEM.
Is it possible to do a silent update for an MDM application without rooting the device?
You cannot, and this is viewed as a Good Thing from the point of view of the user, because the code that I install cannot be changed by anybody except software signed by a trusted key (such as Google's Play), or with manual approval.
I can think of two workarounds:
Check if there's an update, download it, then refuse to do anything until the user updates the app.
Dynamically load most of your app's functionality at runtime from a JAR that your app downloads. You could silently update this at will.
Heck, you could even combine the two options, so that if the wrapper needs updating, it will bother the user. The second method will make the nags very infrequent.
You should probably let the user know that this is happening, at least in an initial info-screen. I know I would uninstall any app that tried to go behind my back in this manner, if I found out about it.
I need to increase the security of my android app. Actually my android app. will not be for Google play Store (which provides some licensing options to protect your app.) it will be used for some local companies that used the same app (Desktop app). However, I want to support two versions for my app. which are:
Demo version: for testing aims (after the given period end, the app will stopped!)
Actual version: this if the user want to pay for the app.
What I need:
To increase the security of my app. from installing it another time or on another device for the same user!
For my code I used ProGuard which is a tool provided by Android that lets you obfuscate (make harder to read) your code during packaging. cause there are many reverse-engineering application that used for unpacking the compiled code and viewing the source code (actually I tried some of them and its really amazing to restore the sourse code from .apk!) ..
I think to use the MAC address of each device the app. installed on and then store it into internal database and generate a number form it (in somehow), then ask user enters it (which I the one who knows this number and provider for it) if it is true, the app run else not. But, it's just idea I do not know how this can happen or even from where I can start or even also if that will help!
I tried also SharedPreferences But this does not help!
Actually I do not need for external database on server to read the username or the password for eligible users for app. I need to do that by my app. itself!
In sum please,
How can I protect my app from installing many times for same user or continuing using after testing period ends, etc. (I mean make it more secure)!
any ideas, any suggestions, any useful examples or sites are also desirable.
Sorry for this long question,
Here's the scenario i am trying to achieve:
Publish/have an app in the Android app store
However - i do not want it to be searchable through the android market search, etc.
The only way people can access the app is if i give them an explicit link to download
Is above possible? If so - how? All FAQs/instrucitons i have seen publish & make it searchable for the whole world - but i want it only accessible through #3 above.
Thanks.
Try this site https://www.push-link.com/, you can upload apk on your private account and only can be accessible thorough automatic generated link and QR code. This service contains user notification on new versions and bug reports.
Two things that are problematic with the link to an APK approach:
Some of the devices out there (I m only aware of the Motorola Atrix) don't have the "Unkown Sources" option, meaning that this won't work on them.
You loose the ability to auto update the app if you want.
I would recommend adding a login process where only your users will have access to the actual application. This way, you still have the Market advantages and only those people can activate the application.
The main disadvantage is that the application will be open to search in the Market, but as far as I know, this won't be a problem since people will immediately uninstall it since they won't be able to activate it.
In your case, what I do is, I dont upload the application to the Market and distribute it from my server.
I mean this is simple, sweet and it also saves my $25 for the market account...
Don't do this. Just publish the APK to your own website, then give the users the URL to the APK, they can download and install it directly. The only thing they'll need to do is ensure that Menu-Settings-Applications-Unknown sources is ticked.
How do you instruct users to report a bug in Android? Any advice or tips?
I'd like to get send detailed instructions to my users to get the most of their bug report. I know there are various apps that send bug reports from the device and I was wondering how other Android developers deal with this.
A bug reporting SDK such as Instabug can let you achieve that.
As you can see, it displays, by default, a welcome message to your users 10 seconds after opening the app. It displays instructions on how to invoke Instabug depending on the invocation method you're using (A button or a shake gesture).
After signing up and including the library in your code, you can switch between different display messages. Use either of the following lines depending on whether you're in beta or production.
Instabug.setWelcomeMessageState(WelcomeMessage.State.BETA);
Instabug.setWelcomeMessageState(WelcomeMessage.State.LIVE);
Each bug report contains various information about device details, network logs, console logs, view hierarchy inspection, and visual reproduction steps.
For full disclosure, I work at Instabug. Let me know if I can help.
There are solutions for instrumenting the application in a way that will collect contextual information and allow the user to provide in-app feedback. Either by shaking the phone or some other trigger like a menu option.
Here is a "currently free" offering from IBM called Mobile Quality Assurance, that will instrument the application so that as a user uses the application contextual information is collected as they use the app. When they want to provide feedback or submit a bug, they can shake the phone and it will capture the screen at the time, give them a form to enter additional information and then submit the screenshot, contextual information and comments to the testing portal.
Here's a link for more info on MQA
Taking Gilbert's advice into account, I decided to create my own app. I hereby present you: Bug Reporter.
It allows users to send you a report with device information and optional logcat. It also supports intent extras to customize its behavior if case you want to launch it from your app.
You can do what google does with their new maps application on iPhone. When you're using the app and shake the phone (which users do when they're frustrated or something isn't working) you can pop up a screen that asks if something is wrong and is a form for bug submission that they can choose to fill out.
This isn't Android specific, but you could have a bug reporting screen in your application that sends the information your customers type, along with any system information you wish to capture, to your web server. Alternatively, the application could email you with the information.
There are some libraries you can integrate to do this job, you don't need to develop a solution yourself. For example, I'm using blit feedback. With this library you can take snapshots, draw on them and add some comments. I've configured it to send reports by email, but if you have an issue tracker you can connect it too.
Discovered this question a lot late. There are answers given but the products mentioned or the techniques are quite old now. Adding the tool that we have been working on - Bugclipper
This tool let's your users report issues from with-in the app Android or iOS and you can add/annotate screenshots, create screen recordings with voice and also get the crash logs.
p.s. - I am one of the co-founders.