java 集成极光推送

为什么需要推送

现在手机App中,每天都能收到大量的推送,这种推送是让用户了解app最新活动与消息,也是提醒用户参与活动并使用app的一个方法,在app中是必不可少的。公司开发app当然也需要使用一种推送工具来给用户发送通知,并与用户互动,公司选用的推送就是极光推送。

极光推送

极光推送是极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供移动消息推送服务。
可以根据广播,标签,别名,注册id,分组等实现不同分段的推送。
这里写图片描述

极光推送分为两个部分,一是后端发送推送消息到极光推送的服务上,然后安卓端或者ios端补货消息发送给目标用户。

一般目标人群都是安卓或者ios那边设置,后端只需要根据不同目标人群推送不同的消息。后端发送到极光推送上的记录:
这里写图片描述

因为公司用户是需要实名验证的,因此我们根据用户状态作为标签,用户id作为别名来实现内容推送,因此标签推送与别名推送对于我们公司以及足够,这里主要是标签与别名推送相关代码,你们可以根据各自具体情况设置目标人群,进行实现。

极光推送需要的jar包

<!--极光推送需要的依赖包-->
        <dependency>
            <groupId>cn.jpush.api</groupId>
            <artifactId>jpush-client</artifactId>
            <version>3.3.2</version>
        </dependency>
package com.qivay.util;

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.Options;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;


/**
 * Created by Administrator on 2018-01-02.
 * 极光推送工具包
 */
public class JPushUtil {
   

    private static final Logger LOGGER = LoggerFactory.getLogger(JPushUtil.class);

    private final static Boolean ApnsProduction = true;//上线之后要改为true

    /**
     * 推送给设备标识参数的用户
     * @param aliasList 别名或别名组
     * @param msg_content 消息内容
     * @param extrasparam 扩展字段
     * @return 0推送失败,1推送成功
     */
    public static int sendToAliasList(JPushClient jPushClient,List<String> aliasList,   String msg_content, String extraKey,String extrasparam,String notification_title ) {
        int result = 0;
        try {
            PushPayload pushPayload= buildPushObject_all_aliasList_alertWithTitle(aliasList,msg_content,extraKey,extrasparam,notification_title);
            LOGGER.info("推送给设备标识参数的用户"+pushPayload);
            PushResult pushResult=jPushClient.sendPush(pushPayload);
            LOGGER.info("推送结果"+pushResult);
            if(pushResult.getResponseCode()==200){
                result=1;
            }
        } catch (APIConnectionException e) {
            e.printStackTrace();

        } catch (APIRequestException e) {
            e.printStackTrace();
        }

        return result;
    }

    /**
     * 发送给所有用户
     * @param msg_content 消息内容
     * @param extrasparam 扩展字段
     * @return 0推送失败,1推送成功
     */
    public static int sendToAll(JPushClient jPushClient,   String msg_content,String extraKey, String extrasparam,String notification_title) {
        int result = 0;
        try {
            PushPayload pushPayload= buildPushObject_android_and_ios(msg_content,extraKey,extrasparam,notification_title);
            LOGGER.info(""+pushPayload);
            PushResult pushResult=jPushClient.sendPush(pushPayload);
            LOGGER.info(""+pushResult);
            if(pushResult.getResponseCode()==200){
                result=1;
      
  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值