"Original" I understand the Automatic Update-overview

Source: Internet
Author: User

Overview
In general, the game is distributed through channels to the player's mobile phone after development is complete. This also involves the download of the game, installation. But the game also has an important step to update. For hand tours, updates are broken into large version updates and current content updates (large version updates will also contain current content updates). Large version of the update requires the developer to resubmit the game installation package, the player re-download the installation package installation. The current content update refers to updating scripts/resources, and so on. So the question is, in terms of technology, how does the game download and install? How does the content update? Just finished a hand tour download update module, on their own understanding, and everyone talk about the game update those things.

This article applies to people

This document is intended for use in C + +-based game engines such as self-research and cocos2d-x.

Game Download
Ios: Test phase, typically provided by adhoc in the form of an IPA package to install, through the Web page of the Itms-services protocol to install, you need to prepare a plist file and the corresponding IPA file, The player can click on the Itms link on the iOS device to install (or overwrite or update). After the launch, jump to the relevant page on AppStore to install.
Android: Provide apk file by intent way to install.

Imagine a scene
The operator needs a release from the team to test and demo. Version support staff in the background pull-up code to compile the latest game version (Ios,android, each channel) and then package the resources (full package, diff update package). In this way, a new version is created successfully.
Operations will promote the download page to attract players. New players on the mobile device (mobile phone, pad, etc.) to open this promotion page (also can be a QR code), to download the game, after the download is complete, open the game for resource updates. The first time to open the need to download the full package of resources, the advantage is that the game main program size is very small (less than 30m, only update the page, load the page and other limited resources, suitable for various channels of requirements, and user download time is less, In addition, the new publication will only need to update that less than 30m of the app execution file to complete the large version of the update.
Old players will be automatically updated after opening the game, according to the main version of the game and resource version to obtain the need to update information. If there is no update, go to the post-update process. If it is a large version update, go to the game main program update process, otherwise the resource version update.
The approximate structure of this package is shown below

Clientdownload: Download page (QR code, URL) to download/update the app based on useragent judging device version
Clientupdate: Update page (channel Id,app version, resource version)
Downloadserver:web Server (download page, update page), data interaction with Versioninfoserver through SCP
Publishbackend: Publish Backstage (Channel Create/view, compile app, update app version, package resources , update resource version, version log)
DB: Version information data (channel information, channel version, app download link, resource link)
Versioninfoserver: Packaging Server (packaging resources, app compilation, publishing)
Respackagetool: Resource packaging, packaging resources from different channels. Download individual channel resources from the version server and package the full package and diff package, set version number
App Publish:app release, download code from version server, compile, sign build APP
Versionserver: Code and Repository, Branches are processed according to channels (Appstore,ios test, Android 91, 360, etc.).
Comb through the process
dev/Ops people: Go to Publishbackend, create app versions, set resource version numbers, add channel numbers, select the right resources to compile, and package resources (assign tasks via Versioninfoserver: App Publish to Versionserver get code and resources <ios,android, such as different versions of the compilation, distribution tasks to Respackagetool for resource packaging), after the end, Use SCP to upload the downloadserver to the extranet.
Player: Browser enters http://version.mygame.com/(clientdownload by UA to differentiate different downloads <ios,android,win32>), download and install and launch the game, The game returns the resource links that need to be updated via http://version.mygame.com/channelid=%d&appver=%d&resver=%d, curl downloads, extracts and merges into the game resources.

"Original" I understand the Automatic Update-overview
"Original" I understand Automatic Updates-environment building and protocol development
"Original" I understand the Automatic update-extranet Web server configuration
"Original" I understand the Automatic Update-app release and background publishing
"Original" I understand the Automatic Update-resource packaging process
"Original" I understand the Automatic Update-client update process
"Original" I understand the automatic update-Knowledge point explanation

The server in this article uses the Linode,linode is what does not need to introduce too much.
Interested children's shoes can be registered via https://www.linode.com/?r=000161937771838e320f2bda5fef0dbad54ad86c server,
The number after r is my referral code, if you use the above recommendation code I recommend, and keep 3 months is an online account, then I will be three months after the credit of 20 dollars,
This means you can use the one-month minimum $19.95 Linode VPS.
Referrals reward you are refer people to Linode.
If someone signs up using your referral code,
You'll receive a credits of $20.00, so long as the person referred remains a active customer for.

"Original" I understand the Automatic Update-overview

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.