当前位置: 移动技术网 > IT编程>开发语言>Java > Java后端集成激光推送

Java后端集成激光推送

2020年07月23日  | 移动技术网IT编程  | 我要评论
激光推送引入maven包<dependency> <groupId>cn.jpush.api</groupId> <artifactId>jpush-client</artifactId> <version>3.4.3</version></dependency>配置安卓 ios通知方式private AndroidNotification buildAndroidNotifi

激光推送

引入maven包

<dependency>
    <groupId>cn.jpush.api</groupId>
    <artifactId>jpush-client</artifactId>
    <version>3.4.3</version>
</dependency>

配置安卓 ios通知方式

private AndroidNotification buildAndroidNotification(ExtraPushInfoDto dto) {
    return AndroidNotification.newBuilder()
        .setTitle(pushConfig.getTitle()) // 默认app名称
        .setAlert(dto.getContent())
        .addExtras(dto.getJiGuangExtensions())
        .build();
}

private IosNotification buildIosNotification(ExtraPushInfoDto dto) {
    return IosNotification.newBuilder()
        .setAlert(dto.getContent())
        .setBadge(1)
        .setSound("")
        .addExtras(dto.getJiGuangExtensions())
        .build();
}

执行推送

@Override
public void jPushByAlias(String alias, ExtraPushInfoDto dto) {
    this.startPush(Audience.alias(alias), dto);
}

private void startPush(Audience aliasAudience, ExtraPushInfoDto dto) {
    GlobalPushConfig.JpushConfig jPushConfig = pushConfig.getJpushConfig();
    String jpushSecret = jPushConfig.getAppSecret();
    String jpushAppKey = jPushConfig.getAppKey();
    if (StringUtils.isBlank(jpushSecret) || StringUtils.isBlank(jpushAppKey)) {
        logger.error("推送消息失败,无有效的配置!");
        return;
    }
    JPushClient client = new JPushClient(
            jpushSecret, jpushAppKey, null, ClientConfig.getInstance());
    try {
        String[] activeProfiles = environment.getActiveProfiles();
        boolean isProductionEnvironment = ArrayUtils.contains(activeProfiles, "prod");
        // 构造推送对象
        PushPayload.Builder builder = PushPayload.newBuilder()
                .setPlatform(Platform.android_ios())
                .setAudience(aliasAudience);

        builder.setNotification(Notification.newBuilder()
                .addPlatformNotification(buildAndroidNotification(dto))
                .addPlatformNotification(buildIosNotification(dto))
                .build()); // 推送 [通知]
        builder.setOptions(Options.newBuilder().setApnsProduction(isProductionEnvironment).build());
        client.sendPush(builder.build());
    } catch (APIConnectionException e) {
        logger.error("推送连接出现异常", e);
    } catch (APIRequestException e) {
//            logger.error("推送请求出现异常!", e);
        logger.info("HTTP Status: " + e.getStatus());
        logger.info("Error Code: " + e.getErrorCode());
        logger.info("Error Message: " + e.getErrorMessage());
    } finally {
        client.close();
    }
}

配置文件

push:
  title: 推送主题
  package-name: com.xxx.xxx // 推送包名
  jpush-config:
    app-key: ****
    app-secret: ****

本文地址:https://blog.csdn.net/lwjxxhx/article/details/107506151

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网