Todos os produtos
Search
Central de documentação

Mobile Platform as a Service:Guia de início rápido

Última atualização: Jun 28, 2026

Os contêineres H5 e os pacotes offline oferecem suporte a dois métodos de integração: AAR nativo e baseado em componentes. Os contêineres H5 permitem abrir páginas da web online no aplicativo, chamar JSAPIs nativas e personalizadas do frontend, personalizar a barra de título da página H5 e usar o kernel UC. Os pacotes offline H5 possibilitam publicar, predefinir, iniciar e atualizar pacotes offline.

Pré-requisitos

Adicionar o SDK

AAR nativo

Para instale o componente H5 Container no projeto, use o AAR Component Management. Para obter mais informações, consulte Gerenciamento de componentes AAR.

Baseado em componentes

Instale o componente H5 Container nos projetos Portal e Bundle usando o Component Management. Para obter mais informações, consulte Gerenciar dependências de componentes.

Inicializar o mPaaS

Se utilizar o método de integração AAR nativo, inicialize o mPaaS adicionando o código a seguir à classe Application:

public class MyApplication extends Application {
    
    @Override
    public void onCreate() {
        super.onCreate();
        // Initialize mPaaS
        MP.init(this);    
    }
}

Para obter mais informações, consulte Inicializar mPaaS.

Configurar o intervalo de solicitação de pacotes de miniaplicativos

Configure o intervalo de solicitação para pacotes de miniaplicativos globalmente ou individualmente.

  • Configuração global: No projeto Android, crie um arquivo custom_config.json no caminho assets/config. Adicione o seguinte conteúdo ao arquivo:

    {
    "value": "{\"config\":{\"al\":\"3\",\"pr\":{\"4\":\"86400\",\"common\":\"864000\"},\"ur\":\"1800\",\"fpr\":{\"common\":\"3888000\"}},\"switch\":\"yes\"}",
    "key": "h5_nbmngconfig"\
    }

    O parâmetro \"ur\":\"1800\" define o intervalo de atualização global em segundos. O valor padrão é 1800. O intervalo válido varia de 0 a 86400 (24 horas). O valor 0 indica que não há limite para o intervalo de solicitação.

    Importante

    Não altere os outros parâmetros.

  • Configuração individual: Para defina o intervalo de um pacote de miniaplicativo específico, no console, acesse Add Offline Package > Extension Info e insira {"asyncReqRate":"1800"}. Para obter mais informações, consulte a seção Extension Info em Criar um pacote offline H5.

Para verifique se a configuração entrou em vigor, abra um projeto com um pacote offline H5 integrado e filtre os logs do logcat pela palavra-chave H5BaseAppProvider. A configuração será bem-sucedida se a seguinte entrada de log for exibida.

lastUpdateTime: xxx updateRate: xxx

Usar o SDK

