Introduction to Mobile
The Mobile Master Collection is an addon collection that provides native mobile features for Construct 2 and Construct 3 game application projects.
Features include native android and ios features for mobile, like dialogs, notifications, badges, toasts, power management, game performance boost, screen management, mobile device information, browser control, webview control, and redirect system browser controls, mobile ratings and reviews, and background services and tasks, etc.
It also has native mobile android and ios services like facebook, google plus, push notifications, local notifications, rich media notifications, native messaging and emails, dedicated push and local notification badges, etc.
It also includes the Mobile Master Monetization with the Mobile Ads Collection.
Features include a complete mobile in-application-purchase and a full-packed mobile advertisement for admob and its ad-network mediation.
It's a full-packed solution to implement native mobile features to game applications.
1. The first step is to add the Mobile Master addon into the project.
2. The Mobile Master Collection is a collection of native mobile feature implementations packed into both Construct 3 and Construct 2.
Each addon is full packed, containing almost all, if not all the features of that native technology or native mobile service.
Even though each addon is well packed with features, it's still designed to be easy to use, hence the helper features I've added into each addon to make things easier, although that adds more actions, conditions and expressions but is necessary to make event-making easy and clean.
Each addon is well maintained and updated immediately when a new Cordova technology update comes up.
The Mobile Master Collection has the following addons:
Mobile Master IAP - The mobile addon that implements native mobile in-app-purchases for both Android and iOS with subscriptions, transaction records and server credentials.
Mobile Browser - The mobile addon that implements management, control and creation of internal, in-application and external browsers.
Mobile Facebook - The mobile addon that implements full native mobile Facebook integration features including analytics, graph api and native mobile features like send, share, app requests and profiles.
Mobile GooglePlus - The mobile addon that implements full native Google Plus authentication integration features, useful for retrieving profile information and server implementation credentials.
Mobile Info - The mobile addon that retrieves the information of a mobile device.
Mobile Review - The mobile addon that allows users to leave a rating or review of the application.
Mobile Sleep - The mobile addon that allows the control and management of power and screen settings. It also significantly improves performance by removing the Cordova limitation of game applications not being detected as games by built-in device power management tools, which this addon solves.
Mobile Toast - The mobile addon that implements native mobile toast notification dialogs.
Mobile Dialog - The mobile addon that implements native mobile custom dialogs.
Mobile Badge - The mobile addon that implements native mobile badge notifications.
Mobile Notifications - The mobile addon that implements native mobile local and push notifications.
Mobile Build Master - The mobile addon that sometimes fixes build errors caused by Android Support library conflicts.
Mobile Multidex - The mobile addon that allows Android app projects to have more than 64K methods. Hence, solving android build error caused by exceeding the method limit.
Mobile Background - The mobile addon that implements background features for the application.
Mobile Master Ads - The mobile addon that implements native mobile Admob and multiple ad-network mediation. It's a fully packed advertisement plugin, which covers most features of Admob.
Mobile Facebook Ads - The mobile addon that implements native-mobile Facebook Audience Network advertisement mediation.
Mobile Unity Ads - The mobile addon that implements native-mobile Unity Ad mediation.
Mobile Facebook x Unity Ads - The mobile addon that implements both native-mobile Facebook Audience Network and Unity advertisement mediation.
Mobile InMobi Ads - The mobile addon that implements native-mobile InMobi Ad mediation.
Mobile MobFox Ads - The mobile addon that implements native-mobile MobFox Ad mediation.
Mobile Vungle Ads - The mobile addon that implements native-mobile Vungle Ad mediation.
Mobile Chartboost Ads - The mobile addon that implements native-mobile Chartboost advertisement mediation.
Mobile AppLovin Ads - The mobile addon that implements native-mobile AppLovin Ad mediation.
Mobile Notch - The mobile addon that implements detection of notches on both Android & iOS and measurement of mobile device notches or cutouts on Android.
Mobile Apple - The mobile addon that implements the Apple Sign-in authentication, which is a requirement by Apple for all types of services with authentication.
Mobile Enhance - The mobile addon that ported the Enhance SDK to c3runtime.
Mobile OneSignal - The mobile addon that implements push notifications and in-app messages into your mobile application for both Android and iOS, using the popular OneSignal SDK and service.
Mobile Network - The mobile addon allows the collection of native mobile network information on both Android and iOS.
Mobile Application Build
3. The Mobile Master Collection uses native mobile features, which means it needs to be built before even testing. For more information on how to build using Construct 3, click here. And for Construct 2, click here.
It's important in mobile development that all properties for all mobile addons are filled. Otherwise, build errors would happen.
For example, as shown from the first (1st) image, the Mobile Facebook requires some Facebook Credentials, which are the App ID, App Name and the SDK Version.
The SDK Version is by default "5.0.0", so you can leave that be. But the App ID and the App Name needs to be filled with the correct value from Facebook Console.
It's the same case for the project properties, where the Name, Version, Description and especially the ID needs to be filled up properly.
Construct 2 - CLI Version
If you are using Construct 2, please include this in your config.xml.
Construct 2 is using the default but old phonegap-cli-version.
This will solve most build errors with new plugins.
<preference name="phonegap-version" value="cli-8.0.0" />
Copy the following code:
Android 64K Method Limit
Android applications have a default limit of 65,536 or 64K methods. This happens when an application and libraries it references have a method count that exceeded the limit, this causes a build failure that indicates that the application has reached the limit of the Android build architecture.
An application can move past this limitation by enabling the app configuration called multidex, which allows the application to build and read DEX files.
For more information about the technicalities, click here.
The Mobile Master Collection has an addon that enables the multidex, called the Mobile Multidex. This will allow Construct 3 and Construct 2 mobile applications to overcome the limit, hence avoiding the build error.
5. The Mobile Master Collection is straightforward to use, and each addon inside has its own documentation. Although there are tips that applies to all of the addon in the collection. This is where it is documented and I best recommend reading this, the knowledge might be of use if the time comes.
The addons in the collection contain a feature called debug mode, this allows the application to log errors and sometimes the processes of the addon.
Although, unlike normal browsers where you can simply view the logs from the [F12] Chrome Developer Tools : Console or the Safari Web Inspector.
In mobile development, there are extra steps.
To debug android applications, you need to build debug .apk built, not a release .apk.
USB Debugging must also be On and you need to connect both ends of your USB Cable to your mobile device and computer.
To debug ios applications, you need to register for a paid Apple Developer Account, which at the time of this writing, costs at least around $99.00.
Additional requirements include:
Testing iOS device and an Apple Mac
These are a necessity to create the credentials, for application build and testing, and completing the requirements for publishing.
Certificate (p12) and Provisioning Profile
These need to be configured to be able to build the ios application for testing.
For more information about testing ios applications, visit this article.
Mobile Built-in Debugger
C3 Build Service
6. The Mobile Master Collection fully supports the C3 Build Service. All the addons have built-in configuration to support the build service. It's added in the development time, to as much as possible, do a complete direct build.
Even though most of the addons support the direct build, there are limitations using this feature:
Plugin white-listing - mobile addons that request support for the C3 Build Service will have to undergo a plugin review. This is where the Construct Team reviews the plugin for white-listing. Otherwise, without this, the mobile addon wouldn't run.
There are a few addons from the collection that have been rejected by the Construct Team, this is due to the complexity of the plugin, hence non-straightforward dependencies. It poses risk to their build service, being able to change the contents of the plugin and upload, at any time.
Fortunately, from the time of this writing, just quite recently, the Construct Team decided to help us out by creating a way to support the other complicated addons, which should release quite soon.
You can check it out here.
Although, even with the help, the white-listing process takes some time, from few days to months, so if an addon isn't supported by the build service, even if it was before, there's a chance the addon updated for an upgrade or service requirements. And, if the new update had new requirements, it would go through another review for the next plugin version and may take a while to update.
So, if this happens, please be patient or use the other build services or methods.
We would have been already trying our best, if that case happens.
There are always the other build services like PhoneGap or build methods like the Cordova CLI and Android Studio, these should instantly be up to date, without any white-listing review processes.
Plugin version - the C3 Build Service supports mobile addons based on their plugin version. Hence, if a new version of mobile addon comes out, it will have to undergo another review process. Depending on the mobile addon's changes, it can take from days to months.
If being up-to-date is needed, and a new bug fix or a new mandatory requirements update came up, then I recommend using the other build services and methods, since they receive the updates instantaneously, with no review processes.
Service-based additional plugin requirements - mobile addons are native mobile implementations, they can vary from being stable to volatile. Most addons in the Mobile Master Collection are stable, although there are also volatile features, especially ones which involves services like Google and Facebook.
These two services are known for constantly changing, and they make up most of the popular features like Notifications, Authentication, Social Features, Advertisements including ad-network mediation.
The greatest hit was the Mobile Notifications, which initially had zero-configuration and almost all are made automated. But after the new Google Requirements update, there are now additional manual configuration from the collection-user's end, mainly including the google-services.json into the project, which makes it difficult to automate.
Although, this was resolved by documentation of the integration procedure. But it does show how volatile mobile addons are, and even though the C3 Build Service is well made and convenient, it's not equipped to handle the constant changes, especially when the Construct Team has to review each addon version before being allowed for build, which can be hard if an issue and patch update just happens suddenly.
For situations like these, I hope we help each other and understand that both the Construct Team and the collection developer are doing their best, if ever these situations happens.
And know that there are other similar one-build services like the C3 Build Service, like PhoneGap, which doesn't have the previously mentioned limitations.
I hope this educational, I wish you good luck in your game development journey.
Have a nice day and happy game development!