App development has two main stages: development and testing, and release and production. It is a best practice to keep the data from these stages separate to prevent interference. For this reason, apps have beta and official versions. This topic describes the differences between the beta and official versions of your app.
Differences between the beta and official versions
The beta and official versions of your app use two separate environments: a staging environment and a production environment. The data in these environments is isolated. The beta version is primarily for testing during development, while the official version is for end users. The following list details the differences.
- Different security images
When you develop an app, you can download two security images from the console: one for the beta version and one for the official version. These images contain different AppKeys. The platform uses the AppKey to identify the app version and return the correct data.
- API Level 8
Alibaba Cloud China Website Alibaba Cloud International Website yw_1222_china_production.jpg yw_1222_oversea_production.jpg - API Level 7 and earlier
Site Beta version Official version China version yw_1222_china_develop.jpg yw_1222_china_production.jpg International version yw_1222_oversea_develop.jpg yw_1222_oversea_production.jpg
Note Do not rename the security images. If you rename them, the software development kit (SDK) initialization will fail. After you download the images, place them directly in your app's code-based project. - API Level 8
- Different Mobile Push certificates
If your app uses the Mobile Push feature, you must configure separate push certificates for the beta and official versions. For more information, see Mobile Application Push Developer Guide.
- iOS

- Android

- iOS
- Account isolation
Account data is isolated between the beta and official app versions. For example, if you use the same mobile phone number or email address to log on, you must register separately for the beta app and the official app.
- Device isolation
Devices attached to the beta app are isolated from devices attached to the official app. For example, if you use the same mobile phone number or email address to log on, you must attach devices separately to the beta app and the official app. From the app's perspective, this is equivalent to attaching devices with different accounts. The types of devices that can be attached also differ, as described below.
- The beta app can only attach devices that are in the debugging stage. This means the product is not yet published.
- The official app can only attach devices that are in the production stage. This means the product is published.
The configuration items to switch between the beta and official versions are as follows.
- Android
IoTSmart.InitConfig initConfig = new IoTSmart.InitConfig() .setProductEnv(IoTSmart.PRODUCT_ENV_PROD) // Set the app version. PRODUCT_ENV_DEV is the beta version, and PRODUCT_ENV_PROD is the official version. - iOS
#import <IMSIotSmart/IMSIotSmart.h> config.appType = APP_TYPE_PRODUCTION; // Set the app version. APP_TYPE_PRODUCTION indicates the production version, and APP_TYPE_DEVELOP indicates the development version.
Developer recommendations
Based on the differences between the beta and official versions, we recommend the following for your app development.
- When you configure the app package name, use the same name for both the beta and official versions. This makes it easier to switch between the two versions.
- When you develop the app, use the same code-based project for the beta and official versions. When you are ready to release the official version, simply replace the security image with the one for the official version.
- After you replace the security image for the beta or official version, purge the cache of the code-based project before you test. This helps prevent cache-related issues.