MTPush-API

MTCorePrivatesApi

  • Utilisé principalement pour la configuration des informations.
  • Toutes les méthodes doivent être appelées dans le processus principal. Ne pas vérifier si le processus les placera dans un processus enfant avant l'appel ; sinon une erreur d'appel se produira.

configAppKey

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
/** *Configure the application key without using the configuration in AndroidManifest.xml * *You need to call in the Application.onCreate() method *Please call before [init](#init) * *@ param context is not empty *@ param appKey is not empty */ Public static void configAppKey (Context context, String appKey)
              
              /**
*Configure the application key without using the configuration in AndroidManifest.xml
*
*You need to call in the Application.onCreate() method
*Please call before [init](#init)
*
*@ param context is not empty
*@ param appKey is not empty
*/
Public static void configAppKey (Context context, String appKey)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant Java:

MTCorePrivatesApi.configAppKey(this, "your appkey");
              
              MTCorePrivatesApi.configAppKey(this, "your appkey");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTCorePrivatesApi.configAppKey(this, "your appkey")
              
              MTCorePrivatesApi.configAppKey(this, "your appkey")

            
Afficher ce bloc de code dans la fenêtre flottante

configAppChannel

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
/** * Configure the application channel, not using the configuration in AndroidManifest.xml * Needs to be called in the Application.onCreate() method * Needs to be used before init, and must be used within Application.onCreate * * @param context Not empty * @param appChannel Not empty */ public static void configAppChannel(Context context, String appChannel)
              
                   /**
         * Configure the application channel, not using the configuration in AndroidManifest.xml
         * Needs to be called in the Application.onCreate() method
         * Needs to be used before init, and must be used within Application.onCreate
         *
         * @param context    Not empty
         * @param appChannel Not empty
         */
    public static void configAppChannel(Context context, String appChannel)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code :

Java:

MTCorePrivatesApi.configAppChannel(this,"your_appChannel");
              
              MTCorePrivatesApi.configAppChannel(this,"your_appChannel");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTCorePrivatesApi.configAppChannel(this, "your_appChannel")
              
              MTCorePrivatesApi.configAppChannel(this, "your_appChannel")

            
Afficher ce bloc de code dans la fenêtre flottante

configAppSiteName

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
/** *Configure the data center site name without using the configuration in AndroidManifest.xml *The currently available nodes are Singapore, USA_Virginia, DEU_Frankfurt, and HongKong. *You need to call in the Application.onCreate() method *Please call before [init](#init) * *@ param context is not empty *@ param appSiteName is not empty */ Public static void configAppSiteName (Context context, String appSiteName)
              
              /**
*Configure the data center site name without using the configuration in AndroidManifest.xml
*The currently available nodes are Singapore, USA_Virginia, DEU_Frankfurt, and HongKong.
*You need to call in the Application.onCreate() method
*Please call before [init](#init)
*
*@ param context is not empty
*@ param appSiteName is not empty
*/
Public static void configAppSiteName (Context context, String appSiteName)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant Java:

MTCorePrivatesApi.configAppSiteName(this, "Your Platform Data Center Site Name");
              
              MTCorePrivatesApi.configAppSiteName(this, "Your Platform Data Center Site Name");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTCorePrivatesApi.configAppSiteName(this, "Your Platform Data Center Site Name")
              
              MTCorePrivatesApi.configAppSiteName(this, "Your Platform Data Center Site Name")

            
Afficher ce bloc de code dans la fenêtre flottante

configHeartbeatInterval">configHeartbeatInterval

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
/** * Set the heartbeat interval * * Need to be called in the Application.onCreate() method * * @param context is not empty * @param heartbeatInterval The unit of time is milliseconds, must be greater than 0, the default value is 4 minutes and 50 seconds\ */ public static void configHeartbeatInterval(Context context, long heartbeatInterval)
              
                   /**
      * Set the heartbeat interval
      *
      * Need to be called in the Application.onCreate() method
      *
      * @param context is not empty
      * @param heartbeatInterval The unit of time is milliseconds, must be greater than 0, the default value is 4 minutes and 50 seconds\
      */
     public static void configHeartbeatInterval(Context context, long heartbeatInterval)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

  • La démo configure el intervalo de heartbeat en 3 minutos

Java:

MTCorePrivatesApi.configHeartbeatInterval(this,3*60*1000);
              
              MTCorePrivatesApi.configHeartbeatInterval(this,3*60*1000);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTCorePrivatesApi.configHeartbeatInterval(this, 3 * 60 * 1000)
              
              MTCorePrivatesApi.configHeartbeatInterval(this, 3 * 60 * 1000)

            
Afficher ce bloc de code dans la fenêtre flottante

configConnectRetryCount">configConnectRetryCount

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
/** * Set the number of long connection retries * * Need to be called in the Application.onCreate() method * * @param context is not empty * @param connectRetryCount The number of retries, the default value is 3, at least 3 times */ public static void configConnectRetryCount(Context context, int connectRetryCount)
              
                   /**
      * Set the number of long connection retries
      *
      * Need to be called in the Application.onCreate() method
      *
      * @param context is not empty
      * @param connectRetryCount The number of retries, the default value is 3, at least 3 times
      */
     public static void configConnectRetryCount(Context context, int connectRetryCount)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

  • La démo configure el número de reconexiones en 10

Java:

MTCorePrivatesApi.configConnectRetryCount(this,10);
              
              MTCorePrivatesApi.configConnectRetryCount(this,10);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTCorePrivatesApi.configConnectRetryCount(this, 10)
              
              MTCorePrivatesApi.configConnectRetryCount(this, 10)

            
Afficher ce bloc de code dans la fenêtre flottante

setTcpSSl">setTcpSSl

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
/** * Set whether the long connection is encrypted, the default is not encrypted * * Need to be called in the Application.onCreate() method * * @param isSSL true encryption, false no encryption */ public static void setTcpSSl(boolean isSSL)
              
                   /**
      * Set whether the long connection is encrypted, the default is not encrypted
      *
      * Need to be called in the Application.onCreate() method
      *
      * @param isSSL true encryption, false no encryption
      */
     public static void setTcpSSl(boolean isSSL)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

  • La démo configure el cifrado

Java:

MTCorePrivatesApi.setTcpSSl(true);
              
              MTCorePrivatesApi.setTcpSSl(true);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTCorePrivatesApi.setTcpSSl(context, true)
              
              MTCorePrivatesApi.setTcpSSl(context, true)

            
Afficher ce bloc de code dans la fenêtre flottante

configDebugMode

  • Doit être appelé dans Application.onCreate().
  • Se debe llamar antes de init
  • Formato de registro de EngageLab; buscar "ENGAGELAB-PRIVATES"
  • EngageLab imprimirá registros en el proceso principal y en el proceso secundario, respectivamente
/** * Set whether to debug mode, debug mode will print more detailed logs * * Need to be called in the Application.onCreate() method * * @param context is not empty * @param enable Whether to debug mode, true is debug mode, false is not */ public static void configDebugMode(Context context, boolean enable)
              
                   /**
      * Set whether to debug mode, debug mode will print more detailed logs
      *
      * Need to be called in the Application.onCreate() method
      *
      * @param context is not empty
      * @param enable Whether to debug mode, true is debug mode, false is not
      */
     public static void configDebugMode(Context context, boolean enable)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

  • El SDK funciona en dos procesos: el proceso principal y el proceso secundario. El nombre del proceso secundario es el nombre del atributo process del servicio de la subclase de MTCommonService.
  • La etiqueta (tag) de registro del SDK es "ENGAGELAB-PRIVATES".
  • Los registros de las operaciones relacionadas con udp/tcp/http se encuentran todos en el proceso secundario.
  • Por lo tanto, si no se puede recibir el push, se recomienda habilitar primero el modo de depuración y, a continuación, obtener en el proceso secundario el registro con la etiqueta "ENGAGELAB-PRIVATES" y proporcionarlo al soporte técnico para su análisis.

Java:

// It is recommended to set it to true when the application is not online, which is convenient for integration MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // It is recommended to set it to false after the application is launched MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);
              
              // It is recommended to set it to true when the application is not online, which is convenient for integration
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);

// It is recommended to set it to false after the application is launched
MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), false);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

// It is recommended to set it to true when the application is not online, which is convenient for integration MTCorePrivatesApi.configDebugMode(context.applicationContext, true) // It is recommended to set it to false after the application is launched MTCorePrivatesApi.configDebugMode(context.applicationContext, false)
              
              // It is recommended to set it to true when the application is not online, which is convenient for integration
MTCorePrivatesApi.configDebugMode(context.applicationContext, true)

// It is recommended to set it to false after the application is launched
MTCorePrivatesApi.configDebugMode(context.applicationContext, false)

            
Afficher ce bloc de code dans la fenêtre flottante

