JAvaバックグラウンドサーバによるオーロラプッシュ


一、オーロラプッシュに必要なjarパケットを追加し、プロジェクトで使用するmavenなのでpomファイルにjarパケット依存を追加するだけ

    cn.jpush.api
    jpush-client
    3.2.3

二、オーロラプッシュツール類の作成
package com.cccuu.project.utils;

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.PushPayload.Builder;
import cn.jpush.api.push.model.audience.Audience;
import cn.jpush.api.push.model.notification.Notification;

/**
 *        
 */

public class JiGuangPushUtil {

    //            masterSecret appKey
    private static JPushClient jPushClient=new JPushClient("masterSecret","appKey");

    /**
     *     
     *   :        ,         ;       ,       
     * @param type     :1、“tag”    ,2、“alias”    
     * @param value          
     * @param alert      
     */
    private static void pushNotice(String type,String value,String alert){
        Builder builder= PushPayload.newBuilder();
        builder.setPlatform(Platform.all());//       ,all     ,    、ios、    
        //
        Options options=Options.sendno();
        options.setTimeToLive(86400l);    //   86400     ,             
        builder.setOptions(options);
        //      
        if(type.equals("alias")){
            builder.setAudience(Audience.alias(value));//      
        }else if(type.equals("tag")){
            builder.setAudience(Audience.tag(value));//      
        }else{
            builder.setAudience(Audience.all());//Audience   all,          ,          
        }
        //              
        builder.setNotification(Notification.alert(alert));
        PushPayload pushPayload=builder.build();
        try{
            //
            PushResult pushResult=jPushClient.sendPush(pushPayload);
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    /**
     *        
     *   :        ,         ;       ,       
     * @param type     :1、“tag”    ,2、“alias”    
     * @param value          
     * @param alert      
     */
    private static void pushMsg(String type, String value,String alert){
        Builder builder= PushPayload.newBuilder();
        builder.setPlatform(Platform.all());//       
        if(type.equals("alias")){
            builder.setAudience(Audience.alias(value));//    
        }else if(type.equals("tag")){
            builder.setAudience(Audience.tag(value));//    
        }else{
            builder.setAudience(Audience.all());//Audience   all,          ,          
        }
        Message.Builder newBuilder=Message.newBuilder();
        newBuilder.setMsgContent(alert);//    
        Message message=newBuilder.build();
        builder.setMessage(message);
        PushPayload pushPayload=builder.build();
        try{
            PushResult pushResult=jPushClient.sendPush(pushPayload);
        }catch(Exception e){
            e.printStackTrace();
        }
    }


    public static void main(String[] args){
        //    kefu         
        JiGuangPushUtil.pushNotice("tag","kefu","      ,     ");
    }

}

 
コードにはラベルや別名が用いられていますが、携帯アプリ側でラベルや別名の設定を行う必要があります.一般的にはユーザーがログインした後に設定します.これにより、ユーザーがログインすれば、そのバインド別名やラベルはオーロラサーバに保存できますが、私たちがプッシュするときに、この別名やラベルを指定します.対応するユーザーの携帯電話に情報をプッシュすることができます.
実は私たちはプッシュ要求を開始して、ただ情報をオーロラサーバーの上に送信して、この情報は1つの保存期限があって、デフォルトの1日、ユーザーが携帯電話のアプリを使ってシステムに登録する限り、オーロラサーバーは情報を自動的に対応する別名あるいはラベルのハンドマシンにプッシュして、このように、情報は私たちのバックグラウンドから直接携帯電話にプッシュするのではありませんオーロラサーバーという中継局を通じて、この正式なオーロラの仕事です.
注意:ここでは、この別名を設定する際に、ユーザーIDを別名に直接設定すればよいというテクニックを教えています.便利で安全で、識別のために一意の列を生成する必要はありません.バックグラウンド・データベースにユーザー・テーブルにフィールドを追加する必要もあります.ラベルを設定する場合、一般的には、クラスのユーザーをラベルに設定し、クラスのユーザーにグループ化することができます.
転載先:https://www.cnblogs.com/duanrantao/p/9028740.html