👨🏼‍💻Mobile Games Third-Party needs and Solutions✌️

Bünyamin Eymen Alagöz
Huawei Developers
Published in
10 min readJun 27, 2022

--

Mobile Games

Introduction

Hi everyone, developers need many third-party libraries during game development for mobile platforms. It may not make much sense in the mobile game industry where the time factor is very important for the mobile game developer focused on game development to meet these needs himself/herself. In this article, we will discuss every Huawei Mobile Service required in mobile games under the need-solution headings. You can find the link to the reference project in the reference links. I wish you a pleasant reading.

▼Need:

A game developer may want to keep users’ credentials. For this reason, the user must register when he first opens the application. After registration, the user must log in with the registered credentials every time the user opens the application.

Solution💡:

We can meet this need with the Auth Kit from Huawei Mobile Services. With this service, the user can authenticate with their e-mail and phone number.

By the way, authentication can also be achieved with many third-party services ;

  • WeChat
  • QQ
  • Weibo
  • Apple
  • Google
  • Facebook
  • Twitter
  • VK
AppGallery Connect Auth Service

If we want the user to pass the registration stage easily because they are very new to the application. The guest user option is also a very reasonable option. In the guest user option, the user is assigned a fixed ID. Afterward, if the user registers, they can continue to use the stored information.

In addition, if the game developer wants to use his own service for users, he can use his own service securely with CloudDB and Cloud Storage through the Huawei auth kit.

In addition, this process can be done in a very practical way with the Huawei account kit. If the user has a record in the App Gallery, he can log in to the applications with a single touch with the Huawei ID assigned to his device.

In our reference project, we do this with Account Kit. In this way, we can automatically authenticate our application without doing anything.

▼Need:

The team developing the game aims to make money from the game with advertisements.

Solution💡:

The most preferred method of making money from the game is advertisements. It is very important to determine where advertisements will be displayed in the game. In the idea development stages of the game, advertising should always be on the agenda, otherwise, the necessary efficiency may not be obtained from the advertisements. Huawei Ads Kit meets all our advertising needs.

First of all, when the application is first opened, we want to show ads on the application splash screen before the game menu page comes up. For this, we can use Splash Ads within the Huawei Ads Kit. This ad can be a video or a picture. The user can close this ad after 3–5 seconds if he/she wants. When the application comes to the main page from the splash screen, the ad will be closed automatically.

Secondly, we may want to show advertisements at certain stages of our game. These certain stages may be stages such as level ends, sub-task completion, etc. In this case, it would be appropriate to prefer ads that users can pass. For this, we should use the Interstitial Ads type. However, the earnings of Interstitial ads are generally low.

Video ads that the user watches from start to finish, on the other hand, have a very high income. For this, we should use the Rewarded Ads ad type. It is necessary to promise something to the user in order to be able to watch these ads. These can be doubling the earnings, continuing from where you left off on the level, or there may be many scenarios in the game’s own flow. In order to receive the promised reward for this advertisement, the advertisement must be watched until the end and a successful callback must be returned.

Thirdly, we may want to show advertisements during the flow of the game. For this, we need an advertisement type that will not disrupt the flow of the game. In this case, the advertisement type we should use is Banner Ads. It is an image advertisement, it can locate at the bottom, middle, or top of the page. Especially in games with long session duration, this type of advertisement provides good earnings.

Finally, while a video ad is being shown, we also have the opportunity to show a small video or image ad on this video ad. We can provide this with Roll Ads. Roll Ads are used a lot in in-game advertisements.

In our reference project, Banner Ads appeared at the bottom of the menu and game flow, and Interstitial Ads at the end of each session are displayed.

▼Need:

We want to create a list of the best players in our game and increase the competition.

Solution💡:

Via the leaderboard module of the Huawei Game Service kit
We can easily provide this without the need to set up any data retention structure.

We also use the leaderboard structure in our reference project. At the end of each session, we report the score we have earned to the leaderboard service. That’s all we need to do. We also use the leaderboard structure in our reference project.

▼Need:

In our game, we want to give the player a goal of success and show him/her the achievements he/she has achieved.

Solution💡:

Via the achievements module of the Huawei Game Service kit, we can make this need very easily. We also make use of the achievements structure in our reference project.

▼Need:

We want to remind our users at any time so that they do not forget our game and continue to use it.

Solution💡:

Huawei Push Kit meets this need. With this kit, we can send notifications to our device, when the application is installed and regardless of whether the application is open or closed. Here, apart from notifications, we also have a data message option. For this option, our application must be open. It is possible to provide the flow we want in the application with the data we send.

We use this kit in our reference project.

Push Kit

▼Need:

We want to sell some products to our users in our game app.

Solution💡:

Through the Huawei IAP Kit, we can easily set up our own product sales system. We have 3 product types here.
Consumable: Consumable and reproducible items: Gold, diamonds, health, etc.
Non-Consumable: Products that cannot be consumed and do not need to be purchased again: Remove Ads
Auto-Renewable Subscriptions: Time-based subscription: Booster (take advantage for while)
In our reference project, we offer the Remove Ads product to our users through this kit.

