.NET对接极光消息推送的实现方法是什么

.NET对接极光消息推送的实现方法是什么

今天就跟大家聊聊有关.NET对接极光消息推送的实现方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

什么是APP消息推送?

  很多手机APP会不定时的给用户推送消息,例如一些新闻APP会给用户推送用户可能感兴趣的新闻,或者APP有更新了,会给用户推送是否选择更新的消息等等,这就是所谓的“消息推送”。

更多APP消息推送的介绍可查阅该篇文章:十分钟带你了解APP消息推送(Push)????

如下是我们日常生活中常见的一些APP消息推送示例:

强营销类:

直接把营销力度,营销模式以一种叫卖式方式展现出来,目的通过优惠,时效性勾起用户贪小便宜的心理,好奇心理,如下所示:

强关联性:

在信息爆炸的时代,大脑会自动筛选对自己有价值的信息和没价值的信息,如果在一条信息中有@你,您之类的言语,大脑会自动识别,使用直接关联的技巧在于巧用“你”相关的字眼。

强热点:热点对眼球的吸引程度不言而喻,但是追热点这些事情呢,新闻资讯类由于其自身的属性,在热点话题这一块有天然优势,而其他类型的APP对热点的解读和追踪多少差强人意,尤其文案书写这块,没有杜蕾斯这样的能力,就别强撩用户,适得其反反而显得没水平。

强话题性:

营销界有这么一句话,没有违和感就创造不了传播,不出位就制造不了话题,那么强话题性的文案自带传播属性,一般都会击中用户内心的某个感触,比如对社会的愤世嫉俗,对高房价的逆反心理,对旅游的文艺心等等。

极光推送介绍

  JPush 是经过考验的大规模 App 推送平台,每天推送消息量级为数百亿条。 开发者集成 SDK 后,可以通过调用 API 推送消息。同时,JPush 提供可视化的 web 端控制台发送通知,统计分析推送效果。 JPush 全面支持 Android, iOS, Winphone 三大手机平台。

为什么选择极光作为APP的消息推送平台?

  • 首先极光推送支持多平台推送

  • 支持大规模的消息推送极光推送

  • 对接方便,不同后端语言都提供了对应的SDK

  • 对于免费账号支持也非常的友好(不过免费账号高峰期有资源瓶颈,假如需要及时性很强的话可以购买高级版收费服务)

特权对比????

快速对接Jpush极光推送

极光详细对接文档????

  • 到极光推送官方网站注册开发者帐号;

  • 登录进入管理控制台,创建应用程序,得到 Appkey(SDK 与服务器端通过 Appkey 互相识别);

  • 在推送设置中给 Android 设置包名、给 iOS 上传证书、启用 WinPhone,根据你的需求进行选择;

.NET FX 4.5项目接入

  该项目是基于C#/.NET(.NET Framework4.5.1的示例)极光推送对接实例,主要是对接极光集成为我们.Neter提供的SKD。在这里我主要封装了单个设备注册ID推送,设备注册ID批量推送和广播推送三种推送三种方式,其他的推送方式大家可以参考文档去进行封装。

JPuhs-Sample????(封装示例源码)

1、在项目中引入Jiguang.JPush nuget包

2、极光推送调用

