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

Integre o componente Mobile Push Service (MPS) ao seu cliente Android. O MPS oferece três métodos de integração: AAR nativo, mPaaS Inside e baseado em componentes (Portal & Bundle).

Pré-requisitos

Antes de começar, verifique se você tem:

Procedimento

  1. Adicione a dependência do SDK de Push e configure o AndroidManifest.xml.

    1. Adicione a dependência do SDK. As etapas variam conforme o método de integração:

    2. Inclua a configuração do AndroidManifest adicionando as seguintes entradas ao AndroidManifest.xml:

      Nota

      Na integração baseada em componentes, adicione a configuração do AndroidManifest no projeto Portal, não nos projetos Bundle individuais.

      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
      
      <service
          android:name="com.alipay.pushsdk.push.NotificationService"
          android:enabled="true"
          android:exported="false"
          android:label="NotificationService"
          android:process=":push">
          <intent-filter>
              <action android:name="${applicationId}.push.action.START_PUSHSERVICE" />
          </intent-filter>
      </service>
      <receiver
          android:name="com.alipay.pushsdk.BroadcastActionReceiver"
          android:enabled="true"
          android:exported="true"
          android:process=":push">
          <intent-filter android:priority="2147483647">
              <action android:name="android.intent.action.BOOT_COMPLETED" />
              <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
              <action android:name="android.intent.action.USER_PRESENT" />
              <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
          </intent-filter>
      </receiver>
    3. O SDK de Push inclui um mecanismo de keepalive integrado para melhorar as taxas de entrega de mensagens. O com.alipay.pushsdk.BroadcastActionReceiver monitora broadcasts do sistema para iniciar o processo de push e o reinicia automaticamente se ele for encerrado. Os quatro listeners de broadcast vêm ativados por padrão. Remova-os ou desative-os conforme necessário:

      1. Para parar de monitorar broadcasts de inicialização do dispositivo, remova:

        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <action android:name="android.intent.action.BOOT_COMPLETED" />
      2. Para parar de monitorar broadcasts de alteração de conectividade de rede, remova:

        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
      3. Para parar de monitorar broadcasts de presença do usuário, remova:

        <action android:name="android.intent.action.USER_PRESENT" />
      4. Para parar de monitorar broadcasts de conexão de energia, remova:

        <action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
      5. Para desativar os quatro listeners de broadcast simultaneamente, defina o atributo android:enabled do com.alipay.pushsdk.BroadcastActionReceiver como false.

      6. Para impedir que o processo de push seja reiniciado automaticamente após o encerramento, adicione o seguinte sob o nó application:

        <meta-data
                android:name="force.kill.push"
                android:value="on" />
        Nota

        Esta configuração requer a baseline 10.2.3.21 ou posterior.

  2. Inicialize o serviço de push. A inicialização estabelece uma conexão persistente entre o cliente e o gateway do Mobile Push pelo canal próprio. O SDK de Push gerencia essa conexão automaticamente após a inicialização.

    As etapas de inicialização variam conforme o método de integração:

    • AAR nativo

      • Se você já chamou o método de inicialização do mPaaS (consulte Inicializar o mPaaS) na Application, chame MPPush.init() após MP.init():

        MPPush.init(this);
      • Caso já tenha chamado o método de inicialização do mPaaS na Application, chame MPPush.init() depois de MP.init():

        MPPush.init(this);
      • Se ainda não tiver chamado o método de inicialização do mPaaS, chame setup e init na Application:

        MPPush.setup(this);  // One-time setup before init
        MPPush.init(this);   // Starts the push service
    • Baseado em componentes

      Chame MPPush.init() no método postInit de LauncherApplicationAgent ou LauncherActivityAgent:

      MPPush.init(context);
  3. Receba o token do dispositivo pelo canal próprio. Crie um serviço que estenda MPPushMsgServiceAdapter e sobrescreva onTokenReceive:

    public class MyPushMsgService extends MPPushMsgServiceAdapter {
    
        /**
         * Called when the self-built channel issues a token for this device.
         * Store or upload this token to your server to enable device-targeted pushes.
         *
         * @param token Unique identifier for this device on the self-built channel
         */
        @Override
        protected void onTokenReceive(String token) {
            Log.d("MyPushMsgService", "Token received: " + token);
        }
    
    }

    Declare este serviço no AndroidManifest.xml:

    <service
        android:name="com.mpaas.demo.push.MyPushMsgService"
        android:exported="false">
        <intent-filter>
            <action android:name="${applicationId}.push.action.MESSAGE_RECEIVED" />
            <action android:name="${applicationId}.push.action.REGISTRATION_ID" />
            <category android:name="${applicationId}" />
        </intent-filter>
    </service>

    Após esta etapa, envie mensagens para dispositivos específicos pelo console usando o token recebido em onTokenReceive como identificador do dispositivo.

  4. Vincule um ID de usuário ao token. O ID de usuário é definido pelo desenvolvedor e pode ser qualquer identificador do seu sistema de usuários, como nome de conta ou número de telefone, desde que corresponda a um único usuário.

    Depois de receber o token, vincule-o a um ID de usuário:

    String userId = "custom_user_id";
    ResultPbPB bindResult = MPPush.bind(context, userId, token);
    Log.d("MyPushMsgService", "Bind " + (bindResult.success ? "succeeded" : "failed: " + bindResult.code));

    Se já tiver chamado MPLogger.setUserId() para definir um ID de usuário, omita o parâmetro de ID de usuário:

    MPLogger.setUserId("custom_user_id");
    ResultPbPB bindResult = MPPush.bind(context, token);

    Para desvincular um ID de usuário (por exemplo, ao fazer logout), chame:

    ResultPbPB unbindResult = MPPush.unbind(context, userId, token);
    ResultPbPB unbindResult = MPPush.unbind(context, token);

    Após esta etapa, envie mensagens para usuários específicos pelo console usando seu ID de usuário personalizado.

  5. (Opcional) Vincule um número de celular ao token para ative notificações push entregues via SMS.

    Importante

    O serviço suplementar de SMS está disponível apenas na região China (Hangzhou) para serviços não financeiros.

    É possível vincular um ID de usuário e um número de celular ao mesmo token. Após vincular o número de telefone, o usuário recebe as notificações push como mensagens de texto nesse número:

    String userId = "custom_user_id";
    String phoneNumber = "138xxxxxxxx";
    ResultPbPB bindResult = MPPush.bind(context, userId, token, phoneNumber);
    Log.d("MyPushMsgService", "Bind " + (bindResult.success ? "succeeded" : "failed: " + bindResult.code));

Tópicos relacionados

  • Para aumentar as taxas de entrega de mensagens, integre canais de push dos fabricantes (Huawei, Xiaomi, OPPO e vivo). Consulte Integrar canais de terceiros.

  • Por padrão, tocar em uma notificação abre uma página da web. Para redirecionar o usuário a uma página interna do aplicativo via deep link ou personalizar o comportamento do toque na notificação, consulte Lidar com cliques em notificações.

Para outros recursos, consulte Recursos avançados.

Exemplo de código

Baixe o pacote de código de exemplo: android-push no GitHub.

Próximos passos

Após concluir a integração, use a API RESTful no servidor para enviar mensagens aos dispositivos e usuários. Consulte Configure o lado do servidor.