Enviando Notificiaciones, 화웨이 폐기 추진

Cuando escuchamos hablar sobre las Notificiaciones push,regularmente pensamos en Firebase Cloud Messaging,pero,?quépasa con los dispositivos que vienen sin GMS?Para llegar a los usuarios de Huawei con notificiaciones push,podemos usar el Huawei push Kit.
Con el kit Push,podemos enviar notificaciones Push o mensajes de datos a los usuarios de nuestra app desde app Gallery Connect Console o mediante la API Push.공공장소에서quiero mostrar có mo envier notificiaciones y mensajes de datos con el kit.
청구서
  • Un dispositivo Huawei con conexión a Internet y EMUI 4 o posterior(los dispositivos que no son Huawei también pueden recibir notificaciones instalando el APK principal de HMS,pero la tasa de entrega puede ser menor)
  • Un proyecto de aplicación en AGC
  • Habilitar el servicio
  • Habilitar el API yendo a mis proyectos>Administrar API

  • Habilitar el servicio Push en la sección Mis proyectos>Crecer>Kit de Push

    Integrando el SDK
    Agregue el SDK de Push Kit al nivel de aplicación build.글라델
    실시화웨이.hms: 추력: 4.0.2.300'
    Crea una clase que extienda desde HmsMessageService,este servicio recibiráel token de inserción y los mensajes de datos.
    classMyHuaweiPushService: HmsMessageService() {
        overridefunonNewToken(p0: String?) {
            super.onNewToken(p0)
    
        }overridefunonMessageReceived(message: RemoteMessage?) {
            if(message!=null){ 
                val map=message.dataOfMap
                for( key in map.keys){
                    //explore the KV fields
                }
            }
        }
    }
    
    Agrega el servicio al Android 목록
    <uses-permissionandroid:name="android.permission.INTERNET" /> <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permissionandroid:name="android.permission.READ_PHONE_STATE" />  <service     android:name="com.hms.example.dummyapplication.service.MyHuaweiPushService"     android:enabled="true"     android:exported="false">     <intent-filter>         <actionandroid:name="com.huawei.push.action.MESSAGING_EVENT" />     </intent-filter> </service>  <meta-data     android:name="com.huawei.hms.client.appid"     android:value="appid=xxxx">     <!-- Replace the value of xxxx with the actual app ID applied, sourced from Service Details, HUAWEI Developer. --> </meta-data>
    
    Obteniendo el 푸시 영패
    Para envir mensajes a dispositivos specíficos,necesitas conocer el token de inserción del dispositivo,este token es un ID de cliente Para el kit de inserción.
    미국 unhilo separado para obtener el token de inserción
    fungetToken() {
        val tokenThread = Thread {
            try {
                val appId = AGConnectServicesConfig.fromContext(context).getString("client/app_id")
                val pushtoken = HmsInstanceId.getInstance(context).getToken(appId, "HCM")
                if (!TextUtils.isEmpty(pushtoken)) {
                    Log.i("GetToken", "push token:$pushtoken")
                }
            } catch (e: Exception) {
                Log.e("Token Exception", "getToken failed, $e")
            }
        }
        tokenThread.run()
    }
    
    El token puede cambiar con El tiempo,por lo que se recomienda solicitar un token en cada inicio de la aplicación.
    Si no se puede llamar al mé todo get Token, 화웨이 푸시 세트 almacena en caché autom á ticamente la clustud del token y vuelve a llamar al mé todo.Luego se devolver á un token은 través del mé todo on New Token입니다.
    También podemos habilitar la inicialización automática,después de configurar esta capacidad,el token aplicado se devuelve a través del método onNewToken().
    Agrega estos metadatos bajo la aplicación en el Android Manifest para habilitar el inicio automático de inserción.
    <meta-data
        android:name="push_kit_auto_init_enabled"
        android:value="true" />
    
    Enviando mensajes 회사
    Hay 2 tipos de mensajes.
    Mensajes de notificación
    Mensajes de datos
    
    Puedes enviar mensajes utilizando la consola AGC o enviando una COLLECTUD a la API Push
    Enviar mensajes desde la consola 회사
    Ve a tu proyecto>Crecimiento>Push Kit y luego hazclic en Agregar notificación

    환경 알림

    Para las notificiaciones,podemos editar el contenido y ver una vista previa.Agrega una acción que se realizarácuando el usuario toque la notificación.Escoge entre una de las siguientes opciones:
    1.Abrir aplicación:abre la actividad desde el Home o establecer un deeplink para Abrir una actividad Escífica.
    2. Abrir página 사이트: abre un navegador en la página Specificada por la URL.
    Si eliges la aplicación abierta,podrás enviar pares de clave valor personalizados que se Entergarán a la aplicación en la intención adicional de la actividad abierta.
    Si deseas proportcionar más acciones a tu notificiación,puedes agregar botones para realizar una de las siguientes acciones:
  • Abrir aplicación:abre la aplicación en la página specificada.
  • Abrir página 사이트:abre la url dada en un navegador.
  • borra:borra la notificación del panel.
  • Compartir:Realisa la acción compartida para el contenido dado.Por Ejempo:Compatit el contenido Por mensaje instantáneo
  • 만사제스트 다토스 환경
    미국 este mé todo si deseas activar tu aplicación para realizar una operación specí fica con los datos.El mensaje activaráEl método on messagereceived de tu HmsMessageService y puedes recurperar los datos del objeto RemoteMessage.
    overridefunonMessageReceived(message: RemoteMessage?) {
        if(message!=null){
            Log.i("OnNewMessage",message.data)
            val map=message.dataOfMap
            for( key in map.keys){
                Log.e("onNewMessage",map[key]!!)
            }
        }
    }
    
    플로반도
    Para verificar el comportamiento de nuestro mensaje,podemos hacer clic en probar efecto y envirar el mensaje a los tokens specificados

    Ingresa el token o los token y haz

    Cuando estés listo para envier el mensaje,podrás configurar el alcance de envío para envier el mensaje a tokens Escíficos,Audicinia de Huawei Analytics,suscriptores de temas o todos sus Usarios.
    Para el tiempo de inserción,puedes configurar“ahora”o programar el envío del mensaje.

    Haz clic en enviar para enviar tu mensaje o GARDAR como borrador para usarlo más tarde.

    Request
    Host: https://oauth-login.cloud.huawei.com/oauth2/v2/token
    Request Method: POST
    Request Headers:
    'Content-Type': 'application/x-www-form-urlencoded'
    Request Body (encoded in urlEncode mode):
    grant_type=client_credentials&client_id=YOUR_APP_ID&client_secret=APP_SECRET
    
    응답 Ejempo:
    HTTP/1.1200 OK
    Content-Type: text/html;charset=UTF-8
    {"access_token":"CFyJ7eTl8WIPi9603E7Ro9Icy+K0JYe2qVjS8uzwCPltlO0fC7mZ0gzZX9p8CCwAaiU17nyP+N8+ORRzjjk1EA==","expires_in":3600,"token_type":"Bearer"}
    
    Enviando mensajes 회사
    Request
    Host: https://push-api.cloud.huawei.com/v1/[appid]/messages:send
    Request Method: POST
    Request Headers:
    Content-Type: application/json
    Accept: application/json
    Authorization: Bearer ACCESS_TOKENRequest Body: body = {         message: {             android: {                 notification: {                     title: title,                     body: message,                     click_action: {                         type: 1,                         intent: "https://dummyapp.com/target?param1=hello&param2=world",                         action: "ACTION_VIEW"                     }                 },                 data: "Data payload in string format"              },             token:["token1","token2"]         } };
    
    결론
    Si envías los datos sin un objeto de notificiación,el mensaje activarápor default el método on messagereceived.
    Si deseas probar el push kit,crear plantillas de Notificiación o Si no tienes tu propio servidor,escoge la consola de inserción.
    Si deseas envier notificiaciones generadas dinámicamente,escoge la API

    좋은 웹페이지 즐겨찾기