Certification - KeithWilliamsGMIT/4th-Year-Mobile-Application-Development-Project GitHub Wiki
Overview
One of the original objectives in the project proposal was to put this application on both the Windows Store and the Play Store. This page will document the steps taken to achieve this.
Prepare the application
The application must be prepared for both stores. The steps required to prepare both the UWP and Android applications for their respective stores are given below.
Android
- Replace the default Xamarin Icon
- Version the application
Set the application number and name in the Android manifest section of project Properties. - Shrink the APK
- Linking in the Android Options section of the project Properties
- None – This turns off the linker.
- SDK Assemblies Only – This will only link the assemblies that are required by Xamarin.Android.
- Sdk and User Assemblies – This will link all assemblies that are required by the application, and not just the ones required by Xamarin.Android.
- Proguard
- Protect the application
- Disable debugging by adding the following to the
AssemblyInfo.cs
file.#if DEBUG [assembly: Application(Debuggable=true)] #else [assembly: Application(Debuggable=false)] #endif
- Compile - Build > Rebuild Solution
- Archive for publishing
- Right-click the project in Solution Explorer and select the Archive... option
UWP
- Test the application using the Windows App Certification Kit
Certification
Once the apps are prepared we can submit them for certification.
UWP
- Login to the Windows Dev Center.
- Navigate to the dashboard and create a new application.
- Reserve the name of the application.
- Click on the "Start your submission" option.
- From here you will need to fill out a number of categories in order to submit the application for certification. These include the following:
- Pricing and availability
- Properties
- Age ratings
- Packages
- Store listings
- Notes for certification
Conclusion
I found that there is considerable more effort required to certify and publish a cross-platform app. Each platform introduced different problems and had different requirements that needed to be met.