极光给安卓和IOS推送

pom

        <dependency>
            <groupId>cn.jpush.api</groupId>
            <artifactId>jpush-client</artifactId>
            <version>3.4.4</version>
            <exclusions>
            </exclusions>
        </dependency>
package com.dp.config;

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.Message;
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 java.util.*;


/**
 * @Author LLF
 * @Date Created in 2022/8/8 18:19
 * @Description
 * @Version 2.0
 **/
public class AllJpush {

    public static PushResult allPush(Map<String,String> param,Collection<String> list) {
        JPushClient jPushClient = new JPushClient("ae55875734c21fe0babf8c27","c5af977fd281b9cc329eaf38");
        PushPayload payload = PushPayload.newBuilder()
                // 推送所有平台用户
                .setPlatform(Platform.all())
                .setAudience(Audience.alias(list))
//                .setAudience(Audience.tag(list))
//                .setAudience(Audience.registrationId(list))
//                .setAudience(Audience.all())//你项目中的所有用户
                .setNotification(Notification.newBuilder()
                        //发送ios
                        .addPlatformNotification(IosNotification.newBuilder()
                                .setAlert(param.get("content"))
                                .setBadge(+1)
                                //ios提示音
                                .setSound("happy")
                                .addExtras(param)
                                .build())
                        //发送android
                        .addPlatformNotification(AndroidNotification.newBuilder()
                                .setTitle(param.get("title"))
                                .addExtras(param)
                                .setAlert(param.get("content"))
                                .build())
                        .build())
                //指定开发环境 true为生产模式 false 为测试模式 (android不区分模式,ios区分模式)
                .setOptions(Options.newBuilder().setApnsProduction(true).build())
                //自定义信息
                .setMessage(Message.newBuilder().setMsgContent(param.get("content")).build())
                .build();
        PushResult pushResult = null;
        try {
            pushResult = jPushClient.sendPush(payload);
        } catch (APIConnectionException e) {
            e.printStackTrace();
        } catch (APIRequestException e) {
            e.printStackTrace();
        }
        return pushResult;
    }

    public static void runJpush(String phone,String title,String content){
        Map<String,String> map1 = new HashMap<>();
        Collection<String> list = new LinkedList<String>();
        list.add(phone);
        map1.put("title",title);
        map1.put("content",content);
        allPush(map1,list);
    }

    public static void main(String[] args) {
        Map<String,String> map1 = new HashMap<>();
        Collection<String> list = new LinkedList<String>();
        list.add("111111111");
        map1.put("title","消息标题");
        map1.put("content","消息内容");
        allPush(map1,list);
    }

}

调用推送消息:

AllJpush.runJpush("id","隐患排查任务通知","系统生成任务");

 

posted @ 2022-08-09 19:08  _Lawrence  阅读(208)  评论(0)    收藏  举报