Submitting to the Google Play and Amazon Stores: Difference between revisions
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
''Watch the video: [https://www.youtube.com/watch?v=s1UteFqekyY Get ready for the Android store!]'' | ''Watch the video: [https://www.youtube.com/watch?v=s1UteFqekyY Get ready for the Android store!]'' | ||
Line 7: | Line 5: | ||
''Watch the video: [https://www.youtube.com/watch?v=s1UteFqekyY Get ready for the Android store!]'' | ''Watch the video: [https://www.youtube.com/watch?v=s1UteFqekyY Get ready for the Android store!]'' | ||
In this TechNote, we'll cover what you need to do to submit your app to Google Play and the Amazon Store. Submitting your app is fairly straightforward. The only hard part is signing your app: fortunately, | In this TechNote, we'll cover what you need to do to submit your app to Google Play and the Amazon Store. Submitting your app is fairly straightforward. The only hard part is signing your app: fortunately, VoltBuilder makes this much easier. | ||
The method used will be to take an AppStudio app, use | The method used will be to take an AppStudio app, use VoltBuilder to produce a .apk file, then submit that to the stores. | ||
You can use this procedure for any AppStudio project. It will also work if your project uses the [ | You can use this procedure for any AppStudio project. It will also work if your project uses the [Cordova|Cordova CLI]. It will not work if you are using third party Cordova plugins which are not supported by VoltBuilder: for those, you will need to use the Cordova CLI method. | ||
Start by testing your app as much as possible while it is still a web app. It will be much easier to make changes, fixes and improvements at this stage. | Start by testing your app as much as possible while it is still a web app. It will be much easier to make changes, fixes and improvements at this stage. | ||
Until you have your own account and have entered your signing key, | Until you have your own account and have entered your signing key, VoltBuilder will build your app in debug mode. Once signed, it will build in release mode. | ||
= | = Create the Keystore = | ||
[https://build | The easiest way to do this is to use the VoltBuilder [https://volt.build/docs/certificates/ Certificate Wizard]. | ||
= VoltBuilder = | |||
[https://www.voltbuilder.com VoltBuilder] is a web service which takes your project and returns a file which can be uploaded to the App Store. | |||
To use it, follow [[VoltBuilder|the instructions here]]. | |||
[[ | |||
== Build and Download == | == Build and Download == | ||
Now we can upload our app to | Now we can upload our app to VoltBuilderr. Set the values in Config.xml correctly and choose 'Build Native App with VoltBuilder' from the Run menu. | ||
Each time you submit a new version to the Google Plan and Amazon stores, increment the value of versionCode in config.xml. | Each time you submit a new version to the Google Plan and Amazon stores, increment the value of versionCode in config.xml. If you build with AppStudio, this value is incremented automatically. | ||
== Config.xml == | == Config.xml == | ||
One of the project properties is named | One of the project properties is named config.xml. This is used to create the config.xml file which is passed to VoltBuilder. It contains much of the information that VoltBuilder needs to create your app. The default configxml file will work, though you may wish to do some customization. It's worth consulting [https://cordova.apache.org/docs/en/latest/config_ref/index.html Cordova's config.xml documentation] to see all the options. | ||
Here is a sample config.xml: | Here is a sample config.xml: | ||
Line 107: | Line 40: | ||
<widget | <widget | ||
xmlns = "https://www.w3.org/ns/widgets" | xmlns = "https://www.w3.org/ns/widgets" | ||
id = "com.nsbasic.{id}" | id = "com.nsbasic.{id}" | ||
versionCode = "{phoneGapBuildCounter}" | versionCode = "{phoneGapBuildCounter}" | ||
Line 114: | Line 46: | ||
<name>{title}</name> | <name>{title}</name> | ||
<description>{description}</description> | <description>{description}</description> | ||
& | <engine name="android" spec="10.1.2" /> | ||
<icon src='{icon}' /> | <icon src='{icon}' /> | ||
Line 126: | Line 58: | ||
<!-- <preference name="orientation" value="default" /> --> | <!-- <preference name="orientation" value="default" /> --> | ||
<!-- <preference name="fullscreen" value="true" /> --> | <!-- <preference name="fullscreen" value="true" /> --> | ||
<plugin name="cordova-plugin-statusbar" source="npm" /> | <plugin name="cordova-plugin-statusbar" source="npm" /> | ||
Line 138: | Line 64: | ||
<preference name="StatusBarStyle" value="{phoneGapStatusBarStyle}" /> | <preference name="StatusBarStyle" value="{phoneGapStatusBarStyle}" /> | ||
<allow-navigation href="*" /> | <allow-navigation href="*" /> | ||
<access origin="*" /> | <access origin="*" /> | ||
Line 155: | Line 80: | ||
</pre> | </pre> | ||
Fields which are surrounded by brackets, like {version}, are automatically filled in by AppStudio from the other information in the project. | |||
= Set up store accounts = | = Set up store accounts = | ||
Line 181: | Line 90: | ||
The Google Play Store costs $25.00 to join. You can get started here: | The Google Play Store costs $25.00 to join. You can get started here: | ||
https://play.google.com/apps/publish | https://play.google.com/apps/publish | ||
VoltBuilder will upload your app to the iTunes App Store as part of the build. | |||
For this to work, you need to set the googlePlayKey and googlePlayTrack fields in Project Properties, in the '''VoltBuilder and Cordova''' section. | |||
Follow [https://volt.build/docs/google_play/ these instructions] to get the values for these fields. | |||
== Amazon Store == | == Amazon Store == | ||
Line 189: | Line 104: | ||
To submit your apps to the Amazon Store, you need to add some lines to your configxml to tell it which devices you support. | To submit your apps to the Amazon Store, you need to add some lines to your configxml to tell it which devices you support. | ||
Add this to your configxml: | |||
<pre> | <pre> | ||
<edit-config file="AndroidManifest.xml" target="/manifest/supports-screens" mode="merge"> | |||
<supports-screens android:anyDensity="true" android:resizeable="true" | <supports-screens android:anyDensity="true" android:resizeable="true" | ||
android:smallScreens="true" | android:smallScreens="true" | ||
Line 201: | Line 112: | ||
android:largeScreens="true" | android:largeScreens="true" | ||
android:xlargeScreens="true" /> | android:xlargeScreens="true" /> | ||
</config | </edit-config> | ||
</pre> | </pre> | ||
= Submit your App = | = Submit your App = | ||
Finally, you're done. Both stores have an Upload APK button where you can upload the apk file that was downloaded from | Finally, you're done. Both stores have an Upload APK button where you can upload the apk file that was downloaded from VoltBuilder. | ||
Google apps go live automatically a few hours after being submitted. Amazon app go through a review process which is not as extensive as Apple's, which can take a couple of days. | Google apps go live automatically a few hours after being submitted. Amazon app go through a review process which is not as extensive as Apple's, which can take a couple of days. |
Latest revision as of 20:26, 20 July 2022
Watch the video: Get ready for the Android store!
Prepare your App
Watch the video: Get ready for the Android store!
In this TechNote, we'll cover what you need to do to submit your app to Google Play and the Amazon Store. Submitting your app is fairly straightforward. The only hard part is signing your app: fortunately, VoltBuilder makes this much easier.
The method used will be to take an AppStudio app, use VoltBuilder to produce a .apk file, then submit that to the stores.
You can use this procedure for any AppStudio project. It will also work if your project uses the [Cordova|Cordova CLI]. It will not work if you are using third party Cordova plugins which are not supported by VoltBuilder: for those, you will need to use the Cordova CLI method.
Start by testing your app as much as possible while it is still a web app. It will be much easier to make changes, fixes and improvements at this stage.
Until you have your own account and have entered your signing key, VoltBuilder will build your app in debug mode. Once signed, it will build in release mode.
Create the Keystore
The easiest way to do this is to use the VoltBuilder Certificate Wizard.
VoltBuilder
VoltBuilder is a web service which takes your project and returns a file which can be uploaded to the App Store.
To use it, follow the instructions here.
Build and Download
Now we can upload our app to VoltBuilderr. Set the values in Config.xml correctly and choose 'Build Native App with VoltBuilder' from the Run menu.
Each time you submit a new version to the Google Plan and Amazon stores, increment the value of versionCode in config.xml. If you build with AppStudio, this value is incremented automatically.
Config.xml
One of the project properties is named config.xml. This is used to create the config.xml file which is passed to VoltBuilder. It contains much of the information that VoltBuilder needs to create your app. The default configxml file will work, though you may wish to do some customization. It's worth consulting Cordova's config.xml documentation to see all the options.
Here is a sample config.xml:
<?xml version="1.0" encoding="UTF-8"?> <widget xmlns = "https://www.w3.org/ns/widgets" id = "com.nsbasic.{id}" versionCode = "{phoneGapBuildCounter}" version = "{version}"> <name>{title}</name> <description>{description}</description> <engine name="android" spec="10.1.2" /> <icon src='{icon}' /> <preference name='SplashScreenDelay' value='2000' /> <preference name='AutoHideSplashScreen' value='true' /> <plugin name='cordova-plugin-splashscreen' source='npm' /> <preference name="permissions" value="none"/> <!-- sample preference specifications --> <!-- <preference name="autorotate" value="false" readonly="true"/> --> <!-- <preference name="orientation" value="default" /> --> <!-- <preference name="fullscreen" value="true" /> --> <plugin name="cordova-plugin-statusbar" source="npm" /> <preference name="StatusBarOverlaysWebView" value="{phoneGapStatusBarOverlay}" /> <preference name="StatusBarBackgroundColor" value="{phoneGapStatusBarColor}" /> <preference name="StatusBarStyle" value="{phoneGapStatusBarStyle}" /> <allow-navigation href="*" /> <access origin="*" /> <allow-intent href="*" /> <plugin name="cordova-plugin-wkwebview-engine" source="npm" /> <platform name="ios"> <preference name="WKWebViewOnly" value="true" /> <feature name="CDVWKWebViewEngine"> <param name="ios-package" value="CDVWKWebViewEngine" /> </feature> <preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" /> </platform> </widget>
Fields which are surrounded by brackets, like {version}, are automatically filled in by AppStudio from the other information in the project.
Set up store accounts
Setting up your store account is straightforward, but involves many steps. Thankfully, they are clear and well documented, so we do not have to repeat them here.
Google Play
The Google Play Store costs $25.00 to join. You can get started here: https://play.google.com/apps/publish
VoltBuilder will upload your app to the iTunes App Store as part of the build.
For this to work, you need to set the googlePlayKey and googlePlayTrack fields in Project Properties, in the VoltBuilder and Cordova section.
Follow these instructions to get the values for these fields.
Amazon Store
The Amazon Store is free to join. You can get started here: https://developer.amazon.com/welcome.html
To submit your apps to the Amazon Store, you need to add some lines to your configxml to tell it which devices you support.
Add this to your configxml:
<edit-config file="AndroidManifest.xml" target="/manifest/supports-screens" mode="merge"> <supports-screens android:anyDensity="true" android:resizeable="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" /> </edit-config>
Submit your App
Finally, you're done. Both stores have an Upload APK button where you can upload the apk file that was downloaded from VoltBuilder.
Google apps go live automatically a few hours after being submitted. Amazon app go through a review process which is not as extensive as Apple's, which can take a couple of days.