I have submitted a windows phone app of PNR status.It failed and error in report says this:
The application cannot be tested for compliance for Windows Phone Application Certification Requirements due to geographic, hardware, and/or software limitation(s).Please provide valid test PNR numbers with resubmission
What should be done for resubmission?
Only PNR numbers should be sent or any other thing to be done?
There is a specific section at .xap submission page, where you can add data for testers, like logins, passwords, etc. The message in your report shows, that testers need additional data to test your app properly (so you don't need to replace your xap file). When you'll add this info, submit app once again.
Also note, that if your app failed submission, there's a button for contacting market tech support, so you can always ask them, what was wrong, if you're not sure.
You can read about different tech.certification requirements here at MSDN
5.1.4 – App testability The app must be testable when it is submitted to Windows Phone Store. If it is not possible to test your app for any
reason, including, but not limited to, the items below, your app may
fail this requirement.
If your app requires credentials, you must include them in the Test
notes or instructions field when submitting your app on the Windows
Phone Dev Center. The credentials must be valid.
Examples of credentials include:
Login credentials. For example, if your app requires a username and
password to access part of the app.
Testing credentials. For example, if your app allows a user to add to
a gift card balance, you must include both login credentials and a
gift card number that can be tested.
If your app accesses a web service, the web service must be functional
and your app must run properly.
If your app interacts with third-party hardware, for example a media
streaming device, you must file a technical exception. For more
information on how to file a technical exception, see the Technical
Exception Request form.
Your app must not require that it is run on a single, specific
cellular network.
Your app must launch.
Related
So I have an app generated with GeneXus in the Play Store and I received the following e-mail from the store:
[...] Policy issue: Google Play requires developers to provide a valid privacy policy when the app requests or handles sensitive user or device information. Your app requests sensitive permissions (e.g. camera, microphone, accounts, contacts, or phone) or user data, but does not include a valid privacy policy. [...]
So I went to the Developer Console and found this in the privacy police section (translated from portuguese):
Your app have an APK with the version code 40 thar require these permissions: android.permission.READ_PHONE_STATE. Using these permissions in an APK require a privacy police.
So my question is: What am I using in GeneXus that needs this permission? I get the NetworkId from the ClientInformation object, is it?
Yes, that is precisely the reason. The Android method that obtains the IMEI number (and that GeneXus applications call to obtain it) needs the READ_PHONE_STATE permission to execute. This is understandable, as it's considered private information.
Following Android's Best Practices for Unique Identifiers I would suggest using the ClientInformation.Id property instead. As a bonus, it doesn't persist over device wipes, which in 99% of cases is the intended behavior (unless the app is only installed in controlled devices, which doesn't seem to be the case if it's published in the Play Store).
If you decide to go this route, just remember to reset the Send Device Information on Requests property to false.
(Note: the property name has been/will be changed to Include Network Id in Client Information as of GeneXus 15 U3, since the old name was prone to confusion).
I want to request the permissions that I need for my android wear app upfront as per this. So Programmatically where exactly I should put my permission request code. Also is the protocol to ask for Permission the same as the mobile app like this.
All of the permissions are controlled in the Androidmanifest. Here is an example of some permissions being declared in the Androidmanifest:
These permissions are used to get the weather from the device and relay the information to an Android Wear device. Google offers documentation for developers to use to determine what permissions should be used. Declaring permissions should happen in the Androidmanifest in the format provided in the image. In the sample code posted, it is not necessary to include watch permissions, they are only required if the app works with Android Wear.
Way back in the day Google added a feature in Android 4.3 that let the user control what permissions apps could access on a per app basis known as App Ops. This was a great feature that cut down on privacy issues and gave users the piece of mind knowing that random apps installed could not access the device’s location. When Google introduced Android 6.0 Marshmallow, This time when an app needs to use a permission a dialog box pops up on the screen and asks the user if it is OK that the app uses a certain permission. This may get a little annoying, but at least every permission used by an app has to go through the user first.
If your app doesn't already have the permission it needs, the app must call one of the [requestPermissions()](https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html#requestPermissions(android.app.Activity, java.lang.String[], int)) methods to request the appropriate permissions. Your app passes the permissions it wants, and also an integer request code that you specify to identify this permission request. This method functions asynchronously: it returns
right away, and after the user responds to the dialog box, the system calls the app's callback method with the results, passing the same request code that the app passed to requestPermissions().
You should dynamically request the permissions from user on wearable devices just the same way you do on the phone side.
In the past, I experienced difficulties publishing password protected iOS apps. iOS representative were worried we were trying to ‘sell’ the content independently. Anyhow, we are thinking of deploying a password protected Windows app but we want to find out if Windows review process is strict about things like that (we don’t have any experience publishing on the Windows Store).
Thanks
I suppose by "password protected" app you mean an app which requires the user to have his own login credentials in order to fully access (or use) the app. In this case you will need to provide Microsoft with credentials to test the app during the certification process. Here's a quote from the certification requirements:
1.2 Your app must be testable when it is submitted to the Windows Store
If, for any reason, it is not possible to test some parts of your app,
your app may fail this requirement. For example, if your app requires
login credentials, provide us with a working demo account using the
Notes to Tester field. If your app requires access to a server, tell
us what we need to do to verify that it's working correctly. If your
app allows a user to add a gift card balance, give us a gift card
number that can be used in the testing.
I'm looking to publish an app which gives users the ability to register and login using my hosted database. The user will supply their name, email and password.
I'm wondering what I need to do in order to get the app certified for the marketplace - what disclaimers/notices must I ensure the user agrees to before the app is certifiable? I'm presuming if I don't handle this, it will be picked up by policy 2.8.
Have you many more tips for getting an app published to the marketplace? First time user, really want to have my app up and running within the next month!
Thanks,
Gerard.
I have pasted below the screen shot of the error report which I received:
The application cannot be tested for compilance for wp7 application certification requirements due to geographic,hardware or software limitations.Please provide valid test account credentials with resubmission
Notes:
Double check that the capabilities required by your application are declared correctly.
Avoid hard-coded logic based on the orginal Product ID.If your application design requires using logic based on a product id,use the windows phone marketplace assigned non-volatile product id instead.
A couple of things that might help:
If your app requires credentials to work, you can create a dummy user for testing purposes, and provide these credentials when submitting the app to the marketplace.
About the capabilities, you should declare all the phone features that your application uses. This is done through the Properties/WMAppManifest.xml file in your project. You should check this MSDN article for extended information on each capability. By default, all the features are declared, so you should remove the features that you won't be using.