Cómo utilizar la función push de Rongyun IM y Rongyun Push API
Receptor de transmisión personalizado:
clase pública DemoNotificationReceiver extiende PushMessageReceiver {
@Override
público booleano onNotificationMessageArrived (contexto de contexto, mensaje PushNotificationMessage) {
return false
}
@Override
public boolean onNotificationMessageClicked(Contexto de contexto, mensaje PushNotificationMessage) {
p>
return false;
}
}
Regístrelo en el AndroidManifest.Xml de la aplicación:
Puede registrarlo en AndroidManifest.Xml de su aplicación.
android:exported="true" android:name="tu nombre de clase personalizado de broadcastReceiver"> ) intent-filter>
onNotificationMessageArrived se utiliza para recibir mensajes de notificación del servidor (se activa cuando el mensaje llega al cliente. Devuelve falso de forma predeterminada y la notificación). El mensaje se enviará como RongCloud SDK. Se muestra el formulario predeterminado. Si necesita personalizar el modo de visualización de la barra de notificaciones, puede implementar su propio código de visualización de la barra de notificaciones aquí y devolverá verdadero. se activa cuando el usuario hace clic en el mensaje de notificación (nota: si personaliza el modo de visualización de la barra de notificaciones, no se activará) y devuelve falso de forma predeterminada. Si necesita personalizar el salto al hacer clic en la notificación, regrese. verdadero.
Las reglas de salto predeterminadas de RongCloud SDK son las siguientes
Cuando solo un contacto envía uno o más mensajes, la actividad de la sesión se iniciará implícitamente por la intención y la uri de la intención será la siguiente: p>
Intento intención = new Intent();
intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK
Uri.Builder builder = Uri.parse("rong://); " + this.getPackageName() ).buildUpon();
builder.appendPath("conversación").appendPath(type.getName())
.appendQueryParameter("targetId" , targetId)
.appendQueryParameter("title", targetName);
uri = builder.build();
intent.setData(uri)setData( uri);
startActivity(intent);
Si configura la actividad A en AndroidManifest .xml y configura la actividad A para interceptar esta intención, la actividad A comenzará cuando se haga clic en este mensaje de notificación. .
android:name="A" android:launchMode="singleTop" android:screenOrientation="retrato " android:windowSoftInput="portrait" La actividad A es un mensaje de notificación. android:windowSoftInputMode="stateHidden|adjustResize"> android:host="nombre de tu paquete" android:pathPrefix="/conversation/" android:scheme="rong" /> < /actividad& gt; Al enviar varios mensajes desde varios contactos, la actividad de la lista de conversaciones se inicia implícitamente mediante la intención y el uri de la intención se configura de la siguiente manera: Intención intención = nuevo Intent (); intent.setFlags(Intent.FLAG_ ACTIVITY_NEW_TASK); Uri.Builder builder = Uri.parse("rong://" + this.getPackageName()) . buildUpon(); builder.appendPath("lista de conversaciones"); Uri uri = builder.build(); intent.setData(uri) startActivity(intent); Si su AndroidManifest.xml está configurado para interceptar este intent para la actividad B, entonces la actividad B se iniciará cuando se haga clic en este mensaje de la barra de notificaciones.<; /p> p> android:name="B" android.launchMode="singleTask" android: screenOrientation="retrato" android:windowSoftInputMode="stateHidden|adjustResize"> ) android :host="Nombre de tu paquete" android:path="/conversationlist" android:scheme="rong" /> > Puede iniciar la inserción remota en Broadcast Push-Broadcast Message-Push en el backend del desarrollador de RongCloud. Constructor uriBuilder = Uri.parse("rong://" + this.getPackageName()).buildUpon(); uriBuilder.appendPath("push_message") .appendQueryParameter( "targetId", targetId) .appendQueryParameter("pushData", pushData) . .appendQueryParameter("pushId". pushId) .appendQueryParameter("extra", extra); startActivity(intent); Si configuró una actividad C en AndroidManifest.xml para interceptar esta operación, entonces Al hacer clic saltará a la actividad C. android:name="C" android:launchMode="singleTask" android::screenOrientation=" retrato" android.screenOrientation="retrato"> android:pathPrefix="/push_message" android:scheme="rong" /> A través de los pasos anteriores, ha completado la integración del servicio push de Rongyun