configSM4

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
/** * Configurer l'utilisation du chiffrement national (SM4). * * @param context ne doit pas être vide */ public static void configSM4(Context context)
              
                   /**
      * Configurer l'utilisation du chiffrement national (SM4).
      *
      * @param context ne doit pas être vide
      */
     public static void configSM4(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

// Activer le chiffrement national; si non appelé, la méthode de chiffrement par défaut est utilisée MTCorePrivatesApi.configSM4(context.getApplicationContext());
              
                   // Activer le chiffrement national; si non appelé, la méthode de chiffrement par défaut est utilisée
     MTCorePrivatesApi.configSM4(context.getApplicationContext());

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

// Activer le chiffrement national; si non appelé, la méthode de chiffrement par défaut est utilisée MTCorePrivatesApi.configSM4(context.applicationContext)
              
                   // Activer le chiffrement national; si non appelé, la méthode de chiffrement par défaut est utilisée
     MTCorePrivatesApi.configSM4(context.applicationContext)

            
Afficher ce bloc de code dans la fenêtre flottante

getUserId">getUserId

Cuando el valor devuelto está vacío, se debe comprobar si el entorno está configurado y si se ha llamado a la inicialización.

Si se confirma que la configuración es correcta, puede que todavía se esté en el proceso de conexión; se podrá obtener cuando onConnectStatus devuelva true.

/** * Get the userId of the current device, which is the unique identifier of EngageLab, which can be used to push * * @param context is not empty * @return userId */ public static String getUserId(Context context)
              
                   /**
      * Get the userId of the current device, which is the unique identifier of EngageLab, which can be used to push
      *
      * @param context is not empty
      * @return userId
      */
     public static String getUserId(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

String userId = MTCorePrivatesApi.getUserId(context);
              
              String userId = MTCorePrivatesApi.getUserId(context);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

val userId = MTCorePrivatesApi.getUserId(context)
              
              val userId = MTCorePrivatesApi.getUserId(context)

            
Afficher ce bloc de code dans la fenêtre flottante

getRegistrationId">getRegistrationId

/** * Get the registrationId of the current device, the unique identifier of EngageLab, which can be used to push * * @param context is not empty * @return registrationId */ public static String getRegistrationId(Context context)
              
                   /**
      * Get the registrationId of the current device, the unique identifier of EngageLab, which can be used to push
      *
      * @param context is not empty
      * @return registrationId
      */
     public static String getRegistrationId(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

String registrationId = MTCorePrivatesApi.getRegistrationId(context);
              
              String registrationId = MTCorePrivatesApi.getRegistrationId(context);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

val registrationId = MTCorePrivatesApi.getRegistrationId(context)
              
              val registrationId = MTCorePrivatesApi.getRegistrationId(context)

            
Afficher ce bloc de code dans la fenêtre flottante

setEnableResetOnDeviceChange

  • Doit être appelé dans Application.onCreate().
  • Appeler avant init
  • El valor predeterminado es false (desactivado)
/** * Configurar la función de migración de dispositivos. * Si se activa, cuando cambie el modelo del dispositivo, se borrarán el ID de registro local y la información UID y se volverá a registrar. * El valor predeterminado es false. * * @param context ne doit pas être vide * @param enable true = activar migración de dispositivos, false = desactivar */ public static void setEnableResetOnDeviceChange(Context context, boolean enable)
              
                  /**
     * Configurar la función de migración de dispositivos.
     * Si se activa, cuando cambie el modelo del dispositivo, se borrarán el ID de registro local y la información UID y se volverá a registrar.
     * El valor predeterminado es false.
     *
     * @param context ne doit pas être vide
     * @param enable  true = activar migración de dispositivos, false = desactivar
     */
    public static void setEnableResetOnDeviceChange(Context context, boolean enable)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

  • Cuando cambie el modelo del dispositivo (p. ej. flashear el dispositivo, cambiar de dispositivo, etc.), la información de registro en caché local se borrará automáticamente.

Java:

// Activar la función de migración de dispositivos MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true); // Désactiver la fonction de migration d'appareil (estado predeterminado) MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);
              
                      // Activar la función de migración de dispositivos
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true);
        
        // Désactiver la fonction de migration d'appareil (estado predeterminado)
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

// Activar la función de migración de dispositivos MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true) // Désactiver la fonction de migration d'appareil (estado predeterminado) MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false)
              
                      // Activar la función de migración de dispositivos
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, true)
        
        // Désactiver la fonction de migration d'appareil (estado predeterminado)
        MTCorePrivatesApi.setEnableResetOnDeviceChange(this, false)

            
Afficher ce bloc de code dans la fenêtre flottante

MTPushPrivatesApi

  • Utilisé principalement pour la fonctionnalité push.
  • Toutes les méthodes doivent être appelées dans le processus principal ; ne pas tenter de déterminer si le processus les placera dans un processus enfant avant l'appel, sinon une erreur se produira.

configUserLanguage

/** * Configurer la langue des notifications push ; à utiliser après MTPushPrivatesApi.init * * @param context Ne doit pas être vide * @param pushLanguage Chaîne vide pour rétablir la langue de l'appareil */ public static void configUserLanguage(Context context, String pushLanguage)
              
                  /**
     * Configurer la langue des notifications push ; à utiliser après MTPushPrivatesApi.init
     *
     * @param context       Ne doit pas être vide
     * @param pushLanguage  Chaîne vide pour rétablir la langue de l'appareil
     */
    public static void configUserLanguage(Context context, String pushLanguage)

            
Afficher ce bloc de code dans la fenêtre flottante

Exemple de code :

Java:

MTPushPrivatesApi.configUserLanguage(context,"zh-Hans");
              
                  MTPushPrivatesApi.configUserLanguage(context,"zh-Hans");  

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.configUserLanguage(context, "zh-Hans")
              
                  MTPushPrivatesApi.configUserLanguage(context, "zh-Hans")

            
Afficher ce bloc de code dans la fenêtre flottante

Pour les codes de langue pris en charge, voir Push API

setEnablePushTextToSpeech

/** * Configuration de la lecture à voix haute des notifications push ; nécessite l'import du package vocal (mt-sdk-sound-x.x.x.aar) * * @param context ne doit pas être vide * @param enable true = activer, false = désactiver, par défaut false */ public static void setEnablePushTextToSpeech(Context context, boolean enable)
              
                  /**
     * Configuration de la lecture à voix haute des notifications push ; nécessite l'import du package vocal (mt-sdk-sound-x.x.x.aar)
     *
     * @param context ne doit pas être vide
     * @param enable  true = activer, false = désactiver, par défaut false
     */
    public static void setEnablePushTextToSpeech(Context context, boolean enable)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.setEnablePushTextToSpeech(context, true);
              
                  MTPushPrivatesApi.setEnablePushTextToSpeech(context, true);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.setEnablePushTextToSpeech(context, true)
              
                  MTPushPrivatesApi.setEnablePushTextToSpeech(context, true)

            
Afficher ce bloc de code dans la fenêtre flottante

init

  • Se recomienda llamar en el método Application.onCreate().
/** * Inicialización de MTPush * * Se recomienda llamar en el método Application.onCreate(). * * @param context ne doit pas être vide; use el objeto applicationContext */ public static void init(Context context)
              
                   /**
      * Inicialización de MTPush
      *
      * Se recomienda llamar en el método Application.onCreate().
      *
      * @param context ne doit pas être vide; use el objeto applicationContext
      */
     public static void init(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

public class ExampleApplication extends Application { @Override public void onCreate() { // Activar modo depuración MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true); // Inicialización MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

     @Override
     public void onCreate() {
         // Activar modo depuración
         MTCorePrivatesApi.configDebugMode(context.getApplicationContext(), true);
         // Inicialización
         MTPushPrivatesApi.init(context.getApplicationContext());
     }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

class ExampleApplication : Application() { override fun onCreate() { super.onCreate() // Activar modo depuración MTCorePrivatesApi.configDebugMode(applicationContext, true) // Inicialización MTPushPrivatesApi.init(applicationContext) } }
              
              class ExampleApplication : Application() {

    override fun onCreate() {
        super.onCreate()
        // Activar modo depuración
        MTCorePrivatesApi.configDebugMode(applicationContext, true)
        // Inicialización
        MTPushPrivatesApi.init(applicationContext)
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

setCollectControl

  • Configuración del control de recopilación de datos
  • Se recomienda llamar en Application.onCreate(), antes de init.
/** * Configurar el control de recopilación de datos. * Se utiliza para controlar si se recopilan ciertos datos del dispositivo. * * @param control Objeto de control de recopilación, no nulo */ public static void setCollectControl(MTPushCollectControl control)
              
                  /**
     * Configurar el control de recopilación de datos.
     * Se utiliza para controlar si se recopilan ciertos datos del dispositivo.
     *
     * @param control Objeto de control de recopilación, no nulo
     */
    public static void setCollectControl(MTPushCollectControl control)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

public class ExampleApplication extends Application { @Override public void onCreate() { // Configurar control de recopilación de datos MTPushCollectControl collectControl = new MTPushCollectControl(); collectControl.setGaid(true); // Activar recopilación GAID, false para desactivar. Activado por defecto. MTPushPrivatesApi.setCollectControl(collectControl); // Inicialización MTPushPrivatesApi.init(context.getApplicationContext()); } }
              
              public class ExampleApplication extends Application {

    @Override
    public void onCreate() {
        // Configurar control de recopilación de datos
        MTPushCollectControl collectControl = new MTPushCollectControl();
        collectControl.setGaid(true); // Activar recopilación GAID, false para desactivar. Activado por defecto.
        MTPushPrivatesApi.setCollectControl(collectControl);
        
        // Inicialización
        MTPushPrivatesApi.init(context.getApplicationContext());
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

class ExampleApplication : Application() { override fun onCreate() { super.onCreate() // Configurar control de recopilación de datos val collectControl = MTPushCollectControl() collectControl.setGaid(true) // Activar recopilación GAID, false para desactivar. Activado por defecto. MTPushPrivatesApi.setCollectControl(collectControl) // Inicialización MTPushPrivatesApi.init(applicationContext) } }
              
              class ExampleApplication : Application() {

    override fun onCreate() {
        super.onCreate()
        // Configurar control de recopilación de datos
        val collectControl = MTPushCollectControl()
        collectControl.setGaid(true) // Activar recopilación GAID, false para desactivar. Activado por defecto.
        MTPushPrivatesApi.setCollectControl(collectControl)
        
        // Inicialización
        MTPushPrivatesApi.init(applicationContext)
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

goToAppNotificationSettings

  • Tras iniciar el SDK, puede decidir si debe llamar a esta interfaz según el resultado de onNotificationStatus.
/** * Ir a la página de configuración del interruptor de notificaciones * * @param context ne doit pas être vide */ public static void goToAppNotificationSettings(Context context)
              
                   /**
      * Ir a la página de configuración del interruptor de notificaciones
      *
      * @param context ne doit pas être vide
      */
     public static void goToAppNotificationSettings(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

// Ir a la página de configuración del interruptor de notificaciones; el cliente debe activar manualmente el interruptor MTPushPrivatesApi.goToAppNotificationSettings(this); // Tras heredar MTCommonReceiver, reescribir onNotificationStatus para obtener el estado del interruptor; si enable es true, se ha activado correctamente @Override public void onNotificationStatus(Context context, boolean enable) { if (enable) { // El interruptor de notificaciones está activado } }
              
                   // Ir a la página de configuración del interruptor de notificaciones; el cliente debe activar manualmente el interruptor
     MTPushPrivatesApi.goToAppNotificationSettings(this);
    
     // Tras heredar MTCommonReceiver, reescribir onNotificationStatus para obtener el estado del interruptor; si enable es true, se ha activado correctamente
     @Override
     public void onNotificationStatus(Context context, boolean enable) {
         if (enable) {
             // El interruptor de notificaciones está activado
         }
     }

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

// Ir a la página de configuración del interruptor de notificaciones; el cliente debe activar manualmente el interruptor MTPushPrivatesApi.goToAppNotificationSettings(this) // Tras heredar MTCommonReceiver, reescribir onNotificationStatus para obtener el estado del interruptor; si enable es true, se ha activado correctamente override fun onNotificationStatus(context: Context, enable: Boolean) { if (enable) { // El interruptor de notificaciones está activado } }
              
                   // Ir a la página de configuración del interruptor de notificaciones; el cliente debe activar manualmente el interruptor
     MTPushPrivatesApi.goToAppNotificationSettings(this)
    
     // Tras heredar MTCommonReceiver, reescribir onNotificationStatus para obtener el estado del interruptor; si enable es true, se ha activado correctamente
     override fun onNotificationStatus(context: Context, enable: Boolean) {
         if (enable) {
             // El interruptor de notificaciones está activado
         }
     }

            
Afficher ce bloc de code dans la fenêtre flottante

turnOnPush

  • Se utiliza generalmente para activar push tras llamar a turnOffPush.
  • Llamar repetidamente solo surtirá efecto una vez; si ya está activado, no volverá a surtir efecto.
  • Si no hay problemas con el entorno, onConnectStatus devolverá el resultado.
  • Canales admitidos actualmente: Engagelab/Huawei/Xiaomi/Meizu/oppo/vivo
/** * Activar push y almacenar el estado del interruptor como true; el predeterminado es true * * @param context ne peut pas être vide */ public static void turnOnPush(Context context)
              
                   /**
      * Activar push y almacenar el estado del interruptor como true; el predeterminado es true
      *
      * @param context ne peut pas être vide
      */
     public static void turnOnPush(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

// Activar push (está activado por defecto) MTPushPrivatesApi.turnOnPush(context); // Tras heredar MTCommonReceiver, reescribir onConnectStatus para obtener el estado de la conexión; si enable es true, se ha activado correctamente @Override public void onConnectStatus(Context context, boolean enable) { if (enable) { // Push activado correctamente } }
              
              // Activar push (está activado por defecto)
MTPushPrivatesApi.turnOnPush(context);

// Tras heredar MTCommonReceiver, reescribir onConnectStatus para obtener el estado de la conexión; si enable es true, se ha activado correctamente
@Override
public void onConnectStatus(Context context, boolean enable) {
    if (enable) {
        // Push activado correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

// Activar push (está activado por defecto) MTPushPrivatesApi.turnOnPush(context) // Tras heredar MTCommonReceiver, reescribir onConnectStatus para obtener el estado de la conexión; si enable es true, se ha activado correctamente override fun onConnectStatus(context: Context, enable: Boolean) { if (enable) { // Push activado correctamente } }
              
              // Activar push (está activado por defecto)
MTPushPrivatesApi.turnOnPush(context)

// Tras heredar MTCommonReceiver, reescribir onConnectStatus para obtener el estado de la conexión; si enable es true, se ha activado correctamente
override fun onConnectStatus(context: Context, enable: Boolean) {
    if (enable) {
        // Push activado correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

turnOffPush

  • Se utiliza generalmente para desactivar push.
  • Tras desactivar push, llamar a init no volverá a activarlo.
  • Llamar repetidamente solo surtirá efecto una vez.
  • Canales admitidos actualmente: Engagelab/Huawei/Xiaomi/Meizu/oppo/vivo
/** * Desactivar push y almacenar el estado del interruptor como false; el predeterminado es true * * @param context ne peut pas être vide */ public static void turnOffPush(Context context)
              
                   /**
      * Desactivar push y almacenar el estado del interruptor como false; el predeterminado es true
      *
      * @param context ne peut pas être vide
      */
     public static void turnOffPush(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

// Desactivar push; hay que llamar de nuevo a turnOnPush para activarlo MTPushPrivatesApi.turnOffPush(context); // Tras heredar MTCommonReceiver, reescribir onConnectStatus; si enable es false, se ha desactivado correctamente @Override public void onConnectStatus(Context context, boolean enable) { if (!enable) { // Push desactivado correctamente } }
              
              // Desactivar push; hay que llamar de nuevo a turnOnPush para activarlo
MTPushPrivatesApi.turnOffPush(context);

// Tras heredar MTCommonReceiver, reescribir onConnectStatus; si enable es false, se ha desactivado correctamente
@Override
public void onConnectStatus(Context context, boolean enable) {
    if (!enable) {
        // Push desactivado correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

// Desactivar push; hay que llamar de nuevo a turnOnPush para activarlo MTPushPrivatesApi.turnOffPush(context) // Tras heredar MTCommonReceiver, reescribir onConnectStatus; si enable es false, se ha desactivado correctamente override fun onConnectStatus(context: Context, enable: Boolean) { if (!enable) { // Push desactivado correctamente } }
              
              // Desactivar push; hay que llamar de nuevo a turnOnPush para activarlo
MTPushPrivatesApi.turnOffPush(context)

// Tras heredar MTCommonReceiver, reescribir onConnectStatus; si enable es false, se ha desactivado correctamente
override fun onConnectStatus(context: Context, enable: Boolean) {
    if (!enable) {
        // Push desactivado correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

addTag

  • Appeler d'abord init, sinon l'appel ne sera pas valide
  • Si l'environnement est correct, onTagMessage renverra le résultat
/** * Ajouter le tag spécifié (lógica acumulativa; el tag configurado anteriormente se mantiene) * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario, se devuelve con el resultado, para identificar la unicidad de la operación * @param tags array de tags; longitud de cada nombre limitada a 40 bytes; máximo 1000 tags; longitud total de una operación no puede superar 5000 bytes */ public static void addTag(Context context, int sequence, String... tags)
              
                   /**
      * Ajouter le tag spécifié (lógica acumulativa; el tag configurado anteriormente se mantiene)
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario, se devuelve con el resultado, para identificar la unicidad de la operación
      * @param tags array de tags; longitud de cada nombre limitada a 40 bytes; máximo 1000 tags; longitud total de una operación no puede superar 5000 bytes
      */
     public static void addTag(Context context, int sequence, String... tags)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

// Definir una constante que representa la operación de añadir el tag especificado private static final int SEQUENCE_TAG_ADD = 1; // Añadir tags: "china","guangdong","shenzhen" MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen"); // Tras heredar MTCommonReceiver, reescribir onTagMessage para obtener el callback de la operación de tag @Override public void onTagMessage(Context context, TagMessage tagMessage) { if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (tagMessage.getSequence() == SEQUENCE_TAG_ADD) { String[] tags = tagMessage.getTags(); } }
              
              // Definir una constante que representa la operación de añadir el tag especificado
private static final int SEQUENCE_TAG_ADD = 1;
// Añadir tags: "china","guangdong","shenzhen"
MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen");

// Tras heredar MTCommonReceiver, reescribir onTagMessage para obtener el callback de la operación de tag
@Override
public void onTagMessage(Context context, TagMessage tagMessage) {
    if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (tagMessage.getSequence() == SEQUENCE_TAG_ADD) {
        String[] tags = tagMessage.getTags();
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_TAG_ADD = 1 } MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen") override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (tagMessage.sequence == SEQUENCE_TAG_ADD) { val tags = tagMessage.tags } }
              
              companion object {
    private const val SEQUENCE_TAG_ADD = 1
}
MTPushPrivatesApi.addTag(context, SEQUENCE_TAG_ADD, "china", "guangdong", "shenzhen")

override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_ADD) {
        val tags = tagMessage.tags
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

deleteTag

  • Appeler d'abord init, sinon l'appel ne sera pas valide
  • Si l'environnement est correct, onTagMessage renverra le résultat
/** * Supprimer le tag spécifié * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario * @param tags array de tags */ public static void deleteTag(Context context, int sequence, String... tags)
              
                   /**
      * Supprimer le tag spécifié
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      * @param tags array de tags
      */
     public static void deleteTag(Context context, int sequence, String... tags)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_TAG_DELETE = 2; MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen"); @Override public void onTagMessage(Context context, TagMessage tagMessage) { if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (tagMessage.getSequence() == SEQUENCE_TAG_DELETE) { String[] tags = tagMessage.getTags(); } }
              
              private static final int SEQUENCE_TAG_DELETE = 2;
MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen");

@Override
public void onTagMessage(Context context, TagMessage tagMessage) {
    if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (tagMessage.getSequence() == SEQUENCE_TAG_DELETE) {
        String[] tags = tagMessage.getTags();
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_TAG_DELETE = 2 } MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen") override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (tagMessage.sequence == SEQUENCE_TAG_DELETE) { val tags = tagMessage.tags } }
              
              companion object {
    private const val SEQUENCE_TAG_DELETE = 2
}
MTPushPrivatesApi.deleteTag(context, SEQUENCE_TAG_DELETE, "china", "guangdong", "shenzhen")

override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_DELETE) {
        val tags = tagMessage.tags
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

updateTag

  • Appeler d'abord init
  • Si l'environnement est correct, onTagMessage renverra le résultat
/** * Actualizar el tag especificado (lógica de sobrescritura; el tag añadido anteriormente se borrará) * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario * @param tags array de tags */ public static void updateTag(Context context, int sequence, String... tags)
              
                   /**
      * Actualizar el tag especificado (lógica de sobrescritura; el tag añadido anteriormente se borrará)
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      * @param tags array de tags
      */
     public static void updateTag(Context context, int sequence, String... tags)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_TAG_UPDATE = 3; MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen"); @Override public void onTagMessage(Context context, TagMessage tagMessage) { if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (tagMessage.getSequence() == SEQUENCE_TAG_UPDATE) { String[] tags = tagMessage.getTags(); } }
              
              private static final int SEQUENCE_TAG_UPDATE = 3;
MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen");

@Override
public void onTagMessage(Context context, TagMessage tagMessage) {
    if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (tagMessage.getSequence() == SEQUENCE_TAG_UPDATE) {
        String[] tags = tagMessage.getTags();
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_TAG_UPDATE = 3 } MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen") override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (tagMessage.sequence == SEQUENCE_TAG_UPDATE) { val tags = tagMessage.tags } }
              
              companion object {
    private const val SEQUENCE_TAG_UPDATE = 3
}
MTPushPrivatesApi.updateTag(context, SEQUENCE_TAG_UPDATE, "beijing", "shanghai", "guangzhou", "shenzhen")

override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_UPDATE) {
        val tags = tagMessage.tags
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

queryTag

  • Appeler d'abord init
  • Si l'environnement est correct, onTagMessage renverra le résultat
/** * Consulter le tag spécifié * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario * @param tag tag; longitud del nombre limitada a 40 bytes */ public static void queryTag(Context context, int sequence, String tag)
              
                   /**
      * Consulter le tag spécifié
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      * @param tag tag; longitud del nombre limitada a 40 bytes
      */
     public static void queryTag(Context context, int sequence, String tag)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_TAG_QUERY = 4; MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china"); @Override public void onTagMessage(Context context, TagMessage tagMessage) { if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (tagMessage.getSequence() == SEQUENCE_TAG_QUERY) { String tag = tagMessage.getQueryTag(); boolean valid = tagMessage.isQueryTagValid(); } }
              
              private static final int SEQUENCE_TAG_QUERY = 4;
MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china");

@Override
public void onTagMessage(Context context, TagMessage tagMessage) {
    if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (tagMessage.getSequence() == SEQUENCE_TAG_QUERY) {
        String tag = tagMessage.getQueryTag();
        boolean valid = tagMessage.isQueryTagValid();
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_TAG_QUERY = 4 } MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china") override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (tagMessage.sequence == SEQUENCE_TAG_QUERY) { val tag = tagMessage.queryTag val valid = tagMessage.isQueryTagValid } }
              
              companion object {
    private const val SEQUENCE_TAG_QUERY = 4
}
MTPushPrivatesApi.queryTag(context, SEQUENCE_TAG_QUERY, "china")

override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_QUERY) {
        val tag = tagMessage.queryTag
        val valid = tagMessage.isQueryTagValid
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

deleteAllTag

  • Appeler d'abord init
  • Si l'environnement est correct, onTagMessage renverra le résultat
/** * Supprimer tous les tags * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario */ public static void deleteAllTag(Context context, int sequence, String... tags)
              
                   /**
      * Supprimer tous les tags
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      */
     public static void deleteAllTag(Context context, int sequence, String... tags)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_TAG_DELETE_ALL = 5; MTPushPrivatesApi.deleteAllTag(context, SEQUENCE_TAG_DELETE_ALL); @Override public void onTagMessage(Context context, TagMessage tagMessage) { if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL) { // Eliminados todos los tags correctamente } }
              
              private static final int SEQUENCE_TAG_DELETE_ALL = 5;
MTPushPrivatesApi.deleteAllTag(context, SEQUENCE_TAG_DELETE_ALL);

@Override
public void onTagMessage(Context context, TagMessage tagMessage) {
    if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (tagMessage.getSequence() == SEQUENCE_TAG_DELETE_ALL) {
        // Eliminados todos los tags correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_TAG_DELETE_ALL = 5 } MTPushPrivatesApi.deleteAllTag(context, SEQUENCE_TAG_DELETE_ALL) override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (tagMessage.sequence == SEQUENCE_TAG_DELETE_ALL) { // Eliminados todos los tags correctamente } }
              
              companion object {
    private const val SEQUENCE_TAG_DELETE_ALL = 5
}
MTPushPrivatesApi.deleteAllTag(context, SEQUENCE_TAG_DELETE_ALL)

override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_DELETE_ALL) {
        // Eliminados todos los tags correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

queryAllTag

  • Appeler d'abord init
  • Si l'environnement est correct, onTagMessage renverra le résultat
/** * Consulter tous les tags * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario */ public static void queryAllTag(Context context, int sequence, String... tags)
              
                   /**
      * Consulter tous les tags
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      */
     public static void queryAllTag(Context context, int sequence, String... tags)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_TAG_QUERY_ALL = 6; MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL); @Override public void onTagMessage(Context context, TagMessage tagMessage) { if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (tagMessage.getSequence() == SEQUENCE_TAG_QUERY_ALL) { String[] tags = tagMessage.getTags(); } }
              
              private static final int SEQUENCE_TAG_QUERY_ALL = 6;
MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL);

@Override
public void onTagMessage(Context context, TagMessage tagMessage) {
    if (tagMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (tagMessage.getSequence() == SEQUENCE_TAG_QUERY_ALL) {
        String[] tags = tagMessage.getTags();
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_TAG_QUERY_ALL = 6 } MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL) override fun onTagMessage(context: Context, tagMessage: TagMessage) { if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (tagMessage.sequence == SEQUENCE_TAG_QUERY_ALL) { val tags = tagMessage.tags } }
              
              companion object {
    private const val SEQUENCE_TAG_QUERY_ALL = 6
}
MTPushPrivatesApi.queryAllTag(context, SEQUENCE_TAG_QUERY_ALL)

override fun onTagMessage(context: Context, tagMessage: TagMessage) {
    if (tagMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (tagMessage.sequence == SEQUENCE_TAG_QUERY_ALL) {
        val tags = tagMessage.tags
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

setAlias

  • Appeler d'abord init
  • Si l'environnement est correct, onAliasMessage renverra le résultat
/** * Définir l'alias * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario * @param alias Composición válida: letras (sensible a mayúsculas), números, guión bajo, caracteres especiales @!#$&*+=.|. Longitud limitada a 40 bytes (UTF-8) */ public static void setAlias(Context context, int sequence, String alias)
              
                   /**
      * Définir l'alias
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      * @param alias Composición válida: letras (sensible a mayúsculas), números, guión bajo, caracteres especiales @!#$&*+=.|. Longitud limitada a 40 bytes (UTF-8)
      */
     public static void setAlias(Context context, int sequence, String alias)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_ALIAS_SET = 7; MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young"); @Override public void onAliasMessage(Context context, AliasMessage aliasMessage) { if (aliasMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (aliasMessage.getSequence() == SEQUENCE_ALIAS_SET) { String alias = aliasMessage.getAlias(); } }
              
              private static final int SEQUENCE_ALIAS_SET = 7;
MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young");

@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage) {
    if (aliasMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (aliasMessage.getSequence() == SEQUENCE_ALIAS_SET) {
        String alias = aliasMessage.getAlias();
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_ALIAS_SET = 7 } MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young") override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) { if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (aliasMessage.sequence == SEQUENCE_ALIAS_SET) { val alias = aliasMessage.alias } }
              
              companion object {
    private const val SEQUENCE_ALIAS_SET = 7
}
MTPushPrivatesApi.setAlias(context, SEQUENCE_ALIAS_SET, "young")

override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) {
    if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (aliasMessage.sequence == SEQUENCE_ALIAS_SET) {
        val alias = aliasMessage.alias
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

getAlias

  • Appeler d'abord init
  • Si l'environnement est correct, onAliasMessage renverra le résultat
/** * Obtenir l'alias * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario */ public static void getAlias(Context context, int sequence)
              
                   /**
      * Obtenir l'alias
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      */
     public static void getAlias(Context context, int sequence)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_ALIAS_GET = 8; MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET); @Override public void onAliasMessage(Context context, AliasMessage aliasMessage) { if (aliasMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (aliasMessage.getSequence() == SEQUENCE_ALIAS_GET) { String alias = aliasMessage.getAlias(); } }
              
              private static final int SEQUENCE_ALIAS_GET = 8;
MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET);

@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage) {
    if (aliasMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (aliasMessage.getSequence() == SEQUENCE_ALIAS_GET) {
        String alias = aliasMessage.getAlias();
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_ALIAS_GET = 8 } MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET) override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) { if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (aliasMessage.sequence == SEQUENCE_ALIAS_GET) { val alias = aliasMessage.alias } }
              
              companion object {
    private const val SEQUENCE_ALIAS_GET = 8
}
MTPushPrivatesApi.getAlias(context, SEQUENCE_ALIAS_GET)

override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) {
    if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (aliasMessage.sequence == SEQUENCE_ALIAS_GET) {
        val alias = aliasMessage.alias
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

clearAlias

  • Appeler d'abord init
  • Si l'environnement est correct, onAliasMessage renverra le résultat
/** * Effacer l'alias * * @param context ne peut pas être vide * @param sequence Número de secuencia de operación definido por el usuario */ public static void clearAlias(Context context, int sequence)
              
                   /**
      * Effacer l'alias
      *
      * @param context ne peut pas être vide
      * @param sequence Número de secuencia de operación definido por el usuario
      */
     public static void clearAlias(Context context, int sequence)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int SEQUENCE_ALIAS_CLEAR = 9; MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR); @Override public void onAliasMessage(Context context, AliasMessage aliasMessage) { if (aliasMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) { return; } if (aliasMessage.getSequence() == SEQUENCE_ALIAS_CLEAR) { // Alias borrado correctamente } }
              
              private static final int SEQUENCE_ALIAS_CLEAR = 9;
MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR);

@Override
public void onAliasMessage(Context context, AliasMessage aliasMessage) {
    if (aliasMessage.getCode() != MTPushPrivatesApi.Code.SUCCESS) {
        return;
    }
    if (aliasMessage.getSequence() == SEQUENCE_ALIAS_CLEAR) {
        // Alias borrado correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val SEQUENCE_ALIAS_CLEAR = 9 } MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR) override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) { if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) { return } if (aliasMessage.sequence == SEQUENCE_ALIAS_CLEAR) { // Alias borrado correctamente } }
              
              companion object {
    private const val SEQUENCE_ALIAS_CLEAR = 9
}
MTPushPrivatesApi.clearAlias(context, SEQUENCE_ALIAS_CLEAR)

override fun onAliasMessage(context: Context, aliasMessage: AliasMessage) {
    if (aliasMessage.code != MTPushPrivatesApi.Code.SUCCESS) {
        return
    }
    if (aliasMessage.sequence == SEQUENCE_ALIAS_CLEAR) {
        // Alias borrado correctamente
    }
}

            
Afficher ce bloc de code dans la fenêtre flottante

setNotificationShowTime

  • Appeler d'abord init
  • Canales admitidos: canal Engagelab / canal google cuando la app está en primer plano
/** * Définir l'horaire d'affichage des notifications; por defecto se muestran en cualquier momento * * @param context ne doit pas être vide * @param beginHour Hora de inicio (formato 24h, 0-23) para permitir mostrar notificaciones * @param endHour Hora de fin (formato 24h, 0-23); beginHour no puede ser mayor o igual que endHour * @param weekDays Array de días de la semana (1-7); array vacío = no mostrar en ningún momento */ public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)
              
                   /**
      * Définir l'horaire d'affichage des notifications; por defecto se muestran en cualquier momento
      *
      * @param context ne doit pas être vide
      * @param beginHour Hora de inicio (formato 24h, 0-23) para permitir mostrar notificaciones
      * @param endHour Hora de fin (formato 24h, 0-23); beginHour no puede ser mayor o igual que endHour
      * @param weekDays Array de días de la semana (1-7); array vacío = no mostrar en ningún momento
      */
     public static void setNotificationShowTime(Context context, int beginHour, int endHour, int... weekDays)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7);
              
                   MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7)
              
                   MTPushPrivatesApi.setNotificationShowTime(context, 9, 21, 1, 3, 5, 7)

            
Afficher ce bloc de code dans la fenêtre flottante

resetNotificationShowTime

  • Appeler d'abord init
/** * Réinitialiser l'horaire d'affichage des notifications; por defecto en cualquier momento * * @param context ne doit pas être vide */ public static void resetNotificationShowTime(Context context)
              
                   /**
      * Réinitialiser l'horaire d'affichage des notifications; por defecto en cualquier momento
      *
      * @param context ne doit pas être vide
      */
     public static void resetNotificationShowTime(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.resetNotificationShowTime(context);
              
                   MTPushPrivatesApi.resetNotificationShowTime(context);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.resetNotificationShowTime(context)
              
                   MTPushPrivatesApi.resetNotificationShowTime(context)

            
Afficher ce bloc de code dans la fenêtre flottante

setNotificationSilenceTime

  • Appeler d'abord init
/** * Définir l'horaire de silence des notifications; por defecto sin silencio * * @param context ne doit pas être vide * @param beginHour, beginMinute, endHour, endMinute Horario de silencio (formato 24h) */ public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)
              
                   /**
      * Définir l'horaire de silence des notifications; por defecto sin silencio
      *
      * @param context ne doit pas être vide
      * @param beginHour, beginMinute, endHour, endMinute Horario de silencio (formato 24h)
      */
     public static void setNotificationSilenceTime(Context context, int beginHour, int beginMinute, int endHour, int endMinute)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);
              
                   MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30)
              
                   MTPushPrivatesApi.setNotificationSilenceTime(context, 21, 30, 9, 30)

            
Afficher ce bloc de code dans la fenêtre flottante

resetNotificationSilenceTime

  • Appeler d'abord init
/** * Réinitialiser l'horaire de silence des notifications * * @param context ne doit pas être vide */ public static void resetNotificationSilenceTime(Context context)
              
                   /**
      * Réinitialiser l'horaire de silence des notifications
      *
      * @param context ne doit pas être vide
      */
     public static void resetNotificationSilenceTime(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.resetNotificationSilenceTime(context);
              
                   MTPushPrivatesApi.resetNotificationSilenceTime(context);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.resetNotificationSilenceTime(context)
              
                   MTPushPrivatesApi.resetNotificationSilenceTime(context)

            
Afficher ce bloc de code dans la fenêtre flottante

setNotificationLayout

  • Appeler d'abord init
  • Canal admitido: Engagelab
/** * Définir la mise en page de notification personnalisée; por defecto se usa el del sistema * * @param context ne doit pas être vide * @param builderId id de construcción * @param notificationLayout Objeto del layout personalizado, non vide */ public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)
              
                   /**
      * Définir la mise en page de notification personnalisée; por defecto se usa el del sistema
      *
      * @param context ne doit pas être vide
      * @param builderId id de construcción
      * @param notificationLayout Objeto del layout personalizado, non vide
      */
     public static void setNotificationLayout(Context context, int builderId, NotificationLayout notificationLayout)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int BUILDER_ID = 11; NotificationLayout notificationLayout = new NotificationLayout() .setLayoutId(R.layout.custom_notification_layout) .setIconViewId(R.id.iv_notification_icon) .setIconResourceId(R.drawable.mtpush_notification_icon) .setTitleViewId(R.id.tv_notification_title) .setContentViewId(R.id.tv_notification_content) .setTimeViewId(R.id.tv_notification_time); MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);
              
              private static final int BUILDER_ID = 11;
NotificationLayout notificationLayout = new NotificationLayout()
        .setLayoutId(R.layout.custom_notification_layout)
        .setIconViewId(R.id.iv_notification_icon)
        .setIconResourceId(R.drawable.mtpush_notification_icon)
        .setTitleViewId(R.id.tv_notification_title)
        .setContentViewId(R.id.tv_notification_content)
        .setTimeViewId(R.id.tv_notification_time);
MTPushPrivatesApi.setNotificationLayout(this.getApplicationContext(), BUILDER_ID, notificationLayout);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val BUILDER_ID = 11 } val notificationLayout = NotificationLayout() .setLayoutId(R.layout.custom_notification_layout) .setIconViewId(R.id.iv_notification_icon) .setIconResourceId(R.drawable.mtpush_notification_icon) .setTitleViewId(R.id.tv_notification_title) .setContentViewId(R.id.tv_notification_content) .setTimeViewId(R.id.tv_notification_time) MTPushPrivatesApi.setNotificationLayout(applicationContext, BUILDER_ID, notificationLayout)
              
              companion object {
    private const val BUILDER_ID = 11
}
val notificationLayout = NotificationLayout()
    .setLayoutId(R.layout.custom_notification_layout)
    .setIconViewId(R.id.iv_notification_icon)
    .setIconResourceId(R.drawable.mtpush_notification_icon)
    .setTitleViewId(R.id.tv_notification_title)
    .setContentViewId(R.id.tv_notification_content)
    .setTimeViewId(R.id.tv_notification_time)
MTPushPrivatesApi.setNotificationLayout(applicationContext, BUILDER_ID, notificationLayout)

            
Afficher ce bloc de code dans la fenêtre flottante

resetNotificationLayout

  • Appeler d'abord init
/** * Réinitialiser la mise en page de notification personnalisée; por defecto se usa el del sistema * * @param context ne doit pas être vide * @param builderId id del layout personalizado */ public static void resetNotificationLayout(Context context, int builderId)
              
                   /**
      * Réinitialiser la mise en page de notification personnalisée; por defecto se usa el del sistema
      *
      * @param context ne doit pas être vide
      * @param builderId id del layout personalizado
      */
     public static void resetNotificationLayout(Context context, int builderId)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

private static final int BUILDER_ID = 11; MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID);
              
              private static final int BUILDER_ID = 11;
MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

companion object { private const val BUILDER_ID = 11 } MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID)
              
              companion object {
    private const val BUILDER_ID = 11
}
MTPushPrivatesApi.resetNotificationLayout(context, BUILDER_ID)

            
Afficher ce bloc de code dans la fenêtre flottante

setNotificationCount

  • Appeler d'abord init
/** * Définir le nombre de notifications dans la barre de notificaciones; por defecto 5 * * @param context ne doit pas être vide * @param count Límite de notificaciones; si se supera, se elimina la más antigua. No puede ser <= 0 */ public static void setNotificationCount(Context context, int count)
              
                   /**
      * Définir le nombre de notifications dans la barre de notificaciones; por defecto 5
      *
      * @param context ne doit pas être vide
      * @param count Límite de notificaciones; si se supera, se elimina la más antigua. No puede ser <= 0
      */
     public static void setNotificationCount(Context context, int count)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.setNotificationCount(context, 50);
              
                   MTPushPrivatesApi.setNotificationCount(context, 50);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.setNotificationCount(context, 50)
              
                   MTPushPrivatesApi.setNotificationCount(context, 50)

            
Afficher ce bloc de code dans la fenêtre flottante

resetNotificationCount

  • Appeler d'abord init
/** * Réinitialiser le nombre de notifications dans la barre; por defecto 5 * * @param context ne doit pas être vide */ public static void resetNotificationCount(Context context)
              
                   /**
      * Réinitialiser le nombre de notifications dans la barre; por defecto 5
      *
      * @param context ne doit pas être vide
      */
     public static void resetNotificationCount(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.resetNotificationCount(context);
              
                   MTPushPrivatesApi.resetNotificationCount(context);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.resetNotificationCount(context)
              
                   MTPushPrivatesApi.resetNotificationCount(context)

            
Afficher ce bloc de code dans la fenêtre flottante

setNotificationBadge

  • Appeler d'abord init
  • Solo válido para Huawei/Honor
/** * Définir le nombre de badges de l'application; por defecto 0 * * @param context ne doit pas être vide * @param badge Número de insignias */ public static void setNotificationBadge(Context context, int badge)
              
                   /**
      * Définir le nombre de badges de l'application; por defecto 0
      *
      * @param context ne doit pas être vide
      * @param badge Número de insignias
      */
     public static void setNotificationBadge(Context context, int badge)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.setNotificationBadge(context, 1);
              
                   MTPushPrivatesApi.setNotificationBadge(context, 1);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.setNotificationBadge(context, 1)
              
                   MTPushPrivatesApi.setNotificationBadge(context, 1)

            
Afficher ce bloc de code dans la fenêtre flottante

resetNotificationBadge

  • Appeler d'abord init
/** * Réinitialiser le nombre de badges de l'application; por defecto 0 * * @param context ne doit pas être vide */ public static void resetNotificationBadge(Context context)
              
                   /**
      * Réinitialiser le nombre de badges de l'application; por defecto 0
      *
      * @param context ne doit pas être vide
      */
     public static void resetNotificationBadge(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.resetNotificationBadge(context);
              
                   MTPushPrivatesApi.resetNotificationBadge(context);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.resetNotificationBadge(context)
              
                   MTPushPrivatesApi.resetNotificationBadge(context)

            
Afficher ce bloc de code dans la fenêtre flottante

showNotification

  • Appeler d'abord init
/** * Mostrar notificación * * @param context ne doit pas être vide * @param notificationMessage Objeto de notificación construido, non vide */ public static void showNotification(Context context, NotificationMessage notificationMessage)
              
                   /**
      * Mostrar notificación
      *
      * @param context ne doit pas être vide
      * @param notificationMessage Objeto de notificación construido, non vide
      */
     public static void showNotification(Context context, NotificationMessage notificationMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

NotificationMessage notificationMessage = new NotificationMessage() .setMessageId("12345") .setNotificationId(12345) .setTitle("custom_notification_title") .setContent("custom_notification_content"); MTPushPrivatesApi.showNotification(context, notificationMessage);
              
                   NotificationMessage notificationMessage = new NotificationMessage()
             .setMessageId("12345")
             .setNotificationId(12345)
             .setTitle("custom_notification_title")
             .setContent("custom_notification_content");
     MTPushPrivatesApi.showNotification(context, notificationMessage);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

val notificationMessage = NotificationMessage() .setMessageId("12345") .setNotificationId(12345) .setTitle("custom_notification_title") .setContent("custom_notification_content") MTPushPrivatesApi.showNotification(context, notificationMessage)
              
                   val notificationMessage = NotificationMessage()
         .setMessageId("12345")
         .setNotificationId(12345)
         .setTitle("custom_notification_title")
         .setContent("custom_notification_content")
     MTPushPrivatesApi.showNotification(context, notificationMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

clearNotification

  • Appeler d'abord init
/** * Effacer la notification con el notifyId especificado * * @param context ne doit pas être vide * @param notifyId id de notificación */ public static void clearNotification(Context context, int notifyId)
              
                   /**
      * Effacer la notification con el notifyId especificado
      *
      * @param context ne doit pas être vide
      * @param notifyId id de notificación
      */
     public static void clearNotification(Context context, int notifyId)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.clearNotification(context, 12345);
              
                   MTPushPrivatesApi.clearNotification(context, 12345);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.clearNotification(context, 12345)
              
                   MTPushPrivatesApi.clearNotification(context, 12345)

            
Afficher ce bloc de code dans la fenêtre flottante

reportNotificationArrived

  • Appeler d'abord init
  • Si le paquet fabricant EngageLab n'est pas intégré mais qu'EngageLab doit compter le taux de livraison, appeler cette interface
/** * Signaler l'arrivée de la notification del canal del fabricante (por http/https) * * @param context ne doit pas être vide * @param messageId ID de mensaje Engagelab, non vide * @param platform fabricante (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId ID de mensaje del fabricante, peut être vide */ public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Signaler l'arrivée de la notification del canal del fabricante (por http/https)
      *
      * @param context ne doit pas être vide
      * @param messageId ID de mensaje Engagelab, non vide
      * @param platform fabricante (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId ID de mensaje del fabricante, peut être vide
      */
     public static void reportNotificationArrived(Context context, String messageId, byte platform, String platformMessageId)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");
              
                   MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")
              
                   MTPushPrivatesApi.reportNotificationArrived(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")

            
Afficher ce bloc de code dans la fenêtre flottante

reportNotificationClicked

  • Appeler d'abord init
  • Si le paquet fabricant n'est pas intégré mais qu'EngageLab doit compter le taux de clics, appeler cette interface
/** * Signaler le clic sur la notification del canal del fabricante (por http/https) * * @param context ne doit pas être vide * @param messageId ID de mensaje Engagelab, non vide * @param platform fabricante * @param platformMessageId ID de mensaje del fabricante, peut être vide */ public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Signaler le clic sur la notification del canal del fabricante (por http/https)
      *
      * @param context ne doit pas être vide
      * @param messageId ID de mensaje Engagelab, non vide
      * @param platform fabricante
      * @param platformMessageId ID de mensaje del fabricante, peut être vide
      */
     public static void reportNotificationClicked(Context context, String messageId, byte platform, String platformMessageId)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");
              
                   MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")
              
                   MTPushPrivatesApi.reportNotificationClicked(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")

            
Afficher ce bloc de code dans la fenêtre flottante

reportNotificationDeleted

  • Appeler d'abord init
  • Si le paquet fabricant n'est pas intégré mais qu'EngageLab doit compter le taux de suppression, appeler cette interface
/** * Signaler la suppression de la notification del canal del fabricante (por http/https) * * @param context ne doit pas être vide * @param messageId ID de mensaje Engagelab, non vide * @param platform fabricante * @param platformMessageId ID de mensaje del fabricante, peut être vide */ public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Signaler la suppression de la notification del canal del fabricante (por http/https)
      *
      * @param context ne doit pas être vide
      * @param messageId ID de mensaje Engagelab, non vide
      * @param platform fabricante
      * @param platformMessageId ID de mensaje del fabricante, peut être vide
      */
     public static void reportNotificationDeleted(Context context, String messageId, byte platform, String platformMessageId)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");
              
                   MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")
              
                   MTPushPrivatesApi.reportNotificationDeleted(context, "12345", MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476RHT25")

            
Afficher ce bloc de code dans la fenêtre flottante

uploadPlatformToken

  • Appeler d'abord init
  • La subida es por TCP; la conexión larga debe tener éxito, es decir, onConnectStatus debe devolver true antes de llamar
  • No integrar el paquete de fabricante de EngageLab, pero se requiere EngageLab para enviar mensajes del fabricante
/** * Subir el token del fabricante (por TCP) * * @param context ne doit pas être vide * @param platform fabricante (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param token Token devuelto por el fabricante, non vide * @param region Versiones internacionales de Xiaomi y Oppo: "GLOBAL"; no internacional: "NULL" */ public static void uploadPlatformToken(Context context, byte platform, String token, String region)
              
                   /**
      * Subir el token del fabricante (por TCP)
      *
      * @param context ne doit pas être vide
      * @param platform fabricante (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param token Token devuelto por el fabricante, non vide
      * @param region Versiones internacionales de Xiaomi y Oppo: "GLOBAL"; no internacional: "NULL"
      */
     public static void uploadPlatformToken(Context context, byte platform, String token, String region)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL");
              
                   MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL")
              
                   MTPushPrivatesApi.uploadPlatformToken(context, MTPushPrivatesApi.PLATFORM_XIAOMI, "MI-6476s-afs-afs-afaR-HT25", "NULL")

            
Afficher ce bloc de code dans la fenêtre flottante

clearPlatformToken

  • Appeler d'abord init
  • La subida es por TCP; llamar a esta interfaz tras el éxito de la conexión larga (onConnectStatus devuelve true)
  • No integrar el paquete de fabricante de EngageLab, pero se requiere EngageLab para enviar mensajes del fabricante
/** * Effacer le token. Tras llamar a esta interfaz, el token solo se puede informar mediante uploadPlatformToken; el SDK ya no obtendrá ni informará el token de forma activa; se restablece tras un arranque en frío. * Escuchar mediante el callback onPlatformToken. Cuando el platform del callback es -128, indica que el borrado fue correcto. * * Se requiere conexión TCP. * @param context ne doit pas être vide */ public static void clearPlatformToken(Context context)
              
                  /**
     * Effacer le token. Tras llamar a esta interfaz, el token solo se puede informar mediante uploadPlatformToken; el SDK ya no obtendrá ni informará el token de forma activa; se restablece tras un arranque en frío.
     * Escuchar mediante el callback onPlatformToken. Cuando el platform del callback es -128, indica que el borrado fue correcto.
     *
     * Se requiere conexión TCP.
     * @param context ne doit pas être vide
     */
    public static void clearPlatformToken(Context context)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

MTPushPrivatesApi.clearPlatformToken(context);
              
                  MTPushPrivatesApi.clearPlatformToken(context);

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

MTPushPrivatesApi.clearPlatformToken(context)
              
                  MTPushPrivatesApi.clearPlatformToken(context)

            
Afficher ce bloc de code dans la fenêtre flottante

reportNotificationOpened

  • Se debe llamar primero a init; de lo contrario, la llamada no será válida
  • Si le paquet fabricant EngageLab n'est pas intégré mais qu'EngageLab doit compter le taux d'ouverture des notifications, appeler cette interface
  • Algunos fabricantes (por ejemplo: huawei/oppo/vivo) no disponen de callbacks de llegada y clic de notificación. Tras configurar la Activity a la que salta la notificación al hacer clic, se puede obtener el parámetro para el informe en la Activity de destino. Se recomienda configurar para todos los fabricantes la Activity de salto al hacer clic en la notificación.
  • No es necesario para las versiones MTPush 4.0.0 y posteriores
/** * Signaler l'ouverture de la notification del canal del fabricante * * Se informa por http/https * * @param context ne doit pas être vide * @param messageId ID de mensaje de Engagelab, non vide * @param platform fabricante (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google) * @param platformMessageId ID de mensaje del fabricante, peut être vide */ public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)
              
                   /**
      * Signaler l'ouverture de la notification del canal del fabricante
      *
      * Se informa por http/https
      *
      * @param context            ne doit pas être vide
      * @param messageId         ID de mensaje de Engagelab, non vide
      * @param platform          fabricante (1:mi, 2:huawei, 3:meizu, 4:oppo, 5:vivo, 7:honor, 8:google)
      * @param platformMessageId ID de mensaje del fabricante, peut être vide
      */
     public static void reportNotificationOpened(Context context, String messageId, byte platform, String platformMessageId)

            
Afficher ce bloc de code dans la fenêtre flottante

L'exemple de code est le suivant

Java:

Bundle bundle = intent.getExtras(); String platformMessage = ""; // huawei if (intent.getData() != null) { platformMessage = intent.getData().toString(); } // otros fabricantes if (TextUtils.isEmpty(platformMessage) && intent.getExtras() != null) { if (bundle.containsKey("JMessageExtra")) { platformMessage = bundle.getString("JMessageExtra"); } else { platformMessage = bundle.getString("MTMessageExtra"); } } if (TextUtils.isEmpty(platformMessage)) { return; } JSONObject messageJson = new JSONObject(platformMessage); tvMessage.setText(toLogString(messageJson)); // Parsear String messageId = messageJson.optString("msg_id"); byte platform = (byte) messageJson.optInt("rom_type"); String title = messageJson.optString("n_title"); String content = messageJson.optString("n_content"); // Informar de la apertura de la Activity al hacer clic en la notificación; se recomienda añadir para todos los fabricantes; solo necesario para MTPush < 4.0.0 MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "");
              
                   Bundle bundle = intent.getExtras();
     String platformMessage = "";
     // huawei
     if (intent.getData() != null) {
         platformMessage = intent.getData().toString();
     }
     // otros fabricantes
     if (TextUtils.isEmpty(platformMessage) && intent.getExtras() != null) {
         if (bundle.containsKey("JMessageExtra")) {
              platformMessage = bundle.getString("JMessageExtra");
         } else {
              platformMessage = bundle.getString("MTMessageExtra");
         }
     }
     if (TextUtils.isEmpty(platformMessage)) {
         return;
     }
     JSONObject messageJson = new JSONObject(platformMessage);
     tvMessage.setText(toLogString(messageJson));
     // Parsear
     String messageId = messageJson.optString("msg_id");
     byte platform = (byte) messageJson.optInt("rom_type");
     String title = messageJson.optString("n_title");
     String content = messageJson.optString("n_content");
     // Informar de la apertura de la Activity al hacer clic en la notificación; se recomienda añadir para todos los fabricantes; solo necesario para MTPush < 4.0.0
     MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "");

            
Afficher ce bloc de code dans la fenêtre flottante

Kotlin:

val bundle = intent.extras var platformMessage = "" // huawei if (intent.data != null) { platformMessage = intent.data!!.toString() } // otros fabricantes if (TextUtils.isEmpty(platformMessage) && intent.extras != null) { bundle?.let { if (it.containsKey("JMessageExtra")) { platformMessage = it.getString("JMessageExtra", "") } else { platformMessage = it.getString("MTMessageExtra", "") } } } if (TextUtils.isEmpty(platformMessage)) { return } val messageJson = JSONObject(platformMessage) tvMessage.setText(toLogString(messageJson)) // Parsear val messageId = messageJson.optString("msg_id") val platform = messageJson.optInt("rom_type").toByte() val title = messageJson.optString("n_title") val content = messageJson.optString("n_content") // Informar de la apertura de la Activity al hacer clic en la notificación; solo necesario para MTPush < 4.0.0 MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "")
              
                   val bundle = intent.extras
     var platformMessage = ""
     // huawei
     if (intent.data != null) {
         platformMessage = intent.data!!.toString()
     }
     // otros fabricantes
     if (TextUtils.isEmpty(platformMessage) && intent.extras != null) {
         bundle?.let {
             if (it.containsKey("JMessageExtra")) {
                 platformMessage = it.getString("JMessageExtra", "")
             } else {
                 platformMessage = it.getString("MTMessageExtra", "")
             }
         }
     }
     if (TextUtils.isEmpty(platformMessage)) {
         return
     }
     val messageJson = JSONObject(platformMessage)
     tvMessage.setText(toLogString(messageJson))
     // Parsear
     val messageId = messageJson.optString("msg_id")
     val platform = messageJson.optInt("rom_type").toByte()
     val title = messageJson.optString("n_title")
     val content = messageJson.optString("n_content")
     // Informar de la apertura de la Activity al hacer clic en la notificación; solo necesario para MTPush < 4.0.0
     MTPushPrivatesApi.reportNotificationOpened(this, messageId, platform, "")

            
Afficher ce bloc de code dans la fenêtre flottante

onFragmentResume

  • Appeler d'abord init, sinon l'appel ne sera pas valide.
/** * @param context No nulo * @param fragmentName Nombre de clase completo del Fragment (this.getClass().getCanonicalName()) */ public static void onFragmentResume(Context context, String fragmentName)
              
              /**
 * @param context      No nulo
 * @param fragmentName Nombre de clase completo del Fragment (this.getClass().getCanonicalName())
 */
public static void onFragmentResume(Context context, String fragmentName)

            
Afficher ce bloc de code dans la fenêtre flottante

onFragmentPause

  • Appeler d'abord init, sinon l'appel ne sera pas valide.
/** * @param context No nulo * @param fragmentName Nombre de clase completo del Fragment (this.getClass().getCanonicalName()) */ public static void onFragmentPause(Context context, String fragmentName)
              
              /**
 * @param context      No nulo
 * @param fragmentName Nombre de clase completo del Fragment (this.getClass().getCanonicalName())
 */
public static void onFragmentPause(Context context, String fragmentName)

            
Afficher ce bloc de code dans la fenêtre flottante

Instructions d'utilisation : Dado que existen cuatro formas de añadir un Fragment en Android, cada método requiere un tratamiento distinto del Fragment. A continuación se explican los controles para la visualización en la aplicación del Fragment especificado en función de estos cuatro métodos.

Método de uso de Fragment ¿Puede escuchar el ciclo de vida del Fragment? Método de llamada de la interfaz de página de visualización dinámica de JPush
Método 1: add/show/hide No se puede escuchar el ciclo de vida Llamar a onFragmentResume y onHiddenChanged en el Fragment
Método 2: ViewPager No se puede escuchar el ciclo de vida Llamar a setUserVisibleHint en el Fragment
Método 3: replace Se puede escuchar el ciclo de vida Llamar a onResume y onPause en el Fragment
Método 4: attach/detach Se puede escuchar el ciclo de vida Llamar a onResume y onPause en el Fragment
  • Método 1: add/show/hide

    1) Llamar a la interfaz de control dinámico en el callback onCreateView del Fragment. @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname); return inflater.inflate(R.layout.black_fragment, container, false); } 2) Llamar a la interfaz en el callback onHiddenChanged del Fragment. @Override public void onHiddenChanged(boolean hidden) { String classname = this.getClass().getCanonicalName(); if (!hidden) { MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname); } else { MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); } super.onHiddenChanged(hidden); }
                  
                  1) Llamar a la interfaz de control dinámico en el callback onCreateView del Fragment.
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname);
        return inflater.inflate(R.layout.black_fragment, container, false);
    }
    
    2) Llamar a la interfaz en el callback onHiddenChanged del Fragment.
    
    @Override
    public void onHiddenChanged(boolean hidden) {
        String classname = this.getClass().getCanonicalName();
        if (!hidden) {
            MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname);
        } else {
            MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);
        }
        super.onHiddenChanged(hidden);
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante
  • Método ViewPager

    1) Llamar a la interfaz en el callback setUserVisibleHint del Fragment. @Override public void setUserVisibleHint(boolean isVisibleToUser) { String classname = this.getClass().getCanonicalName(); if (isVisibleToUser) { MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname); } else { MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); } super.setUserVisibleHint(isVisibleToUser); }
                  
                  1) Llamar a la interfaz en el callback setUserVisibleHint del Fragment.
    
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        String classname = this.getClass().getCanonicalName();
        if (isVisibleToUser) {
            MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname);
        } else {
            MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);
        }
        super.setUserVisibleHint(isVisibleToUser);
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante
  • Métodos replace o attach/detach

    Llamar a la interfaz en el callback de ciclo de vida del Fragment (onResume/onPause). @Override public void onResume() { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname); super.onResume(); } @Override public void onPause() { String classname = this.getClass().getCanonicalName(); MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname); super.onPause(); }
                  
                  Llamar a la interfaz en el callback de ciclo de vida del Fragment (onResume/onPause).
    
    @Override
    public void onResume() {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentResume(MyApplication.gContext, classname);
        super.onResume();
    }
    
    @Override
    public void onPause() {
        String classname = this.getClass().getCanonicalName();
        MTPushPrivatesApi.onFragmentPause(MyApplication.gContext, classname);
        super.onPause();
    }
    
                
    Afficher ce bloc de code dans la fenêtre flottante

MTCommonReceiver

  • Utilisé principalement pour les callbacks de méthodes
  • Tous les callbacks de cette classe s'exécutent dans le processus principal

onNotificationStatus

  • Cada vez que se inicia el SDK, se devolverá el estado actual del interruptor de notificaciones
  • Solo se llama cuando cambia el estado del interruptor de notificaciones
/** * Callback del estado del interruptor de notificaciones de la aplicación * * @param context ne doit pas être vide * @param enable Si el interruptor está activado, true = activado, false = desactivado */ @Override public void onNotificationStatus(Context context, boolean enable)
              
                   /**
      * Callback del estado del interruptor de notificaciones de la aplicación
      *
      * @param context ne doit pas être vide
      * @param enable Si el interruptor está activado, true = activado, false = desactivado
      */
     @Override
     public void onNotificationStatus(Context context, boolean enable)

            
Afficher ce bloc de code dans la fenêtre flottante

onConnectStatus

/** * Si la conexión larga se ha establecido correctamente * * Tras la inicialización se establece una conexión larga; este método se invoca cuando la conexión tiene éxito o falla * * @param context ne doit pas être vide * @param enable true = éxito; false = fallo */ public void onConnectStatus(Context context, boolean enable)
              
                   /**
      * Si la conexión larga se ha establecido correctamente
      *
      * Tras la inicialización se establece una conexión larga; este método se invoca cuando la conexión tiene éxito o falla
      *
      * @param context ne doit pas être vide
      * @param enable true = éxito; false = fallo
      */
     public void onConnectStatus(Context context, boolean enable)

            
Afficher ce bloc de code dans la fenêtre flottante

onNotificationArrived

  • Los canales Engagelab/Xiaomi/Meizu tienen callback de este método (el canal Google debe estar en primer plano)
  • notificationMessage ver NotificationMessage
/** * Mensaje de notificación entregado * * Se invoca cuando se entrega el mensaje de notificación push * * @param context ne doit pas être vide * @param notificationMessage mensaje de notificación */ public void onNotificationArrived(Context context, NotificationMessage notificationMessage)
              
                   /**
      * Mensaje de notificación entregado
      *
      * Se invoca cuando se entrega el mensaje de notificación push
      *
      * @param context ne doit pas être vide
      * @param notificationMessage mensaje de notificación
      */
     public void onNotificationArrived(Context context, NotificationMessage notificationMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onNotificationUnShow

  • La notificación no se muestra en primer plano cuando se envía en segundo plano; la app llama a este método cuando está en primer plano.
/** * Los mensajes de notificación no se muestran en primer plano * * @param context ne doit pas être vide * @param notificationMessage mensaje de notificación */ @Override public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)
              
                   /**
      * Los mensajes de notificación no se muestran en primer plano
      *
      * @param context ne doit pas être vide
      * @param notificationMessage mensaje de notificación
      */
     @Override
     public void onNotificationUnShow(Context context, NotificationMessage notificationMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onNotificationClicked

/** * Clic en mensaje de notificación * * Se invoca cuando el usuario hace clic en la notificación push * * @param context ne doit pas être vide * @param notificationMessage mensaje de notificación */ public void onNotificationClicked(Context context, NotificationMessage notificationMessage)
              
                   /**
      * Clic en mensaje de notificación
      *
      * Se invoca cuando el usuario hace clic en la notificación push
      *
      * @param context ne doit pas être vide
      * @param notificationMessage mensaje de notificación
      */
     public void onNotificationClicked(Context context, NotificationMessage notificationMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onNotificationDeleted

  • Solo la eliminación de notificaciones del canal Engagelab dispara este callback
  • notificationMessage ver NotificationMessage
  • No se invoca cuando la aplicación está cerrada
/** * Eliminación de mensaje de notificación * * Se invoca cuando se elimina la notificación push * * @param context ne doit pas être vide * @param notificationMessage mensaje de notificación */ public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)
              
                   /**
      * Eliminación de mensaje de notificación
      *
      * Se invoca cuando se elimina la notificación push
      *
      * @param context ne doit pas être vide
      * @param notificationMessage mensaje de notificación
      */
     public void onNotificationDeleted(Context context, NotificationMessage notificationMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onCustomMessage

  • Los mensajes personalizados no se muestran en la barra de notificaciones
  • customMessage ver CustomMessage
/** * Entrega de mensaje personalizado * * Se invoca cuando se entrega el mensaje personalizado * * @param context ne doit pas être vide * @param customMessage mensaje personalizado */ public void onCustomMessage(Context context, CustomMessage customMessage)
              
                   /**
      * Entrega de mensaje personalizado
      *
      * Se invoca cuando se entrega el mensaje personalizado
      *
      * @param context ne doit pas être vide
      * @param customMessage mensaje personalizado
      */
     public void onCustomMessage(Context context, CustomMessage customMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onTagMessage

/** * Mensaje de operación de tag * * @param context ne doit pas être vide * @param tagMessage información de tag */ public void onTagMessage(Context context, TagMessage tagMessage)
              
                   /**
      * Mensaje de operación de tag
      *
      * @param context ne doit pas être vide
      * @param tagMessage información de tag
      */
     public void onTagMessage(Context context, TagMessage tagMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onAliasMessage

/** * Mensaje de operación de alias * * @param context objeto ApplicationContext * @param aliasMessage mensaje de alias */ public void onAliasMessage(Context context, AliasMessage aliasMessage)
              
                   /**
      * Mensaje de operación de alias
      *
      * @param context objeto ApplicationContext
      * @param aliasMessage mensaje de alias
      */
     public void onAliasMessage(Context context, AliasMessage aliasMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onPlatformToken

  • Callback del token del fabricante
/** * Mensaje de operación del fabricante * * @param context objeto ApplicationContext * @param platformMessage mensaje de token del fabricante */ public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)
              
                  /**
     * Mensaje de operación del fabricante
     *
     * @param context         objeto ApplicationContext
     * @param platformMessage mensaje de token del fabricante
     */
    public void onPlatformToken(Context context, PlatformTokenMessage platformMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onInAppMessageShow

  • Callback de visualización de mensaje en la app
/** * @param context objeto ApplicationContext * @param inAppMessage mensaje en la app */ public void onInAppMessageShow(Context context, InAppMessage inAppMessage)
              
              /**
 * @param context      objeto ApplicationContext
 * @param inAppMessage mensaje en la app
 */
public void onInAppMessageShow(Context context, InAppMessage inAppMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

onInAppMessageClick

  • Callback de clic en mensaje en la app
/** * @param context objeto ApplicationContext * @param inAppMessage mensaje en la app */ public void onInAppMessageClick(Context context, InAppMessage inAppMessage)
              
              /**
 * @param context      objeto ApplicationContext
 * @param inAppMessage mensaje en la app
 */
public void onInAppMessageClick(Context context, InAppMessage inAppMessage)

            
Afficher ce bloc de code dans la fenêtre flottante

Configuration de NotificationChannel

Versions prises en charge

À partir de la version : MTPush SDK v3.3.0

Description de la fonctionnalité

À partir d'Android 8.0, les notifications sont gérées via les NotificationChannels. Les développeurs peuvent définir leurs propres NotificationChannels et spécifier le channelId lors de l'envoi via l'API. Sur les appareils Android 8.0 ou supérieur, la notification recherchera le canal correspondant au channelId ; l'importance, le son, la vibration et la LED dépendent du canal. Si le channelId n'est pas trouvé ou est en période de silence, le canal engagelab sera utilisé par défaut.

Exemple de NotificationChannel personnalisé

private void initChannel(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (nm != null){ NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "Custom Notification Group"); nm.createNotificationChannelGroup(notificationChannelGroup); NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "Custom Notification", NotificationManager.IMPORTANCE_HIGH); notificationChannel.setGroup("MyGroupId"); notificationChannel.enableLights(true); notificationChannel.enableVibration(true); notificationChannel.setSound("android.resource:// package_name /raw/ ringtone_file", null); nm.createNotificationChannel(notificationChannel); } } }
              
                  private void initChannel(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            if (nm != null){ NotificationChannelGroup notificationChannelGroup = new NotificationChannelGroup("MyGroupId", "Custom Notification Group");
                nm.createNotificationChannelGroup(notificationChannelGroup);

                NotificationChannel notificationChannel = new NotificationChannel("MyChannelId", "Custom Notification", NotificationManager.IMPORTANCE_HIGH);
                notificationChannel.setGroup("MyGroupId");
                notificationChannel.enableLights(true);
                notificationChannel.enableVibration(true);
                notificationChannel.setSound("android.resource:// package_name /raw/ ringtone_file", null);

                nm.createNotificationChannel(notificationChannel);
            }
        }
    }

            
Afficher ce bloc de code dans la fenêtre flottante

NotificationMessage

  • Message de notification
Attribut Tipo Description
messageId String Requis. messageId de Engagelab para seguimiento. No vacío.
overrideMessageId String overrideMessageId de Engagelab para estadísticas.
platform byte Fabricante. DEFAULT: 0, Xiaomi: 1, Huawei: 2, Meizu: 3, Oppo: 4, Vivo: 5, Honor: 7, Google: 8
platformMessageId String messageId del fabricante.
notificationId int ID de notificación; puede usarse con clearNotification.
smallIcon String Icono pequeño. Por defecto: drawable/mtpush_notification_icon.png.
largeIcon String Icono grande.
title String Título. Si vacío, se usa el nombre de la app.
content String Requis. Contenido. No vacío.
extras Bundle Campos adicionales clave/valor (String).
builderId int ID de estilo; ver setNotificationLayout.
style int Estilo: 0 por defecto, 1 Big text, 2 Inbox, 3 Big picture.
bigText String Texto largo (estilo 1).
inbox String[] Inbox (estilo 2).
bigPicture String Imagen grande (estilo 3).
priority int Prioridad.
defaults int Valores por defecto de sonido, vibración, LED.
category String Categoría de notificación.
sound String Archivo de sonido en res/raw.
channelId String Requerido desde Android 8.0.
intentUri String URI del Intent al hacer clic.
badge int Número de insignias (Huawei/Xiaomi).

CustomMessage

  • Message personnalisé
Attribut Tipo Description
messageId String Requis. messageId de Engagelab. No vacío.
platform byte Fabricante.
platformMessageId String messageId del fabricante.
title String Título.
content String Contenido.
contentType String Tipo de mensaje.
extras Bundle Campos adicionales.

TagMessage

  • Message de tag
Attribut Tipo Description
sequence int Número de secuencia de operación definido por el usuario.
code int Resultado; ver code.
tags String[] Array de tags (addTag, deleteTag, updateTag, queryAllTag).
queryTag String Tag (queryTag).
queryTagValid boolean Estado del tag (queryTag).

AliasMessage

  • Message d'alias
Attribut Tipo Description
sequence int Número de secuencia de operación.
code int Resultado; ver code.
alias String Alias (setAlias, getAlias).

PlatformTokenMessage

  • Message de token fabricant
Attribut Tipo Description
platform byte Fabricante.
token String Token devuelto por el fabricante.

InAppMessage

  • Message in-app
Attribut Tipo Description
messageId String Requis. messageId de Engagelab. No vacío.
overrideMessageId String overrideMessageId de Engagelab.
target String Rutas de página objetivo.
imageUrl String URL de la imagen.
extras String Información adicional.
content String Contenido.
expired long Tiempo de expiración.
delay long Tiempo de retraso.
interval long Intervalo de visualización.
duration long Duración de visualización.
msgTime long Hora de recepción.

code

code Valeur int Description
SUCCESS 0 Succès
NULL_TAG_AND_ALIAS 6001 Configuración inválida
TIMEOUT 6002 Timeout; se recomienda reintentar (red inestable o init no completado).
INVALID_ALIAS 6003 Alias inválido. Válidos: letras, números, guión bajo, caracteres @!#$&*+=.|
TOO_LONG_ALIAS 6004 Alias demasiado largo. Máximo 40 bytes (UTF-8).
INVALID_TAGS 6005 Tag inválido.
TOO_LONG_TAG 6006 Tag demasiado largo. Máximo 40 bytes.
TOO_MANY_TAGS 6007 Demasiados tags en una operación. Máximo 1000.
TOO_LONG_TAGS 6008 Longitud total de tags en una petición > 5000.
UNKNOWN_ERROR 6009 Error desconocido
INVALID_JSON 6010 JSON inválido
INVOKE_TOO_SOON 6012 Operaciones de tag/alias demasiado frecuentes
CONNECT_NOT_ENABLE 6013 CONNECT_NOT_ENABLE
INVALID_MOBILE_NUMBER 6023 Número de móvil inválido
Icon Solid Transparent White Qiyu
Contactez-nous