zoukankan      html  css  js  c++  java
  • 极光推送案例(服务端向客户端发送请求)

    极光推送需要appkey和mastersecreter,登录极光官网自己之前注册过的账号登录即可获得,根据每个手机可以生成每个register_id,是一 一对应的关系,根据这些发送即可

    https://docs.jiguang.cn/jpush/client/Android/android_api/#api_2

     极光推送是根据唯一的一个东西生成的,比如说根据手机号生成,安卓手机用户退出登录重新登录就会再生成一个registrationId,但是ios的话除非把app卸载重新下的时候会再生成一个新的registrantionId

    极光推送文档https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/

    别人复杂案例blog.csdn.net/lixuegen/article/details/46819769

    public class App
    {
        public static void main( String[] args )
        {
            //System.out.println( "Hello World!" );
            String appkey=" ";//是key
            String masterSecret=" ";//secret
            String registration_id=" ";//唯一标示设备的id
            PushPayload ppla=PayloadBuild.buildAndroidWinphonePayload(registration_id,"hello,Wth","I am not a title");
            JPushClient jPushClient = new JPushClient(masterSecret,appkey,3);
            try {
                jPushClient.sendPush(ppla);
            } catch (APIConnectionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (APIRequestException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        
    }

    以上是直接给手机app推送消息的,以下是更复杂的推送,在推送消息里面有

    PushPayload pushPayload= buildPushObject_all_registrationId_alertWithTitle(registrationId, text, type);
    PushResult pushResult=jPushClient.sendPush(pushPayload);
    if(pushResult.getResponseCode()==200){
    成功
    }


    return PushPayload.newBuilder()
    .setPlatform(Platform.android_ios())
    .setAudience(Audience.registrationId(registrationId))
    .setNotification(Notification.newBuilder()
    // 指定当前推送的android通知
    .addPlatformNotification(AndroidNotification.newBuilder()
    .setAlert(text)
    .addExtra("type", type)// 消息类型
    .build())
    // 指定当前推送的iOS通知
    .addPlatformNotification(IosNotification.newBuilder()
    .setAlert(text)
    .addExtra("type", type)
    .build())
    .build())
    .setOptions(Options.newBuilder()
    // 推送环境,false表示开发,true表示生产;对android和自定义消息无意义
    .setApnsProduction(true)
    .build())
    .build();

    以下为代码详解
    class PayloadBuild{
        /*public static PushPayload buildPushAllPayload(String alert) {//构建一个推送所有平台,所有设备的推送对象
            return PushPayload.alertAll(alert);}*/

        public static PushPayload buildAndroidWinphonePayload(String registration_id,

                String alert,String title) {

                    return PushPayload.newBuilder()

                            .setPlatform(Platform.android())//推送平台设置为安卓

                         //.setAudience(Audience.all())//推送给所有已经下载过app的设备
                         .setAudience(Audience.registrationId(registration_id))//推送给registration_id对应的设备
                           
    //                        .setAudience(Audience.alias(alias.replace(".", "_")))//推送设备起别名

                            .setNotification(Notification.newBuilder()//设置通知

                                 .setAlert(alert)//设置通知内容

                                 .addPlatformNotification(AndroidNotification.newBuilder()

                                                          .setTitle(title).build()//设置通知标题
                                  )

                                .build()
                              )

                            .build();

                }


    }
    class PayloadBuild1{
        /*public static PushPayload buildPushAllPayload(String alert) {//构建一个推送所有平台,所有设备的推送对象
            return PushPayload.alertAll(alert);}*/
        
        public static PushPayload buildAndroidWinphonePayload(String alias,
                
                String alert,String title) {
            
            return PushPayload.newBuilder()
                    
                    .setPlatform(Platform.android())//推送平台设置为安卓
                    
                    .setAudience(Audience.all())//推送设备起别名
                    // .setAudience(Audience.registrationId(""))
                    
    //                        .setAudience(Audience.alias(alias.replace(".", "_")))//推送设备起别名
                    
                    .setNotification(Notification.newBuilder()//设置通知
                            
                            .setAlert(alert)//设置通知内容
                            
                            .addPlatformNotification(AndroidNotification.newBuilder()
                                    
                                    .setTitle(title).build()//设置通知标题
                                    )
                            
                            .build()
                            )
                    
                    .build();
            
        }
        
        
    }

  • 相关阅读:
    超级干货;Python优化之使用pandas读取和训练千万级数据
    「git」mac下git提交github代码
    「Linux+Django」uwsgi服务启动(start)停止(stop)重新装载(reload)
    「Linux+Django」Django+CentOs7+uwsgi+nginx部署网站记录
    「Linux」centos7安装mysql
    「Linux」centos7安装使用rar
    「Linux」centos7安装uWSGI
    「Linux」centos7更新python3.6后yum报错问题
    「Linux」centos7安装python
    「Linux」VMware安装centos7(一)
  • 原文地址:https://www.cnblogs.com/wth21-1314/p/7300053.html
Copyright © 2011-2022 走看看