• 极光推送案例(服务端向客户端发送请求)


    极光推送需要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();
            
        }
        
        
    }

  • 相关阅读:
    .NET Core单文件发布静态编译AOT CoreRT
    Orchard Core Framework:ASP.NET Core 模块化,多租户框架
    IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
    ASP.NET Core DotNetCore 开源GitServer 实现自己的GitHub
    ASP.NET Core 中间件Diagnostics使用 异常和错误信息
    c# – Asp.Net Core MVC中Request.IsAjaxRequest()在哪里?
    使用cookie来做身份认证
    AspNetCore 2.2 新特性---HealthCheck
    AspNetCore 限流中间件IpRateLimitMiddleware 介绍
    (六十二)c#Winform自定义控件-警灯(工业)
  • 原文地址:https://www.cnblogs.com/wth21-1314/p/7300053.html
Copyright © 2020-2023  润新知