O contêiner H5 Nebula do mPaaS fornece a classe de interface MPNebula para gerencie operações de contêineres H5 e pacotes offline.

  1. Inicie um pacote offline H5.

    • Inicie um pacote offline:

      /**
      * Starts an offline package.
      *
      * @param appId The offline package ID.
      */
      public static void startApp(String appId);
    • Inicie um pacote offline com parâmetros de inicialização:

      /**
      * Starts an offline package.
      *
      * @param appId  The offline package ID.
      * @param params The startup parameters.
      */
      public static void startApp(String appId, Bundle params);
  2. Inicie uma página online.

    • Inicie uma página online:

      /**
      * Starts an online URL.
      *
      * @param url The online URL.
      */
      public static void startUrl(String url)
    • Inicie uma página online com parâmetros de inicialização:

      /**
      * Starts an online URL.
      *
      * @param url   The online URL.
      * @param param The startup parameters.
      */
      public static void startUrl(String url, Bundle param);
  3. Defina um UserAgent personalizado.

    1. Implemente um provedor para o User Agent (UA):

      public class H5UaProviderImpl implements H5UaProvider {
      @Override
      public String getUa(String defaultUaStr) {
       // Do not modify defaultUaStr or return a result that does not contain defaultUaStr.
       return defaultUaStr + " AlipayClient/mPaaS"; 
      }
      }
    2. Chame a API para defina o UA:

      /**
      * Sets the UA.
      *
      * @param uaProvider The UA provider. The developer must implement the getUa method.
      */
      public static void setUa(H5UaProvider uaProvider)
    3. Execute a seguinte configuração:

      MPNebula.setUa(new H5UaProviderImpl());
  4. Defina uma visualização de contêiner personalizada.

    O contêiner oferece métodos para configure uma barra de título personalizada, menu de navegação, cabeçalho de pull-to-refresh e layout do host WebView. Para visualize um exemplo de implementação, consulte o código de amostra para contêineres H5 e pacotes offline com o método de integração AAR em Obter códigos de amostra.

    1. Implemente um provedor de visualização:

      public class H5ViewProviderImpl implements H5ViewProvider {
      @Override
      public H5WebContentView createWebContentView(Context context) {
       // Return a custom WebView host layout here. If null is returned, the default view is used.
       return null;
      }
      
      @Override
      public H5TitleView createTitleView(Context context) {
       // Return a custom title bar here. If null is returned, the default view is used.
       return null;
      }
      
      @Override
      public H5PullHeaderView createPullHeaderView(Context context, ViewGroup viewGroup) {
       // Return a custom pull-to-refresh header here. If null is returned, the default view is used.
       return null;
      }
      
      @Override
      public H5NavMenuView createNavMenu() {
       // Return a custom navigation menu here. If null is returned, the default view is used.
       return null;
      }
      }
    2. Chame a interface para defina a visualização:

      /**
      * Sets custom container-related views, such as the title bar, menu bar, web layout, and pull-to-refresh view.
      * @param viewProvider The custom view provider.
      */
      public static void setCustomViewProvider(H5ViewProvider viewProvider);
    3. Execute o procedimento de configuração:

      MPNebula.setCustomViewProvider(new H5ViewProviderImpl());
      Nota

      Para defina uma barra de título personalizada, configure primeiro o nome do bundle. Caso contrário, os recursos necessários podem não ser encontrados.

      // You must set the bundle name where the title bar resources are located. If you do not set it, the resources cannot be loaded and the title bar will not take effect.
      H5Utils.setProvider(H5ReplaceResourceProvider.class.getName(), new H5ReplaceResourceProvider() {
      @Override
      public String getReplaceResourcesBundleName() {
       return BuildConfig.BUNDLE_NAME;
      }
      });
      MPNebula.setCustomViewProvider(new H5ViewProviderImpl());
  5. Incorpore a visualização de um único contêiner em uma página.

    Incorpore uma página H5 como uma visualização dentro de um contêiner usando o método síncrono ou assíncrono.

    • Método síncrono

      /**
      * Gets the view of the H5 container.
      *
      * @param activity The page context.
      * @param param    The startup parameters, which can include an appid or a URL.
      * @return The view of the H5 container.
      */
      public static View getH5View(Activity activity, Bundle param);
    • Método assíncrono

      /**
      * Asynchronously gets the view of the H5 container.
      *
      * @param activity            The page context.
      * @param param               The startup parameters, which can include an appid or a URL.
      * @param h5PageReadyListener The asynchronous callback.
      */
      public static void getH5ViewAsync(Activity activity, Bundle param, H5PageReadyListener h5PageReadyListener);
      Nota
      • Antes de incorporar um contêiner por qualquer um dos métodos, obtenha as informações do pacote offline correspondente.

      • O método assíncrono não ocupa a thread principal nem afeta o desempenho.

Usar o contêiner H5

Para obter mais informações, consulte Usar o contêiner H5.

Usar pacotes offline H5

Para obter mais informações, consulte Usar pacotes offline H5.