This page covers the Android build distributed through Google Play.
What stays on the device
Everything the game computes - labour output, stockpiles, construction, era progression, siege resolution, convoy ambush rolls, battle reports and the chronicle - is calculated and drawn on your own handset. Your progress lives in the app's private directory. The manifest disables both cloud backup and device transfer for it (allowBackup=false, with the backup and transfer rules excluding the whole data set), so saves never leave the phone and do not migrate when you buy a new one. There is no account to register, and your saved game is not part of any of the network traffic described below.
The game is offline; two things reach the network
The seven-day campaign, four ages, nine realms, idle settlement and every pixel of the map are computed locally. Nothing in the bundle points at an external script, font or image. This build reaches the network for two purposes only. The first is the rewarded video: when you press "Deploy all" in the top bar, one full-screen clip served by Google AdMob plays, and only finishing it unlocks that one assisted deployment. The second is crash reporting and usage statistics, handled by Google Firebase (Crashlytics and Analytics), which tell us which build is crashing and where. Apart from those two, the app sends no requests to any server.
Timing matters here, so we say it plainly. To stop the button from leaving you waiting, the app preloads a clip at launch and loads another one after each play - the ad component's traffic therefore starts when the app starts, not when you tap. Crash and usage reporting start at launch too: each launch is recorded, and a crash is written to a local queue on the handset and sent the next time you are online. And the game is still fully playable with no network at all: in airplane mode the campaign keeps advancing, the clip simply fails to arrive, the button answers "no ad came back just now", and no reward is granted.
What the advertising component collects
The list below is Google's own published disclosure for the Google Mobile Ads SDK. The collector is Google, not us:
- IP address, which may be used to infer approximate location;
- interaction data with the app, such as launches, taps and video views;
- diagnostic data, such as startup time, hang rate and power consumption;
- device and account identifiers, including the Android advertising ID (AAID), the app set ID, and identifiers tied to accounts signed in on the device.
The stated purposes are serving and measuring advertising, and fraud prevention. Data is encrypted in transit with TLS. We read none of these fields, store none of them, and put none of them to any other use. Rewards are settled locally with no server verification step, so there is no attribution done on our side in order to pay anything out.
What crash reporting and usage statistics collect
These two are handled by Google Firebase: Google is the collector, and we are the party that reads the dashboards. The fields they see fall into four groups.
- Device and system: model, brand, operating system version, app version and version code, screen resolution, processor architecture, memory and free disk space.
- Region and network: language, time zone, carrier and mobile country/network code, plus the IP address - from which Analytics derives an approximate location at city or region level. The app does not request location permission and never reports GPS coordinates.
- Identifiers: one anonymous instance ID generated per install, and a session ID per launch. Analytics also reads the Android advertising ID (AAID; the permission for it already ships with the ad library in this build) in order to join events from the same install.
- Diagnostics and behaviour: crash stack traces, non-fatal exceptions, application-not-responding records, a short device log attached to a crash, and launch, session-length and a small number of feature-usage events (such as opening the world map or completing a construction).
What is not collected: your name, email address, phone number, contacts, precise location, camera or microphone - and not your saved game. Progress, stockpiles, army composition and battle reports stay on the handset; there is no field in the payload for them.
There are three uses, and no others: fixing crashes, judging whether a build is less stable than the one before it, and seeing which features people actually reach for. This data is not linked to any advertising account, is not used for ad personalisation, is not sold to anyone, and is not used for cross-app attribution. It travels over TLS and is stored on Google's servers; we set the retention period in the console.
One thing to say up front: **neither of these has an in-app switch**, unlike ads, where you can opt out of personalisation in system settings. What you can do is reset or delete the advertising ID in those settings, which removes AAID from Analytics while the remaining device and diagnostic fields still accompany a crash report; or stay offline, in which case crash reports sit in the local queue and are never sent. After you uninstall, we can delete the records for that anonymous instance ID in the console, and you can email us to ask for it. Debug builds used during development have both reporters switched off entirely - only the build distributed through Google Play reports.
Four things you can check or do yourself
- Reset or delete the advertising ID, or turn off personalised ads, in the Google ads settings on your phone. The ad component then has no personalisable identifier to work with, Analytics loses AAID, and the rest of the game is untouched.
- Cut the network whenever you like. When no clip arrives, nothing is rewarded; the assisted deployment is an option, not a gate - you can do every one of those actions by hand, and no part of the game needs either a video or a payment. While you are offline, crash reports stay on the handset as well.
- Email the address below with an approximate time of the crash or install on your device, and we can locate that anonymous instance ID and delete the records attached to it.
- Uninstall the app to clear the save. Apart from the crash and usage records covered by the previous point, we hold no copy, so there is nothing for either of us to look up, export, restore or merge.
Permissions the app requests
Three are declared by us:
- INTERNET - for two things: the rewarded video described above, and crash reporting and usage statistics;
- POST_NOTIFICATIONS - the Android 13 runtime grant, used for incoming-attack and construction-complete reminders. Declining it changes nothing about the game except that system notifications do not appear;
- VIBRATE - haptic feedback on those notifications.
The rest (ACCESS_NETWORK_STATE, com.google.android.gms.permission.AD_ID, ACCESS_ADSERVICES_*, WAKE_LOCK, FOREGROUND_SERVICE) arrive with Google's ad runtime and belong to that video component's own system needs. The crash and usage reporting added in this release brings exactly one further entry, `com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE`, which reads only which store entry point the app was installed from and carries no account identity. Nothing else is added. This app does not request, and does not use, location, camera, microphone, contacts, SMS, call logs, calendar or device files.
How local reminders work
Attack and completion reminders are handed to your device's own scheduler (AlarmManager) and fire on the handset; neither their text nor their timing passes through a server of ours. That also makes them subject to system policy: force-stopping the app in Settings, aggressive cleanup on some phone skins, or rebooting the phone can drop scheduled reminders. The next time you open the game, the queue is rebuilt from your latest state.
No purchases
There are no in-app purchases, virtual currency, subscriptions or loot boxes anywhere in the app. Watching one clip unlocks a convenience - the steward doing a round of chores for you - not content: every map, age, unit type and trade route ships with the download. Nothing is locked behind a payment or behind a video.
Children
This app is not directed at children and is not built for child-directed advertising. We collect nothing that identifies a particular person: no account, no nickname, no contacts, and no saved-game content in the payload. The ad component and the crash/usage components collect as described in their two sections above, under Google's own policy and responsibility.
Third-party components
- Google Mobile Ads SDK (com.google.android.gms:play-services-ads 25.5.0, Google LLC) - used only for that rewarded video. Its privacy disclosure is at https://policies.google.com/privacy.
- Firebase Crashlytics (com.google.firebase:firebase-crashlytics 20.1.1, Google LLC) - crash and non-fatal exception reports.
- Firebase Analytics (com.google.firebase:firebase-analytics 23.2.0, Google LLC) - launches, sessions and a small number of feature-usage events. Both are covered by https://policies.google.com/privacy, and Google's Firebase data processing terms are at https://firebase.google.com/terms/data-processing-terms.
- The AndroidX and Kotlin runtimes - platform libraries, with no additional collection.
- Map drawing, animation and interaction logic are written by this project; rendering and layout are done by the WebView that ships with the platform, and audio plays through the system's own audio stack. No other engine is bundled.
- Artwork is generated and processed locally for this project; the sound effects are short labour and weapon samples delivered inside the bundle.
If a future version introduces further third-party assets or components, they will be credited here with their licences.
Contact
Operator: Beijing Blue Ocean Xinfan Technology Co., Ltd
Privacy and support email: howoo.bluesail@gmail.com
Please mention "Marchland" and what you would like done. You can also reach us through the support link on the app's Google Play product page. We do not ask for unrelated personal details to answer an ordinary question - and since the game holds no server-side record of you, there is usually no data of ours to act on. What the advertising component collects is Google's to handle under its own policy.