namespaceJpush.Controllers{///<summary>///极光推送管理///</summary>publicclassJPushManageController:Controller{privatereadonlyJPushClientUtil_jPushClientUtil;publicJPushManageController(JPushClientUtiljPushClientUtil){this._jPushClientUtil=jPushClientUtil;}///<summary>///单个设备注册ID推送///</summary>///<returns></returns>publicActionResultSendPushByRegistrationId(){varisOk=_jPushClientUtil.SendPushByRegistrationId("追逐时光者欢迎你!","2022新年快乐","1507bfd3f715abecfa4",newDictionary<string,object>(),true);returnJson(new{result=isOk});}///<summary>///设备注册ID批量推送(一次推送最多1000个)///</summary>///<returns></returns>publicActionResultSendPushByRegistrationIdList(){varregistrationIds=newList<string>(){"1507bfd3f715abecfa455","1507bfd3f715abecfa433","1507bfd3f715abecfa422"};varisOk=_jPushClientUtil.SendPushByRegistrationIdList("追逐时光者欢迎你!","2022新年快乐",registrationIds,newDictionary<string,object>(),true);returnJson(new{result=isOk});}///<summary>///广播推送///</summary>///<returns></returns>publicActionResultBroadcastPush(){varisOk=_jPushClientUtil.BroadcastPush("追逐时光者欢迎你!","2022新年快乐",newDictionary<string,object>(),true);returnJson(new{result=isOk});}}}

3、极光推送工具类(JPushClientUtil)

namespaceJpush.Common{///<summary>///极光推送工具类///</summary>publicclassJPushClientUtil{privateconststringappKey="youAppKey";privateconststringmasterSecret="youMasterSecret";privatestaticJPushClientclient=newJPushClient(appKey,masterSecret);///<summary>///单个设备注册ID推送///</summary>///<paramname="title">推送标题(Android才会存在)</param>///<paramname="noticeContent">通知内容</param>///<paramname="registrationid">设备注册ID(registration_id)</param>///<paramname="extrasParam">拓展参数(传入App接收的一些参数标识)</param>///<paramname="isApnsProduction">注意:iOS是否推送生产环境(true是,false否推开发环境)</param>///<returns></returns>publicboolSendPushByRegistrationId(stringtitle,stringnoticeContent,stringregistrationid,Dictionary<string,object>extrasParam=null,boolisApnsProduction=true){//设备标识参数拼接varpushRegistrationId=newRegistrationIdList();pushRegistrationId.registration_id.Add(registrationid);returnJPushBaseSendMessage(title,noticeContent,isApnsProduction,pushRegistrationId,extrasParam);}///<summary>///设备注册ID批量推送(一次推送最多1000个)///</summary>///<paramname="title">推送标题(Android才会存在)</param>///<paramname="noticeContent">通知内容</param>///<paramname="registrationIds">注册ID(registration_id)列表,一次推送最多1000个</param>///<paramname="extrasParam">拓展参数(传入App接收的一些参数标识)</param>///<paramname="isApnsProduction">注意:iOS是否推送生产环境(true是,false否推开发环境)</param>///<returns></returns>publicboolSendPushByRegistrationIdList(stringtitle,stringnoticeContent,List<string>registrationIds,Dictionary<string,object>extrasParam=null,boolisApnsProduction=true){//设备标识参数拼接varpushRegistrationId=newRegistrationIdList();pushRegistrationId.registration_id.AddRange(registrationIds);returnJPushBaseSendMessage(title,noticeContent,isApnsProduction,pushRegistrationId,extrasParam);}///<summary>///广播推送///</summary>///<paramname="title">推送标题(Android才会存在)</param>///<paramname="noticeContent">通知内容</param>///<paramname="extrasParam">拓展参数(传入App接收的一些参数标识)</param>///<paramname="isApnsProduction">注意:iOS是否推送生产环境(true是,false否推开发环境)</param>///<returns></returns>publicboolBroadcastPush(stringtitle,stringnoticeContent,Dictionary<string,object>extrasParam=null,boolisApnsProduction=true){returnJPushBaseSendMessage(title,noticeContent,isApnsProduction,null,extrasParam,true);}///<summary>///极光消息推送公共方法///</summary>///<paramname="title">推送标题(Android才会存在)</param>///<paramname="noticeContent">通知内容</param>///<paramname="pushRegistrationId">设备注册ID(registration_id)</param>///<paramname="isApnsProduction">iOS是否推送生产环境(true是,false否推开发环境)</param>///<paramname="extrasParam">拓展参数</param>///<paramname="isRadioBroadcast">是否广播</param>///<returns></returns>privateboolJPushBaseSendMessage(stringtitle,stringnoticeContent,boolisApnsProduction,RegistrationIdListpushRegistrationId,Dictionary<string,object>extrasParam,boolisRadioBroadcast=false){try{objectaudience=pushRegistrationId;if(isRadioBroadcast){audience="all";}varpushPayload=newPushPayload(){Platform=newList<string>{"android","ios"},//推送平台设置Audience=audience,//推送目标//notifacation:通知内容体。是被推送到客户端的内容。与message一起二者必须有其一,可以二者并存。Notification=newNotification{Alert=noticeContent,//通知内容Android=newAndroid{Alert=noticeContent,//通知内容Title=title,//通知标题URIActivity="com.king.sysclearning.platform.app.JPushOpenClickActivity",//该字段用于指定开发者想要打开的activity,值为activity节点的“android:name”属性值;适配华为、小米、vivo厂商通道跳转URIAction="com.king.sysclearning.platform.app.JPushOpenClickActivity",//该字段用于指定开发者想要打开的activity,值为"activity"-"intent-filter"-"action"节点的"android:name"属性值;适配oppo、fcm跳转Extras=extrasParam//这里自定义JSON格式的Key/Value信息,以供业务使用。},IOS=newIOS{Alert=noticeContent,Badge="+1",//此项是指定此推送的badge自动加1Extras=extrasParam//这里自定义JSON格式的Key/Value信息,以供业务使用。}},Options=newOptions//可选参数{//iOS环境不一致问题:API推送消息给iOS,需要设置apns_production指定推送的环境,false为开发,true为生产。IsApnsProduction=isApnsProduction//设置iOS推送生产环境。不设置默认为开发环境。}};varresponse=client.SendPush(pushPayload);//200一定是正确。所有异常都不使用200返回码if(response.StatusCode==HttpStatusCode.OK){returntrue;}else{returnfalse;}}catch(Exceptionex){returnfalse;}}}publicclassRegistrationIdList{///<summary>///设备注册ID///</summary>publicList<string>registration_id{get;set;}=newList<string>();}}

看完上述内容,你们对.NET对接极光消息推送的实现方法是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

发布于 2022-01-10 23:45:47
收藏
分享
海报
0 条评论
42
上一篇:如何解决NDK开发中的问题 下一篇:J2EE中文乱码怎么解决
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码