消息推送unipush的简单使用

配置

  1. manifest.json中选中push
    在这里插入图片描述
  2. 配置push
    点击uniPush下的配置
    在这里插入图片描述
    输入个人信息并点击授权并开通
    在这里插入图片描述
    填写信息后点击开通,选择配置管理应用配置,记录应用配置信息
    在这里插入图片描述

前端

在app.vue中

onLaunch: function() {const clientInfo = plus.push.getClientInfo()console.log(clientInfo)plus.push.addEventListener("click", function(msg) {console.log(JSON.stringify(msg));console.log(msg.payload);//这里可以写跳转业务代码}, false);// 监听在线消息事件    plus.push.addEventListener("receive", function(msg) {// plus.ui.alert(2);  //这里可以写跳转业务代码console.log("recevice:" + JSON.stringify(msg))}, false);//提示打开权限通知let main = plus.android.runtimeMainActivity();let pkName = main.getPackageName();let NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");  let packageNames = NotificationManagerCompat.from(main);  if (!packageNames.areNotificationsEnabled()) {//手机没有开启通知的权限uni.showModal({  title: '提示',  content: '建议大咖消息通知',  showCancel: false,  success:(res)=> {let uid = main.getApplicationInfo().plusGetAttribute("uid");let Intent = plus.android.importClass('android.content.Intent');let Build = plus.android.importClass("android.os.Build");let Settings = plus.android.importClass("android.provider.Settings");let Uri = plus.android.importClass("android.net.Uri");let intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);let uri = Uri.fromParts("package", main.getPackageName(), null);intent.setData(uri);main.startActivity(intent);}})}
},

运行后,打印出

{"id": "unipush","token": "f1c3ded44ee0a***cf1031152d4da","clientid": "f1c3ded44ee0a***cf1031152d4da","appid": "8APxdkKm***mUOYezoSw1","appkey": "pwyoO4ID***SjGrwO3o1H9"
}

调用


java后端

pom文件

<!-- https://mvnrepository.com/artifact/com.getui.push/restful-sdk  推送信息-->
<dependency><groupId>com.getui.push</groupId><artifactId>restful-sdk</artifactId><version>1.0.0.1</version>
</dependency>

创建UniPushConfig
并将前面配置管理下应用配置信息,填写在setAppId,setAppKey,setMasterSecret中

import com.getui.push.v2.sdk.ApiHelper;
import com.getui.push.v2.sdk.GtApiConfiguration;
import com.getui.push.v2.sdk.api.PushApi;
import com.getui.push.v2.sdk.common.ApiResult;
import com.getui.push.v2.sdk.dto.req.Audience;
import com.getui.push.v2.sdk.dto.req.Settings;
import com.getui.push.v2.sdk.dto.req.Strategy;
import com.getui.push.v2.sdk.dto.req.message.PushChannel;
import com.getui.push.v2.sdk.dto.req.message.PushDTO;
import com.getui.push.v2.sdk.dto.req.message.PushMessage;
import com.getui.push.v2.sdk.dto.req.message.android.AndroidDTO;
import com.getui.push.v2.sdk.dto.req.message.android.ThirdNotification;
import com.getui.push.v2.sdk.dto.req.message.android.Ups;
import com.getui.push.v2.sdk.dto.req.message.ios.Alert;
import com.getui.push.v2.sdk.dto.req.message.ios.Aps;
import com.getui.push.v2.sdk.dto.req.message.ios.IosDTO;
import org.springframework.stereotype.Component;import javax.annotation.Resource;
import java.util.Map;
@Component
public class UniPushConfig {public static void uniPush(String title,String content,String cid){GtApiConfiguration apiConfiguration = new GtApiConfiguration();//填写应用配置apiConfiguration.setAppId("8APxdkKmYJ***ezoSw1");apiConfiguration.setAppKey("pwyoO4IDrd***GrwO3o1H9");apiConfiguration.setMasterSecret("yxTjo***9K6BnKr9zF6En4");apiConfiguration.setDomain("https://restapi.getui.com/v2/");// 实例化ApiHelper对象,用于创建接口对象ApiHelper apiHelper = ApiHelper.build(apiConfiguration);// 创建对象,建议复用。目前有PushApi、StatisticApi、UserApiPushApi pushApi = apiHelper.creatApi(PushApi.class);//根据cid进行单推PushDTO<Audience> pushDTO = new PushDTO<Audience>();// 设置推送参数pushDTO.setRequestId(System.currentTimeMillis() + "");//requestid需要每次变化唯一//配置推送条件// 1: 表示该消息在用户在线时推送个推通道,用户离线时推送厂商通道;// 2: 表示该消息只通过厂商通道策略下发,不考虑用户是否在线;// 3: 表示该消息只通过个推通道下发,不考虑用户是否在线;// 4: 表示该消息优先从厂商通道下发,若消息内容在厂商通道代发失败后会从个推通道下发。Strategy strategy=new Strategy();strategy.setDef(1);Settings settings=new Settings();settings.setStrategy(strategy);pushDTO.setSettings(settings);settings.setTtl(3600000);//消息有效期,走厂商消息需要设置该值
//推送苹果离线通知标题内容Alert alert=new Alert();alert.setTitle("苹果离线通知栏标题");alert.setBody("苹果离线通知栏内容");Aps aps = new Aps();//1表示静默推送(无通知栏消息),静默推送时不需要填写其他参数。//苹果建议1小时最多推送3条静默消息aps.setContentAvailable(0);aps.setSound("default");aps.setAlert(alert);IosDTO iosDTO = new IosDTO();iosDTO.setAps(aps);iosDTO.setType("notify");PushChannel pushChannel = new PushChannel();pushChannel.setIos(iosDTO);//安卓离线厂商通道推送消息体
//        PushChannel pushChannel = new PushChannel();AndroidDTO androidDTO = new AndroidDTO();Ups ups = new Ups();ThirdNotification notification1 = new ThirdNotification();;ups.setNotification(notification1);notification1.setTitle("安卓离线展示的标题");notification1.setBody("安卓离线展示的内容");notification1.setClickType("intent");notification1.setIntent("intent:#Intent;launchFlags=0x04000000;action=android.intent.action.oppopush;component=io.dcloud.HBuilder/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试标题;S.content=测试内容;S.payload=test;end");//各厂商自有功能单项设置
//ups.addOption("HW", "/message/android/notification/badge/class", "io.dcloud.PandoraEntry ");//ups.addOption("HW", "/message/android/notification/badge/add_num", 1);//ups.addOption("HW", "/message/android/notification/importance", "HIGH");
//ups.addOption("VV","classification",1);androidDTO.setUps(ups);pushChannel.setAndroid(androidDTO);pushDTO.setPushChannel(pushChannel);// PushMessage在线走个推通道才会起作用的消息体PushMessage pushMessage = new PushMessage();pushDTO.setPushMessage(pushMessage);pushMessage.setTransmission(" {title:"+title+",content:"+content+",payload:\"自定义数据\"}");// 设置接收人信息Audience audience = new Audience();pushDTO.setAudience(audience);audience.addCid(cid);// 进行cid单推ApiResult<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO);if (apiResult.isSuccess()) {// successSystem.out.println(apiResult.getData());} else {// failedSystem.out.println("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg());}}
}

调用
使用该方法进行触发,例在收到信息时自动调用等

 UniPushConfig.uniPush(SendId,message,clientId);

3. 打包基座

点击发行,选择原生app-云打包
在这里插入图片描述
选择apk,并填写证书别名、私钥、路径、选择调试基座、选择传统打包
证书申请方法:https://blog.csdn.net/gd898989/article/details/115564462?spm=1001.2014.3001.5501
在这里插入图片描述
等待云打包结束
在这里插入图片描述
点击运行,运行到手机、运行基座选择、自定义基座
在这里插入图片描述
选择后再从新运行到手机设备

进入app应用,控制台打印

13:25:52.841 [Object] {"id":"unipush","token":"f1c3ded44ee0a106ecacf1031152d4da","clientid":"f1c3ded44ee0a106ecacf1031152d4da","...}  at App.vue:5

在这里插入图片描述
将clientId放入uniPush的配置管理故障排查中,点击检测,手机通知栏将会受到信息

加粗样式

如果后台提示发送成功,手机没有显示信息,打开手机设置 —>应用—>权限管理—>选择基座apk应用—>通知管理,点击允许通知,这样就可以受到信息啦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27714.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win11 无法登录微软账户 终极解决方案

背景&#xff1a;win11突然无法登录微软账户&#xff0c;office无法激活&#xff0c;Edge里的微软账户也无法登录&#xff0c;反馈中心也无法打开等&#xff0c;有网络&#xff0c;浏览器可以访问微软并进行登录。 试过网上的网络配置&#xff08;SSL及TLS协议勾选&#xff09…

Win11微软账户无法正常登录怎么回事?

Win11微软账户无法正常登录怎么回事&#xff1f;我们在使用电脑的时候&#xff0c;有时候需要登录到微软账户中来进行相关的操作。比如使用微软应用商店的时候&#xff0c;就需要去登录自己的平台账号。那么我们如何去进行账户的登录呢&#xff1f;接下来我们一起来看看详细的解…

微软账户登不上解决方案

步骤1&#xff1a; 步骤2&#xff1a; 步骤3&#xff1a; 步骤4&#xff1a; 步骤5&#xff1a; 步骤6&#xff1a; 保存就可以了~~使用愉快吖

Win11电脑上登录的微软账号怎么退出登录?

Win11电脑上登录的微软账号怎么退出登录&#xff1f;在电脑上登录微软账号的时候&#xff0c;很多用户都会去选择记住账号登录。那么记住登录状态之后&#xff0c;我们怎么去进行退出账号的登录状态呢&#xff1f;接下来我们一起来看看详细的微软账号退出方法分享吧。 操作方法…

快速登录微软账户(截图)

上一篇文章忘记截图&#xff0c;我还是补个截图吧&#xff1a; 再次强调&#xff0c;用电话号码&#xff0c;不用邮箱。

Win11微软账号登录不上?Win11登录Microsoft账户出错的解决方法

Win11微软账号登录不上&#xff1f;近期有部分Win11用户反映在登录微软账号会出现一直转圈&#xff0c;无法登录的情况&#xff0c;这样导致部分功能都不能正常使用了&#xff0c;为此十分令人头疼。那么对于这一情况&#xff0c;有没有什么方法可以有效的解决呢&#xff1f;下…

Win11系统在administered账户下无法登录微软账户显示:哎呀,出错了。解决方法。

昨天新安装了win 11系统&#xff0c;在安装好软件后发现无法登录微软账户&#xff0c;折腾一晚上网上大部分解决方式是新创建账户&#xff0c;然后在新创建账户中登录微软账户。再把administered账户使用管理员运行命令符&#xff1a;net user administrator /active:no&#x…

怎么更换电脑中已经登录的微软账号?

怎么更换电脑中已经登录的微软账号&#xff1f;有些用户在使用电脑的时候就想要把自己的电脑更换给其他用户使用&#xff0c;但是又想要保存所有的数据&#xff0c;今天小编就带着大家一起看看怎么操作吧&#xff01; 操作方法&#xff1a; 可以点击图上的 账户信息&#xff0c…

CSS/CSS3常用Style

1、实现以下功能&#xff1a; 代码附上&#xff1a; width: 5px; height: 35px; border: 84px solid; border-color: #ffa002 transparent transparent transparent;2、如何实现“颜色渐变”这种功能效果图&#xff0c;如下图&#xff1a; 代码附上&#xff1a; background…

相约情人节| 让ChatGPT带你体验“人工智能”的浪漫!

“情人节不会写情书&#xff1f;” “不会写情人节贺卡&#xff1f;” 让ChatGPT来为你支招&#xff01; 赶紧「扫码预约」直播课 微软工程师带你体验AI的浪漫 2月14日-3月7日每周二晚8点 4场线上直播课「扫码报名」啦&#xff01; 扫描下方二维码&#xff0c;立即报名课程 扫描…

2023 谷歌I/O发布会新AI,PALM 2模型要反超GPT-4,一雪前耻!

文章目录 1 前言2 Google I/O 发布者大会3 PaLM 2模型3 Bard项目4 其他AI工具4.1 AI 图片编辑 Magic Editor4.2 Duet AI 办公4.3 Universal Translator 翻译工具4.4 Google 沉浸式导航4.5 Google 搜索引擎 5 讨论 1 前言 每年必看两大会&#xff0c;苹果发布会和谷歌发布会&am…

A/B实验避坑指南:为什么不建议开AABB实验

本文将针对日常开设 A/B 实验过程中一个不太合理的使用方法——AABB 实验进行详细的解释&#xff0c;告诉大家为什么不建议开 AABB 实验。 在开始之前&#xff0c;先来回顾一下“什么是 A/B 实验”&#xff0c;A/B 实验是针对想调研的问题&#xff0c;提供两种不同的备选解决方…

万亿模型训练需 1.7TB 存储,腾讯混元如何突破 GPU 极限?

Gartner 将生成式 AI 列为 2022 年五大影响力技术之一&#xff0c;MIT 科技评论也将 AI 合成数据列为 2022 年十大突破性技术之一&#xff0c;甚至将 Generative AI 称为是 AI 领域过去十年最具前景的进展。未来&#xff0c;兼具大模型和多模态模型的 AIGC 模型有望成为新的技术…

华为起诉小米专利侵权,国家知识产权局已受理;iPhone 等设备电池正式涨价;FFmpeg 6.0 发布|极客头条...

「极客头条」—— 技术人员的新闻圈&#xff01; CSDN 的读者朋友们早上好哇&#xff0c;「极客头条」来啦&#xff0c;快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 一分钟速览新闻点&#…

老黄:ChatGPT是AI届iPhone/ 马斯克半夜在推特修Bug/ 国内C刊:用聊天机器人不许隐瞒...今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 新的一周开始啦。 最近正值开学季&#xff0c;日报君在此温馨提示&#xff1a;大家上班&#xff08;上学&#xff09;尽量早点儿出门哟~ 话说回来&#xff0c;咱们的科技新鲜事可不会堵车还是会照常奉上&#xff0c;不妨一起看看吧&a…

库克现身米哈游总部/ 周鸿祎演示360GPT/ 微软必应有广告了…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大噶好&#xff0c;今天是3月30日星期四。 三月马上就过完了&#xff0c;在这个特殊的日子里&#xff0c;你不得…… 看看科技圈发生了哪些大事吗&#xff1f; 库克现身米哈游总部 真是双厨狂喜啊。 今天上午&#xff0c;库克突然现身…

直击WAIC:天壤连发三款大模型产品,为开发者打造全栈式支持体系

十分钟创建超越期待的大模型应用。即使是不懂AI和编程的小白&#xff0c;也可以轻松创建个性化的AI应用。这种技术的“平民化”无疑代表了AI的未来。 7月8日&#xff0c;在2023年的世界人工智能大会&#xff08;WAIC&#xff09;上&#xff0c;天壤隆重推出「天壤小白」大模型…

CA认证(Certificate Authority)

什么是CA认证&#xff1f; CA认证&#xff0c;即电子认证服务是指为电子签名相关各方提供真实性、可靠性验证的活动。证书颁发机构&#xff08;CA, Certificate Authority&#xff09;即颁发数字证书的机构。是负责发放和管理数字证书的权威机构&#xff0c;并作为电子商务交易…

CZTP认证是什么?零信任专家认证值不值得考?

&#xff08;1&#xff09;CZTP是什么&#xff1f; CZTP(Certified Zero Trust Professional)即零信任专家认证&#xff0c;这个认证目的是通过对零信任架构、身份管理与访问控制、软件定义边界、微隔离等方面多维度进行系统性学习&#xff1b;结合场景、案例、规划与部署等角…

PAP认证、CHAP认证

概述 实验目标 掌握PAP、chap认证方式的配置与验证方法 实验描述 路由器&#xff08;带串口&#xff09; 2 台V.35 线缆&#xff08;DTE/DCE&#xff09; 1 对 2技术分析 PPP 协议位于 OSI 七层模型的数据链路层&#xff0c;PPP 协议按照功能划分为两个子层&#xff1a;LCP…