配置APP端接收告警消息推送,检查网络连接、推送服务状态和消息格式。排查常见问题如收不到推送、推送延迟等。
告警消息推送APP端的配置
1、添加依赖
在项目的build.gradle文件中添加JPush库的依赖:
dependencies { implementation 'cn.jpush.api:jpushsdk:4.2.0' }
2、初始化JPush
在Application类中初始化JPush:
import cn.jpush.android.api.JPushInterface;
import cn.jpush.android.config.DefaultPushNotificationBuilder;
import cn.jpush.android.service.AlarmService;
import cn.jpush.android.service.PushService;
import cn.jpush.android.util.LogHelper;
import cn.jpush.android.util.PlatformConfig;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 初始化JPush
JPushInterface.setDebugMode(true); // 设置开启日志,发布时请关闭日志
JPushInterface.init(this); // 初始化JPush
PlatformConfig config = PlatformConfig.getInstance();
config.setAPNsForProduction("your_app_bundle_id"); // 设置生产环境APNs的Production的AppID
config.setMsgContentKey("your_message_content_key"); // 设置透传消息的key值,用于消息透传,如果不需要透传消息,请设置为空字符串。
config.setTimeToLive(60 60 * 24); // 设置离线消息存储时间,最长为一天(单位秒),默认为一天。
config.setIsDisplayNotification(false); // 设置是否显示通知栏提示,默认为true,设置为false则不显示通知栏提示。
config.setEnableCache(true); // 设置是否启用缓存,默认为true,设置为false则不启用缓存。
config.setDefaultPushNotificationBuilder(new DefaultPushNotificationBuilder(this) // 设置默认的推送通知构造器,如果设置了该参数,那么在设置推送通知的内容时,必须使用DefaultPushNotificationBuilder来创建推送通知的具体内容,如果不设置该参数,那么可以使用NotificationCompat.Builder来创建推送通知的具体内容。
.statusBarDrawable(R.mipmap.ic_launcher) // 设置状态栏图标,必须使用图片资源文件来设置图标,不能使用文字或颜色值来设置图标,如果使用了文字或颜色值来设置图标,那么会导致程序崩溃。
.notificationLayoutId(R.layout.notification_template) // 设置自定义通知栏布局,可以自定义通知栏的布局和样式,如果不设置该参数,那么会使用系统默认的通知栏布局和样式。
.notificationIconId(R.mipmap.ic_launcher) // 设置自定义通知栏图标,可以自定义通知栏的图标,如果不设置该参数,那么会使用系统默认的通知栏图标。
.bigTextStyle(new BigTextStyle().bigText("这是一条测试消息")) // 设置大文本样式,可以自定义大文本的样式和内容,如果不设置该参数,那么大文本将不会显示在通知栏上。
.numberStyle(new NumberStyle().number("123")) // 设置数字样式,可以自定义数字的样式和内容,如果不设置该参数,那么数字将不会显示在通知栏上。
.build()); // 构建默认的推送通知构造器对象。
}
}
3、接收推送消息并处理
在需要接收推送消息的地方注册JPushReceiver,并在onMessageReceived方法中处理接收到的消息:
import androidx.localbroadcastmanager.content.LocalBroadcastManager; import com.orhanobut.logger.Logger; import org.json.JSONObject; import cn.jpush.android.api.JPushInterface; import cn.jpush.android.service.BasicPushNotificationBuilder; import cn.jpush.android.service.ICustomMessageCallback; import cn.jpush.android.service.IPushMessageCallback; import cn.jpush.android.service.JPushMessageService; import cn.jpush.android.service.PushServiceFactory; import cn.jpush.android.util.*; import java.util.*; import javafxports.logging.*; public class MyJPushMessageService extends JPushMessageService implements IPushMessageCallback, ICustomMessageCallback { private static final String TAG = "MyJPushMessageService"; private static final int NOTIFICATION_ID = 1001; // 定义一个唯一的通知ID,用于标识不同的推送消息,可以根据实际需求进行修改。 private static final String CUSTOM_ALERT = "custom_alert"; // 定义一个自定义的通知栏标题,可以根据实际需求进行修改。 private static final String CUSTOM_CONTENT = "custom_content"; // 定义一个自定义的通知栏内容,可以根据实际需求进行修改。 private static final String CUSTOM_EXTRAS = "custom_extras"; // 定义一个自定义的通知栏附加信息,可以根据实际需求进行修改。 private static final String CUSTOM_NOTIFICATION = "custom_notification"; // 定义一个自定义的通知栏类型,可以根据实际需求进行修改。 private static final String CUSTOM_SOUND = "custom_sound"; // 定义一个自定义的通知声音文件名,可以根据实际需求进行修改。 private static final String CUSTOM_VIBRATE = "custom_vibrate"; // 定义一个自定义的通知震动模式,可以根据实际需求进行修改。 private static final String CUSTOM_LED = "custom_led"; // 定义一个自定义的通知闪光模式,可以根据实际需求进行修改。 private static final String CUSTOM_ACCENT = "custom_accent"; // 定义一个自定义的通知栏颜色,可以根据实际需求进行更新。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/540805.html