Todos os produtos
Search
Central de documentação

Mobile Platform as a Service:Advanced features

Última atualização: Jun 28, 2026

Após integrar o SDK de push, limpe badges de notificação, envie tokens de canais de fabricantes, personalize canais de notificação e configure a prioridade dos canais de push.

Pré-requisitos

  • O método MPPushMsgServiceAdapter descrito neste tópico exige a versão baseline 10.1.68.32 ou posterior. Para atualizar, consulte o Guia de atualização do mPaaS.

  • O método AliPushRcvService da versão antiga ainda é utilizável. Clique aqui para baixar a documentação legada.

Limpar badge de notificação

Quando uma mensagem de push chega por um canal de fabricante, o dispositivo exibe um badge de notificação no ícone do aplicativo. O SDK de push oferece suporte à limpeza automática de badges apenas para canais Huawei.

  • Para limpar automaticamente o badge quando o usuário tocar na notificação:

    // Enable automatic badge clearing on notification tap
    boolean autoClear = true;
    MPPush.setBadgeAutoClearEnabled(context, autoClear);
    
    // Set the launcher Activity class name — required for badge clearing to work
    String activityName = "com.mpaas.demo.push.LauncherActivity";
    MPPush.setBadgeActivityClassName(context, activityName);
  • Para limpar manualmente o badge (por exemplo, quando o usuário abrir o aplicativo diretamente sem tocar em uma notificação), chame o seguinte código na classe Application:

    MPPush.clearBadges(context);

Enviar token do canal do fabricante

Após a inicialização, o SDK de push obtém o token do canal do fabricante e o vincula e envia automaticamente junto com o token do canal criado pelo usuário.

Para monitorar eventos de emissão e envio de tokens, sobrescreva os métodos onChannelTokenReceive e onChannelTokenReport em MPPushMsgServiceAdapter:

public class MyPushMsgService extends MPPushMsgServiceAdapter {

    /**
     * Callback of the vendor channel token received.
     *
     * @param channelToken The vendor channel token.
     * @param channel      The vendor channel type.
     */
    @Override
    protected void onChannelTokenReceive(String channelToken, PushOsType channel) {
        Log.d("Received vendor channel token: " + channelToken);
        Log.d("Vendor: " + channel.getName());
    }

    /**
     * Called when the vendor channel token reporting completes.
     *
     * @param result The report result.
     */
    @Override
    protected void onChannelTokenReport(ResultBean result) {
        Log.d("Report vendor token " + (result.success ? "Success" : ("Error:" + result.code)));
    }

    /**
     * Controls whether the SDK reports the vendor token automatically.
     * Override and return false to report manually.
     */
    @Override
    protected boolean shouldReportChannelToken() {
        return super.shouldReportChannelToken();
    }

}

Para enviar o token manualmente, sobrescreva shouldReportChannelToken para retornar false e chame o código abaixo após receber ambos os tokens:

MPPush.report(context, token, channel.value(), channelToken);

Canais de notificação personalizados (NotificationChannel)

Para definir um nome e uma descrição personalizados para o NotificationChannel padrão do canal integrado, adicione as seguintes entradas ao arquivo AndroidManifest.xml:

<meta-data
    android:name="mpaas.notification.channel.default.name"
    android:value="Name" />
<meta-data
    android:name="mpaas.notification.channel.default.description"
    android:value="Description" />

Ajustar prioridade do canal de push

A versão baseline 10.2.3.43 e posteriores permitem substituir a ordem de prioridade padrão dos canais de fabricantes em famílias específicas de dispositivos. Crie um arquivo mpaas_push_config.properties no diretório assets do projeto e adicione as configurações relevantes abaixo.

Preferir Honor ao HMS em dispositivos Huawei/Honor (opcional)

Por padrão, o SDK utiliza o canal HMS (Huawei Mobile Services) em dispositivos Huawei e Honor. Para usar o canal Honor Push, adicione:

// Use the Honor channel instead of HMS on Huawei/Honor devices
isHonorBeforeHms=true

Preferir canais de fabricantes ao FCM em dispositivos compatíveis com FCM (opcional)

Em dispositivos compatíveis com Firebase Cloud Messaging (FCM), o SDK usa o FCM por padrão. Para utilizar o canal nativo do fabricante do dispositivo, adicione:

// Use the device vendor's channel instead of FCM on FCM-capable devices
isFcmEnd=true