▼Need:

We want to keep track of all the events that happen in our game.

Solution💡:

All events in the game through the Huawei Analytics Kit.
We can send and analyze the events from the AGC web panel.
It supports a max of 500 different events and each event can take a maximum of 25 parameters.
In our reference project, we send events at the beginning and end of each level.

▼Need:

We want to determine the cause of the churns in our game.

Solution💡:

We can solve this need with the Huawei Analytics Kit. For this, we need to analyze the events to be sent chronologically. For this, we use funnel analysis in the analytics hit panel.

Funnel analysis is very important in the hitting process of mobile games.

▼Need:

In order to make some adjustments to our game, we have to release a new version to the store, this is a waste of time for us.

Solution💡:

Via the Huawei Remote Configuration kit, it is possible to change the game-related settings instantly. This will pull from the kit.
In our reference project, we get the color theme and movement speed of the game from the Remote Configuration kit.

▼Need:

Some users using our game application are reporting that the game suddenly shuts down. We cannot solve the problem because we do not know the cause.

Solution💡:

We can read detailed reports of crashes through the Huawei Crash Kit.

For testing, you can create artificial crashes in our reference project, then you can read from AGC Connect.

▼Need :

We want our users to be able to share the game app with their friends.

Solution💡:

We can do this with the Huawei App Linking kit. When we click on the share button in the main menu in our reference project, people who have not installed our game application are directed to the App Gallery with the shareable link.

▼Need :

We want to give warnings and reminders to our users whenever we want.

Solution💡:

We can meet this need through the Huawei App Messaging kit.
In our reference project, we remind our users that at the end of the level, our users can get “Remove Ads”, which is an In-App Purchase product. We adjust the setting via App Gallery Connect. For our reference project, we linked the trigger event of the message to the “Session_End” analytic event and defined the rule to show each user a maximum of 1 time.

▼Need :

We want to establish a communication structure using Wifi or Bluetooth infrastructure for devices in the same physical environment in our mobile games.

Solution💡:

We can meet this need through the Huawei Nearby Service kit. With this kit, devices connected to the same wifi or with BlueTooth on will automatically recognize each other when the game application is open. With this kit, communication between applications such as messaging systems, file sending, or real-time multiplayer games. We can meet all our needs that require a structure.

▼Need :

We want to use a database structure where you can keep user-based data for our mobile games.

Solution💡:

Huawei Cloud DB meets this need. This kit is a relational database.
In our reference project, we can save the points earned at each level and display them as a popup in the main menu.

▼Need :

We want to give rewards to our users who see our posts on social media.

Solution💡:

We can meet this need with the Huawei Scan Kit. We can give this award to our users who scan our social media accounts with the correct text QR code from our game application.

▼Need :

We want to show our users content based on their location in the world.

Solution💡:

With the Huawei Location Kit, we can develop solutions for our needs in this regard. The latitude and longitude information of the user can be accessed via the location kit and the contents to be displayed to the user can be managed based on this information. In addition, we can bring innovations to the game world by using geofence and indoor location features, which are other features provided by the location kit.

In our reference project, it is checked whether the user’s location is on the Turkish border. If the user is within the borders of Turkey, we show the Turkish motivation sentence to the user.

▼Need :

We are wondering if our users are experiencing performance and slowness problems in the game. When there is a problem with this, most users can leave the game indefinitely without any notification. This sneaky problem can sometimes lead to big income losses in the game sector.

Solution💡:

Huawei APM Kit offers us a solution in this regard. It provides detailed reporting in AGC of problems that may cause user loss, such as ANR, slow application opening, very late loading of the game scene, and high request response times. We use this kit in our reference project. However, we can be absolutely sure of the correctness of the integration steps by creating artificial problems then reading the reports. In our reference project, there are commands that will create these artificial problems.

▼Need :

We want our users to automatically save screenshots of their important moments in the game and then be able to see them.

Solution💡:

Huawei Drive Kit is perfect for this subject. Thanks to this kit, Huawei drive can be used within applications.

In our reference project, at the end of each level, a screenshot is taken of the cube deposits that our users created during the game, which can represent the success of the user, and they are saved in the relevant folder on the user’s Huawei drive. Thus, our users can access these screenshots whenever they want.

▼Need :

We want to reduce the size of our game application size. In addition, we want to be able to update some of our scene objects without a new version to the store.

Solution💡:

Huawei Cloud Storage meets these needs. All kinds of files, assets, etc. in our Unity game project can be stored in the Asset Bundle format. We can store the files in Asset Bundle format in Cloud Storage, download the asset bundle files at the application runtime, then use the relevant unity scene object by de-serialization process in the Unity scene.

In our reference project, we show a game-over popup at the end of each level. This popup and its texture are not available in the development environment of our project and default application. We store them in a file in Asset Bundle format and we keep this file in Cloud Storage. When our game application first runs, we download this asset bundle file to the application’s directory on the device. After downloading, we apply the de-serialization process and use our unity scene object wherever we want in the game flow. This structure saves us application size and provides us to update our unity scene objects without a new version to the store.

--

--