Todos os produtos
Search
Central de documentação

Mobile Platform as a Service:Mini Program base libraries

Última atualização: Jun 28, 2026

Cada versão da biblioteca base exige uma versão mínima do cliente. Use verificações de compatibilidade para lidar com diferenças entre versões.

Bibliotecas base e clientes

Os recursos do miniapp dependem da versão do cliente:

  • Cada versão da biblioteca base requer uma versão mínima específica do cliente.

  • Recursos mais recentes da biblioteca base podem não funcionar em clientes antigos.

A seção Garantir compatibilidade da biblioteca base descreve como lidar com diferenças de versão. Use my.SDKVersion para obter a versão atual da biblioteca base.

Garantir compatibilidade da biblioteca base

Clientes mais antigos não suportam componentes e APIs recentes do miniapp. Trate a compatibilidade conforme necessário.

Use my.canIUse(String) para verificar a disponibilidade de recursos. Consulte a referência do my.canIUse.

Exemplos de compatibilidade

Novas APIs

Verifique se o sistema suporta uma nova API:

if (my.getLocation) {
    my.getLocation();
} else {
// If you want users to experience your Mini Program on the latest client version, you can display a prompt.
  my.alert({
    title: 'Prompt',
    content: 'The current version is too old to use this feature. Please upgrade to the latest version.'
  });
}

Novos parâmetros de API

Verifique se o sistema suporta um novo parâmetro:

if (my.canIUse('getLocation.object.type')) {
    // Write your subsequent processing logic here.
} else {
    console.log('The current version does not support this parameter')
}

Novos valores de retorno de API

Verifique se o sistema suporta um novo valor de retorno:

if (my.canIUse('getSystemInfo.return.storage')) {
    // Write your subsequent processing logic here
} else {
    console.log('The current version does not support this return value')
}

Novas propriedades de componente

Novas propriedades não causam erros em clientes antigos. Implemente uma degradação elegante:

Page({
    data: {
        canIUse: my.canIUse('button.open-type.share')
    }
})

Versões da biblioteca base

Versão da biblioteca base

Versão de linha de base correspondente

2.8.9

  • Android: 10.2.3

  • iOS: Novas linhas de base de contêiner do Mini Program cp_change_15200851 e 10.2.3

    Nota

    Use a versão de linha de base 10.2.3 para novos contêineres do Mini Program.

1.14.1

10.1.68

1.14.1

10.1.60

1.9.0

10.1.32

Integrar a biblioteca base

As etapas de integração variam conforme a versão da linha de base. Confirme sua versão de linha de base antes de prosseguir.

iOS

Versão de linha de base 10.2.3

As novas linhas de base do contêiner de miniapp cp_change_15200851 e 10.2.3 permitem compilar bibliotecas base do miniapp 2.0.

Nota

Use a versão de linha de base 10.2.3 para novos contêineres de miniapp.

Android

Versões de linha de base 10.1.68.7 e posteriores

Defina a instância do Provider na inicialização:

H5Utils.setProvider(H5AppCenterPresetProvider.class.getName(),new TinyAppCenterPresetProvider());
Nota

Se o cliente usar um pacote de recursos públicos H5, herde TinyAppCenterPresetProvider e mescle o código do pacote de recursos públicos na instância da classe herdada.

Série 10.1.60 e versões de linha de base 10.1.68.6 e anteriores

  1. Implemente a interface H5AppCenterPresetProvider:

     package com.mpaas.demo.nebula;
    
     import com.alipay.mobile.nebula.appcenter.H5PresetInfo;
     import com.alipay.mobile.nebula.appcenter.H5PresetPkg;
     import com.alipay.mobile.nebula.provider.H5AppCenterPresetProvider;
    
     import java.io.File;
     import java.io.InputStream;
     import java.util.HashMap;
     import java.util.HashSet;
     import java.util.Map;
     import java.util.Set;
    
     public class H5AppCenterPresetProviderImpl implements H5AppCenterPresetProvider {
         private static final String TAG = "H5AppCenterPresetProviderImpl";
    
         // Set the dedicated resource package for the miniapp. This ID is fixed and cannot be changed.
         private static final String TINY_COMMON_APP = "66666692";
    
         // The asset folder for the preset package.
         private final static String NEBULA_APPS_PRE_INSTALL = "nebulaPreset" + File.separator;
    
         // A collection of preset packages.
         private static final Map<String, H5PresetInfo> NEBULA_LOCAL_PACKAGE_APP_IDS = new HashMap();
    
         static {
    
             H5PresetInfo h5PresetInfo2 = new H5PresetInfo();
             // The file name in the built-in folder.
             h5PresetInfo2.appId = TINY_COMMON_APP;
             h5PresetInfo2.version = "1.0.0.0";
             h5PresetInfo2.downloadUrl = "";
    
             NEBULA_LOCAL_PACKAGE_APP_IDS.put(TINY_COMMON_APP, h5PresetInfo2);
    
         }
    
         @Override
         public Set<String> getCommonResourceAppList() {
             Set<String> appIdList = new HashSet<String>();
             appIdList.add(getTinyCommonApp());
             return appIdList;
         }
    
         @Override
         public H5PresetPkg getH5PresetPkg() {
             H5PresetPkg h5PresetPkg = new H5PresetPkg();
             h5PresetPkg.setPreSetInfo(NEBULA_LOCAL_PACKAGE_APP_IDS);
             h5PresetPkg.setPresetPath(NEBULA_APPS_PRE_INSTALL);
             return h5PresetPkg;
         }
    
         /**
          * Set the ID of the resource package that can be downgraded.
          */
         @Override
         public Set<String> getEnableDegradeApp() {
             return null;
         }
    
         @Override
         public String getTinyCommonApp() {
             return TINY_COMMON_APP;
         }
    
         @Override
         public InputStream getPresetAppInfo() {
             return null;
         }
    
         @Override
         public InputStream getPresetAppInfoObject() {
             return null;
         }
     }
  2. Baixe as bibliotecas base do miniapp correspondentes à versão do seu cliente. Copie-as para a pasta asset da etapa anterior e renomeie-as. O caminho padrão é assets/nebulaPreset/66666692.

  3. Defina a instância do Provider na inicialização:

     H5Utils.setProvider(H5AppCenterPresetProvider.class.getName(), new H5AppCenterPresetProviderImpl());
    Nota
    • Se o cliente usar pacotes de recursos públicos H5, mescle o código do pacote de recursos públicos na classe de instância H5AppCenterPresetProvider.

    • Consulte os exemplos de código.