All Products
Document Center

Mobile Platform as a Service:MCDP FAQs

Last Updated:Jul 21, 2023

This topic summarizes common problems in using Mobile Content Delivery Platform (MCDP).

Common issues

How is MCDP billed?

MCDP is billed based on the number of API calls from your booths and the traffic that is generated by downloading the resources in your booths.

For more information, see the pricing of MCDP in Post-paid mode.

Console operation issues

Why am I unable to find the advertisement in the app after I launch an activity?

Perform the following troubleshooting steps:

  • Go to the console and check whether the page address of a dynamic booth or the preset ID of a client preset booth that you configured for the activity is correct.

  • If you use a dynamic booth for your activity, check whether the page address set for the booth conflicts with that of another booth. A page address specifies the location of only one booth. If you use the same page address for multiple booths, all these booths become invalid.

I configured an image for the splash booth in the console, but why is the image not displayed in the app?

If the client startup page is configured correctly, the reason may be that the image size does not match the device model.

Note the following points when you configure materials for the splash booth:

  • For Android devices, the resolution of at least one image must be 1080 × 1920 pixels.

  • For iOS devices, configure images based on the suggested size. Make sure that at least one image meets the requirement.

Is redirection to HTML5 offline packages supported?

Android and iOS mPaaS 10.1.68 baseline versions support opening offline packages. When you configure the page address of an H5 offline package, add the additional parameters of the offline package page at the end of the page address.

  • Protocol specification

    In the mpaas://open?h5AppId=30000000&k1=v1&k2=v2… protocol, the keys for judgment are mpaas, open, and h5AppId, where

    • h5AppId refers to the offline package ID.

    • Other query parameters are transparently transmitted to the target page.

  • Example

    • Redirect to the offline package with ID 30000000: mpaas://open?h5AppId=30000000

    • Redirect to the specified page of the offline package with ID 30000000 aaa.html: mpaas://open?h5AppId=30000000&url=/aaa.html

Can the size of a banner booth automatically adapt to that of the image configured for the booth?

To achieve that, you need to set the booth height to 0 when you create a banner booth.

Android-related issues

I configured a startup advertisement, but why is it not displayed on the startup page when I start the app for the first time?

Generally, the reason is that the client fails to pull the required data.

Call the following API to check whether the required local data exists. The startup advertisement is displayed on the startup page only when the required local data exists.

public static boolean checkIfSplashPrepared() {
    CdpAdvertisementService serviceByInterface = LauncherApplicationAgent.getInstance().getMicroApplicationContext().findServiceByInterface(CdpAdvertisementService.class.getName());
    return serviceByInterface.checkIfSplashPrepared();

What requirements must be met for displaying a list of advertisements in dynamic booths (custom booths)?

The page must contain the ListView widget.

Why is the booth not displayed on the client after I configure an activity?

Use logcat to filter Advertisement. Check the pulled booth data for troubleshooting.

Check the booth data based on the booth ID. Sample logs:

getWrapperCallback onSuccess:[SpaceInfo{spaceCode='20201202', iOSViewId='null', androidViewId='null', h5ViewId='null', appId='', spaceObjectList=[SpaceObjectInfo{objectId='15255', contentType='PIC', contentHeight=1080, crontabList=null, behaviors=[SpaceObjectBehavior [behavior=ALWAYS, showTimes=1, closedByUser=false, jumpedByUser=false, behaviorUpdateTime=0, hadShowedTimes=0]], widgetId='', content='null', hrefUrl='', shortImgUrl='null', actionUrl='', gmtStart=1606900730000, gmtEnd=1612084730000, fgColor='null', bgColor='null', textColor='null', widgetColor='null', priority=1, mrpRuleId='', bizExtInfo={picWidth=1080, gmtModified=1606900803000, picHeight=1920, LAYER_TYPE=normal}, timeSensitive=false, clientMinVersion='null', clientMaxVersion='null', logExtInfo={picWidth=1080, gmtModified=1606900803000, picHeight=1920, groupId=13782, LAYER_TYPE=normal}, selfAdapt=false}], location='FULL', height=1080, hasPlaceholder=false, useCacheFirst=false, width=804, reqRpcTime=1606913000272, multiStyle='BANNER', rotationTime=0, close=false, displayMaxCount=1, modifyTime=0, localRuleList=[], extInfo={}}]
  1. Check whether the pulled booth data matches the configured activity booth based on the booth ID (spaceCode=20201202).

  2. Check whether the array in spaceObjectList contains data.

  3. Check whether the value of showTimes is greater than the value of hadShowedTimes.

  4. If you find nothing abnormal, check whether other warn logs exist and troubleshoot based on the alert information.

iOS-related issues

Why am I unable to find the relevant header file?

Add the following code to the xx-mPaaS-Headers.h file that is generated in the MPaaS directory of your project.

#import <MPPromotion/CDPPromotion.h>

Why is a dynamic booth not displayed?

Perform the following troubleshooting steps:

  1. Go to the console and check whether the iOS page address (the class name) that you configured for the booth is correct. If not, correct the class name.

  2. After confirming that the class name is correct, make sure that the class name inherits DTViewController. Otherwise, the booth is not displayed.