Skip to content

Commit f52ec09

Browse files
Polishing.
1 parent 2676f5c commit f52ec09

File tree

7 files changed

+56
-135
lines changed

7 files changed

+56
-135
lines changed

articles/tutorials/advanced/MobileDeployment/02_crossplatform/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ In this chapter you will:
1515
- **For iOS Development:**
1616
- An App Store Developer Account
1717
- **Certificates** and **Provisioning Profiles** configured and installed.
18-
- **Mac with Xcode 16 installed** - installed through the App Store.
18+
- **Mac 15.x (Sequoia) with Xcode 16 installed** - installed through the App Store.
1919
- **For Android Development:**
2020
- Android SDK and tools installed - through the Visual Studio Installer or through Jetbrains Rider.
2121

articles/tutorials/advanced/MobileDeployment/03_touch/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ This is done during initialization:
1414
```csharp
1515
protected override void Initialize()
1616
{
17+
TouchPanel.DisplayWidth = GraphicsDevice.PresentationParameters.BackBufferWidth;
18+
19+
TouchPanel.DisplayHeight = GraphicsDevice.PresentationParameters.BackBufferHeight;
20+
1721
TouchPanel.EnabledGestures = GestureType.Tap |
1822
GestureType.DoubleTap |
1923
GestureType.Hold |

articles/tutorials/advanced/MobileDeployment/04_publishing/index.md

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,22 @@ description: "Learn how to publish your MonoGame mobile application to both the
55

66
# Starting Publishing
77

8-
>>> TODO <<<<
8+
Before publishing your game to an app store, you need to sign up to the Apple Developer Program or Google Play.
99

10-
## Prerequisites
10+
There is a fee for both of these stores to allow you to publish your game.
1111

12-
Before publishing, ensure you have:
13-
- Completed development and testing of your cross-platform MonoGame app
14-
- **For iOS:** Active Apple Developer Program membership (an annual fee)
15-
- **For Android:** Google Play Developer account (a one-time fee)
16-
- App icons, screenshots, and store assets prepared
17-
- Final build configurations tested on physical devices
12+
As part of the publishing process, a **bundle identifier** is a unique string, that distinctly identifies a mobile game or app across iOS and Android ecosystems for deployment.
1813

1914
### Understanding the Bundle Identifier
2015

2116
The **bundle identifier** is a unique string that identifies your app. It follows a reverse domain name notation, such as `com.companyname.gamename`.
2217

2318
This identifier is used by Apple and Google to distinguish your app from all others on the stores and on devices.
2419

25-
- It **must** be unique across all apps in the store.
20+
- It **must** be unique across all apps and games in the store.
2621

27-
- The bundle identifier you set in your project must exactly match the one registered in the stores.
22+
- The bundle identifier you set in your game project must exactly match the one registered in the stores.
2823

29-
- Changing the bundle identifier after publishing will create a new app entry, not update the existing app.
24+
- Changing the bundle identifier after publishing will create a new app entry, not update the existing app, so carefully choose it.
3025

3126
**Tip:** Choose a bundle identifier that reflects your organization and app name, and keep it consistent across your project files and provisioning profiles.

articles/tutorials/advanced/MobileDeployment/05_publishing_android/index.md

Lines changed: 16 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,17 @@ description: "Learn how to publish your MonoGame mobile application to the Googl
77

88
This chapter covers the complete publishing process for both major mobile app stores. You will learn the requirements and workflows for getting your MonoGame app successfully published on Android platforms.
99

10-
## Prerequisites
11-
12-
Before publishing, ensure you have:
13-
- Completed development and testing of your cross-platform MonoGame app
14-
- Google Play Developer account (a one-time fee)
15-
- App icons, screenshots, and store assets prepared
16-
- Final build configurations tested on physical devices
10+
# Google Play Store Publishing
1711

18-
---
12+
## Creating Your Developer Account
1913

20-
# Google Play Store Publishing
14+
**Register at** [play.google.com/console](https://play.google.com/console)
2115

2216
## Pre-Publishing Preparation
2317

24-
### Final Android Build Configuration
18+
Ensure your Android project is properly configured for Google Play submission.
2519

26-
Ensure your Android project is properly configured for Google Play submission:
27-
28-
#### Project Properties
20+
## Project Properties
2921

3022
```xml
3123
<SupportedOSPlatformVersion>23</SupportedOSPlatformVersion>
@@ -34,9 +26,9 @@ Ensure your Android project is properly configured for Google Play submission:
3426
<ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
3527
```
3628

37-
#### Activity Configuration
29+
## Activity Configuration
3830

39-
Verify your main activity is properly configured:
31+
Verify your main activity is properly configured. Ensuring the orientation of your game - portrait or landscape.
4032

4133
```csharp
4234
[Activity(
@@ -51,39 +43,38 @@ Verify your main activity is properly configured:
5143
)]
5244
```
5345

54-
### Required Assets
46+
## Required Assets
5547

56-
#### App Icons
48+
### App Icons
5749

58-
Ensure you have app icons for all density buckets:
50+
You will need to create and ensure you have app icons for all density buckets. There are a few online offerings where you can create a single image and it produce the icons. For example, [App Icon Generator](https://www.applicon.com).
5951

6052
- **mdpi:** 48x48 px
6153
- **hdpi:** 72x72 px
6254
- **xhdpi:** 96x96 px
6355
- **xxhdpi:** 144x144 px
6456
- **xxxhdpi:** 192x192 px
6557

66-
#### Feature Graphic
58+
### Feature Graphic
6759

6860
- **Size:** 1024 x 500 px
6961
- **Format:** PNG or JPEG
7062
- **Purpose:** Featured in Google Play Store
7163

72-
#### Screenshots
64+
### Screenshots
7365

74-
Required for each supported device type:
66+
Required for each supported device type to promote your game and its features.
7567

7668
- **Phone:** Minimum 320px, maximum 3840px
7769
- **7-inch Tablet:** Same requirements
7870
- **10-inch Tablet:** Same requirements
7971
- **Android TV:** 1920 x 1080 px
8072
- **Wear OS:** 384 x 384 px
8173

82-
### Release Build Configuration
74+
## Signing Configuration
8375

84-
#### Signing Configuration
76+
### Creating a Keystore
8577

86-
#### Creating a Keystore
8778
```bash
8879
# Generate new keystore (first time only)
8980
keytool -genkey -v -keystore your-app.keystore -alias your-key-alias -keyalg RSA -keysize 2048 -validity 10000
@@ -94,13 +85,7 @@ keytool -list -v -keystore your-app.keystore
9485

