All Products
Search
Document Center

Mobile Platform as a Service:FAQ

Last Updated:Oct 30, 2023

This topic classifies and provides answers to frequently asked questions about Mobile Content Delivery Platform (MCDP).

Common problems

How is MCDP billed?

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

For MCDP pricing details, see Post-paid mode.

Questions about console operations

Why am I unable to find the ad in the application after I take an activity online?

Perform the following steps to identify the cause:

  • Go to the console and check whether the page path of the dynamic booth or the preset ID of the preset booth that you configure for the activity is correct.

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

I configured an image for a startup booth in the console, but why is the image not displayed when I start the application?

Provided that the configurations of the startup page of your application are correct, the reason why the startup image is not displayed may be that the image size does not match the device model.

To avoid this problem, make sure your configuration meet the following requirements:

  • For Android devices, at least one image is required to be of 1080 × 1920 pixels.

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

Is redirection to HTML5 offline packages supported?

mPaaS 10.1.68 series for Android and iOS allow you to open offline packages. When you configure the page path of an H5 offline package, make sure to add the additional parameters of the offline package page at the end of the page path.

  • Protocol specification

    mpaas://open?h5AppId=30000000&k1=v1&k2=v2…

    In the protocol, the keys for fixed judgment are mpaas, open, h5AppId, where:

    • h5AppId refers to the offline package ID.

    • Other query parameters are transparently passed 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?

Yes. When you create a banner booth, set the booth height to 0 so that the size of the booth can automatically adapt to that of the image configured for the booth.image.png

Questions about Android client access

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

After you configure a startup ad, the ad may not be displayed on the startup page when you start the application for the first time. Generally, the reason is that the client fails to pull the required data.

Call the interface as shown in the following code snippet to check whether the required local data exists. The startup ad 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();
}

For dynamic booths (custom booths), what requirements must be met for displaying a list of advertisements?

The page must contain the ListView widget.

How do I troubleshoot the problem that no booth is displayed on the client after I configure an activity?

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

Find the data of the relevant booth based on the booth ID. The following code snippet shows a sample log:

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='https://mcdp-hz.oss-cn-hangzhou.aliyuncs.com/mcdp/ONEXF2EA312171832-default/1606900783534/4b3dcb21535681b162977af38d4e6953.png', shortImgUrl='null', actionUrl='https://www.baidu.com/', 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 check all the preceding items and find nothing abnormal, check whether other warn logs exist and perform troubleshooting based on alert information.

Questions about iOS client access

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 steps:

  1. Go to the console and check whether the iOS page path (the class name) that you configured for the booth is correct. If the class name is invalid, modify 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.