app 集成第三方实现消息推送功能
国内推送平台较多,常见的有:
- 极光推送
- 阿里云推送
- 友盟推送
- 腾讯云推送
- 个推推送
个人目前已经做了两次推送了,都是用的极光推送,我并不是为极光打广告啊,是因为极光有免费版的,哈哈,其他的平台没用过所以不太清楚有没有免费版的,这次总结一下我集成极光推送的过程,以后忘了的话还可以再看看
一:注册登录极光官网(最好是公司账号,手机号)
二:登录服务中心(头像下边),进入开发者平台,点击消息推送
三:创建应用,获取AppKey 和 Master Secret,以便之后在你的 yml 配置文件中进行配置
四:推送设置,这时候需要和前端沟通,获取安卓应用包名及 ios 证书
五:设置完成后,就开始咱们的配置和业务代码啦,注意,之下代码可以引用,有些推送业务代码中可能不包括
pom依赖添加:
<!--极光推送-->
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
<version>3.3.10</version>
</dependency>
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jiguang-common</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
config 配置文件:JPushConfig
package cn.xof.config;
import cn.jpush.api.JPushClient;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
@Configuration
@Data
@ConfigurationProperties(prefix = "xym.push")
public class JPushConfig {
private String appkey;
private String secret;
private boolean apns;
private JPushClient jPushClient;
/**
* 推送客户端
* @return
*/
@PostConstruct
public void initJPushClient() {
jPushClient = new JPushClient(secret, appkey);
}
/**
* 获取推送客户端
* @return
*/
public JPushClient getJPushClient() {
return jPushClient;
}
/**
* 区分开发和线上环境
* @return
*/
public boolean getApns() {
return apns;
}
}
PushService:
package cn.xof.tzy.service;
import cn.xof.tzy.entity.PushBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/