9586
**Important:** Keep your keystore file secure and backed up. Lost keystores cannot be recovered and prevent app updates.
9687

97-
## Google Play Console Setup
98-
99-
### Creating Your Developer Account
100-
101-
**Register at** [play.google.com/console](https://play.google.com/console)
102-
103-
### Creating Your App
88+
## Creating Your Game at Google Play
10489

10590
1. **Create App** in Google Play Console
10691

articles/tutorials/advanced/MobileDeployment/06_publishing_ios/index.md

Lines changed: 21 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,21 @@ description: "Learn how to publish your MonoGame mobile application to both the
77

88
This chapter covers the complete publishing process for both major mobile app stores. You will learn the requirements, workflow for getting your MonoGame app successfully published on iOS platforms.
99

10-
## Prerequisites
10+
# Apple Develoer Program
1111

12-
Before publishing, ensure you have:
13-
14-
- Completed development and testing of your cross-platform MonoGame app
15-
- Active Apple Developer Program membership (an annual fee)
16-
- App icons, screenshots, and store assets prepared
17-
- Final build configurations tested on physical devices
18-
19-
## Final iOS Build Configuration
12+
## Pre-Publishing Preparation
2013

2114
Ensure your iOS project is properly configured for App Store submission:
2215

23-
### Project Properties
16+
## Project Properties
2417

2518
```xml
2619
<SupportedOSPlatformVersion>12.2</SupportedOSPlatformVersion>
2720
<BundleIdentifier>com.companyname.gamename</BundleIdentifier>
2821
<CFBundleIconName>AppIcon</CFBundleIconName>
2922
```
3023

31-
### Code Signing for Release
24+
## Code Signing for Release
3225

3326
Two entitlements - one for debug and one for publication.
3427

@@ -39,7 +32,7 @@ Two entitlements - one for debug and one for publication.
3932
</PropertyGroup>
4033
```
4134

42-
#### Production Entitlements
35+
## Production Entitlements
4336

4437
Verify your `EntitlementsProduction.plist` has debugging disabled:
4538

@@ -52,14 +45,14 @@ Verify your `EntitlementsProduction.plist` has debugging disabled:
5245

5346
### App Icons
5447

55-
Ensure your `Assets.xcassets/AppIcon.appiconset` contains all required sizes:
48+
You will need to create and ensure you have app icons for all density buckets. There are a few online offerings where you can create a single image and it produce the icons. For example, [App Icon Generator](https://www.applicon.com).
49+
50+
You can place all of your icons in the location `Assets.xcassets/AppIcon.appiconset`.
5651

5752
- **iPhone**: 40x40, 60x60, 87x87, 120x120, 180x180
5853
- **iPad**: 40x40, 58x58, 80x80, 152x152, 167x167
5954
- **App Store**: 1024x1024
6055

61-
These icons can be generated using a tool such as [AppIcon](https://www.applicon.com).
62-
6356
|Asset|Image|
6457
|-|-|
6558
|40x40|![40x40](images/icons/[email protected])|
@@ -74,7 +67,7 @@ These icons can be generated using a tool such as [AppIcon](https://www.applicon
7467
|180x180|![180x180](images/icons/[email protected])|
7568
|Artwork 1024x1024|![1024x1024](images/icons/appiconItunesArtwork.png)|
7669

77-
#### Info.plist Configuration
70+
### Info.plist Configuration
7871

7972
Verify essential properties are set:
8073

@@ -134,9 +127,7 @@ Ensure your iOS project includes the asset compilation target:
134127
</Target>
135128
```
136129

137-
## App Store Connect Setup
138-
139-
### Creating Your App
130+
## Creating Game at App Store Connect
140131

141132
1. **Log into App Store Connect** at [appstoreconnect.apple.com](https://appstoreconnect.apple.com)
142133
2. **Create New App:**
@@ -146,25 +137,25 @@ Ensure your iOS project includes the asset compilation target:
146137
- Bundle ID: Must match your project's `BundleIdentifier`
147138
- SKU: Unique identifier for your records
148139

149-
### App Information
140+
## App Information
150141

151-
#### Required Information
142+
### Required Information
152143

153144
- **App Name:** Display name in the App Store
154145
- **Subtitle:** Brief description
155146
- **Category:** Primary and secondary categories
156147
- **Content Rights:** Whether you own or have licensed all content
157148

158-
#### App Store Listing
149+
### App Store Listing
159150

160151
- **Description:** Detailed app description
161152
- **Keywords:** Search terms (comma-separated)
162153
- **Marketing URL:** Your app's website
163154
- **Privacy Policy URL:** Required for most apps
164155

165-
### Screenshots and Media
156+
## Screenshots and Media
166157

167-
#### Required Screenshots
158+
### Required Screenshots
168159

169160
You need screenshots for each device type you support:
170161

@@ -174,29 +165,25 @@ You need screenshots for each device type you support:
174165
- **iPad Pro (6th gen)**: 2048 x 2732 pixels
175166
- **iPad Pro (2nd gen)**: 2048 x 2732 pixels
176167

177-
#### App Preview Videos (Optional)
168+
### App Preview Videos (Optional)
178169

179170
- 30 seconds maximum
180171
- Same dimensions as screenshots
181172
- Shows actual app gameplay
182173

183-
## Building and Uploading
184-
185-
### Archive Build Process
174+
## Building and Uploading using Terminal
186175

187-
#### Using Command Line
188-
189-
The creation of an IPA file can be achieved on the terminal. Currently, Rider does **not** support this process.
176+
The creation of an IPA file can be achieved on the terminal. Currently, Rider does **not** support this part of the process.
190177

191178
```sh
192179
dotnet clean
193180
rm -rf bin/ obj/
194181
dotnet publish -c Release -f net8.0-ios -r ios-arm64 -p:ArchiveOnBuild=true
195182
```
196183

197-
### Upload Method
184+
## Upload Method
198185

199-
#### Transporter
186+
### Transporter
200187

201188
- Standalone upload tool from Apple
202189

@@ -216,7 +203,7 @@ dotnet publish -c Release -f net8.0-ios -r ios-arm64 -p:ArchiveOnBuild=true
216203

217204
- Requires pre-signed IPA file
218205

219-
### Build Processing
206+
## Build Processing
220207

221208
After upload:
222209

@@ -243,52 +230,3 @@ After upload:
243230
| ![Figure 4-6: Assign Testers](images/ios/testflight-build-assign-testers.png) |
244231
| :----------------------------------------------------------------------------------------------------------------------------------------: |
245232
| **Figure 4-6: Assign Testers** |
246-
247-
## App Review Submission
248-
249-
### Pre-Submission Checklist
250-
251-
- [ ] All required screenshots uploaded
252-
- [ ] App description and metadata complete
253-
- [ ] Privacy policy URL provided (if required)
254-
- [ ] Content rating completed
255-
- [ ] Pricing and availability set
256-
- [ ] Build selected and tested
257-
- [ ] Export compliance information provided
258-
259-
### Review Information
260-
261-
#### App Review Contact Information
262-
263-
- First Name, Last Name
264-
- Phone Number
265-
- Email Address
266-
267-
#### Demo Account (If Required)
268-
269-
If your app requires login:
270-
- Demo Username
271-
- Demo Password
272-
- Additional instructions for reviewers
273-
274-
#### Notes for Review
275-
276-
Additional information to help reviewers:
277-
- Special instructions
278-
- Feature explanations
279-
- Known limitations
280-
281-
### Submission Process
282-
283-
1. **Select Build:** Choose your uploaded build
284-
2. **Review Summary:** Check all information is correct
285-
3. **Submit for Review:** Click "Submit for Review"
286-
4. **Status Tracking:** Monitor in App Store Connect
287-
288-
## Review Timeline and Common Issues
289-
290-
### Typical Timeline
291-
292-
- **Review Time:** 24-48 hours
293-
- **Processing:** Additional time for first-time developers
294-
- **Holiday Delays:** Longer during Apple holidays, so plan accordingly.

0 commit comments

Comments
 (0)