消息系统——极光推送http://docs.jiguang.cn/

1、简介——官方文档

极光,主要指极光推送,还有IM,短信等其它服务,是国内一家上市公司提供的一个消息推送系统。规模较小不强依赖消息,接收一定延迟及小概率宕机事件可以直接使用免费服务,VIP服务最低约3000/月。集成比较简单,web,Android,IOS都有对应的sdk和详细的中文文档,集成成本较低。原理图如下,类似websocket,在官网注册创建应用获取appKey  masterSecret,可使用sdk内的 api进行用户管理,消息发送,也可在web控制台进行,另外web控制台提供了较全面的管理界面及统计信息。

推送方式:

  1. 广播(所有人)
  2. 注册ID(RegistrationID)
  3. 别名(alias)
  4. 标签(tag,分组)
  5. 用户分群(Segment)

 

2.依赖,参考 GITHUB地址

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

3.推送测试

 没有用户可使用极光的用户管理相关API增加用户,如下:使用alias别名推送方式API推送测试。


import cn.jiguang.common.resp.APIConnectionException;
import cn.jiguang.common.resp.APIRequestException;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.PushResult;
import cn.jpush.api.push.model.Platform;
import cn.jpush.api.push.model.PushPayload;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.AndroidNotification;
import cn.jpush.api.push.model.notification.IosNotification;
import cn.jpush.api.push.model.notification.Notification;
import com.alibaba.fastjson.JSON;

/**
 * Description: TODO
 *
 * @author majun
 * @version 1.0
 * @date 2020-04-07 17:21
 */
public class JpushTest {
    
    public static PushPayload buildAndroidIosPaylod(String alias, String title, String content) {
        return PushPayload.newBuilder()
                .setPlatform(Platform.android_ios())
                .setAudience(Audience.alias(alias))
                .setNotification(Notification.newBuilder()
                        .setAlert(content)
                        .addPlatformNotification(AndroidNotification.newBuilder()
                                .setTitle(title).build())
                        .addPlatformNotification(IosNotification.newBuilder()
                                .incrBadge(1)
                              //.setSound("sound.caf")
//extra 为透传字段,不会显示在通知栏。用户可以通过此字段来做一些定制需求,如特定的key传要指定跳转的页面(value)

                                .addExtra(title, content).build())
                        .build())
                .build();
    }


    public static void main(String[] args) throws APIConnectionException, APIRequestException {
               JPushClient jpushClient = new JPushClient("XXXXXXXX1818ffXXXXXXXX", "XXXXXXXX1c0abe1XXXXXXXX");
        PushResult result = jpushClient.sendPush(buildAndroidIosPaylod("181112950xx", "my title", "my content"));
        System.out.println(JSON.toJSONString(result));
        
    }
}

 控制台结果,也可用这里的【发送通知】手动发送推送

App app需要集成android/ios SDK且在线(既与极光建立长连接,否则看到的极光通道成功数据统计未0,对于不在线的用户,可以将消息存一份到DB,上线后拉取消息

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值