对 Masa.Blazor.Maui.Plugin.GeTuiPushBinding 项目的引用

news2024/11/23 23:47:05

新建一个 MAUI Blazor 项目:Masa.Blazor.Maui.Plugin.GeTuiSample, 添加对 Masa.Blazor.Maui.Plugin.GeTuiPushBinding 项目的引用

1、初始化个推 SDK

个推 SDK 的初始化在 MainActivity.OnCreate () 或 MainApplication.OnCreate () 方法中都是可以的,我们这里在 MainActivity 中初始化。修改 Platforms->Android->MainActivity.cs 文件,在 MainActivity 的 OnCreate 事件中添加我们的初始化方法

    public class MainActivity : MauiAppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            Com.Igexin.Sdk.PushManager.Instance.Initialize(this);
            var cid = Com.Igexin.Sdk.PushManager.Instance.GetClientid(this);
            System.Diagnostics.Debug.WriteLine($"cid:{cid}");
        }
    }







因为我们完成了绑定,所以这里可以使用个推 SDK 中的 Com.Igexin.Sdk 命名空间下的 PushManager 来完成初始化, 初始化方法 Initialize 非常简单,初始化后我们可以通过 GetClientid 方法拿到客户端 ID,方便我们后续在个推平台下发推送测试任务,因为向特定 CID 发送推送是免费的。

2、配置推送服务

继续在 Android 目录下新建推送服务类 DemoPushService

using Android.App;

namespace Masa.Blazor.Maui.Plugin.GeTuiSample
{
    [Service(Process = ":pushservice", Exported = false)]
    public class DemoPushService : Com.Igexin.Sdk.PushService
    {
    }
}







我们只要实现一个继承自 Com.Igexin.Sdk.PushService 的类即可。

注意:服务必须指定 Process = ":pushservice",设置了这行代码,系统就会为该服务创建新的进程,DemoPushService 将运行在这个新的独立的进程,它所在的 apk 依旧运行在原来进程。这样就实现了 Android 使用多进程。 android:exported 是 Android 中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。 主要作用是:是否支持其它应用调用。 处于安全考虑我们这里设置为 Exported = false,代表不支持其他应用调用。

修改 AndroidManifest.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
	<application 
		android:allowBackup="true" 
		android:icon="@mipmap/appicon" 
		android:roundIcon="@mipmap/appicon_round" 
		android:supportsRtl="true" 
		android:label="@string/app_name" 
		android:usesCleartextTraffic="true"
		xmlns:tools="http://schemas.android.com/tools">
		<service
		android:name="Masa.Blazor.Maui.Plugin.GeTuiSample.DemoPushService"
		android:exported="false"
		android:label="PushService"
		android:process=":pushservice"/>
		<meta-data android:name="GETUI_APPID"  tools:replace="android:value"  android:value="这里填你在个推的APPID" />
	</application>
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
	<uses-permission android:name="android.permission.INTERNET" />
</manifest>







我们在 application 中添加了 xmlns:tools="http://schemas.android.com/tools",作用是在下面的 meta-data 中使用 tools:replace,否则会出现 Android 组件化集成合并 AndroidManifest.xml 的问题,添加 android:label="@string/app_name" 也是为了避免合并问题。 service 表示我们添加的自定义推送类,android:name 的值必须写全命名空间。 GETUI_APPID 部分为个推应用对应的 APPID

我们启动应用,并在个推平台下发一个测试推送

在这里插入图片描述

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用Docker+Jenkins+Gitee自动化部署SpringBoot项目

目录搭建基础环境1、使用Docker-Compose搭建基础环境2、搭建项目仓库环境&#xff0c;创建Dockerfile文件3、配置Jenkins3.1、初始化Jenkins3.2、安装核心插件3.3、全局工具配置3.3.1、配置Git。3.3.2、配置Maven3.3.3、配置JDK3.4、配置Git凭证3.5、构建项目3.5.1、配置源码管…

Docker教程(centos下安装及docker hello world)

Docker介绍 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何…

STC51单片机38——按键控制舵机连续运动,稳定不抖动

仿真&#xff1a; //开发板按钮K3和K4&#xff0c;舵机信号线P27 //程序为12m晶振&#xff0c;开发板为11.0592M #include"reg52.h" #define u8 unsigned char #define u16 unsigned int sbit P27P2^7;//舵机信号线 sbit K3P3^2; //正偏转 sbit K4P3^3; //反偏…

我的大二web课程设计 使用HTML做一个简单漂亮的页面(纯html代码)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

Flutter中GetX系列四--BottomSheet(底部弹框)

BottomSheet介绍 BottomSheet 是底部弹出的一个组件&#xff0c;常用于单选、验证码二次校验弹窗等&#xff0c;GetX的BottomSheet底部弹出是自定义通过路由push的方法实现底部弹窗的一个效果。 BottomSheet使用 我们可以通过GetX很轻松的调用bottomSheet()&#xff0c;而且…

HTML+CSS大作业:使用html设计一个简单好看的公司官网首页 浮动布局

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

web前端期末大作业:网站设计与实现——咖啡网站HTML+CSS+JavaScript

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

PMBOK史上最大的改版,你知道到底有什么精华嘛?

1、项目管理经典的5大过程组、10大知识领域和49个过程&#xff08;第六版&#xff09;的结构彻底被改变&#xff0c;取而代之的是项目管理12大原则和8大绩效域组成的全新结构&#xff1b; 2、项目管理标准顺应趋势&#xff0c;从基于过程&#xff08;Process-based&#xff09…

AI+保险,打造让投保人“叫绝”的服务方式

近年来,信息技术在保险领域的应用越来越广泛&#xff0c;在稳步推进保险业务的线上化与智能化的同时&#xff0c;也让保险服务覆盖率有了极大的提升。然而,保险业服务在智能化转型方面仍面临着诸多挑战。 咨询热线统一接入&#xff0c;客户来电不遗漏 保险企业客户不仅体量大…

人类真的与恐龙无缘见面吗?看看雕刻和绘画怎样说

人类真的与恐龙无缘见面吗&#xff1f;看看雕刻和绘画怎样说 恐龙的形象经常出现在电影、电视和网络动画。它们庞大的身躯、凶猛的样子都让人留下深刻的印象。 但是我们今天看到的恐龙都只是出现在屏幕或书籍中&#xff0c;还有在博物馆内恐龙的模型或骨架&#xff0c;那历史上…

计算机考研,我不建议考408

这篇文章是抖音和b站上上传的同名视频的原文稿件&#xff0c;感兴趣的csdn用户可以关注我的抖音和b站账号&#xff08;GeekPower极客力量&#xff09;。同时这篇文章也为视频观众提供方便&#xff0c;可以更加冷静地分析和思考。文章同时在知乎发表。欢迎大家的留言。 b站视频链…

【计算机毕业设计】22.学校试卷生成系统+vue

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的…

三维重建之NeRF(pytorch)

神经辐射场&#xff08;NeRF&#xff09;是一个简单的全连接网络&#xff08;权重约为5MB&#xff09;&#xff0c;经过训练&#xff0c;可以使用渲染损失再现单个场景的输入视图。网络直接从空间位置和观看方向&#xff08;5D输入&#xff09;映射到颜色和不透明度&#xff08…

为dev c++配置图形开发环境easyx

easyx广泛支持VC6~C2022,并且在VC中配置十分容易&#xff0c;点击安装一个按钮搞定。但配置dev C则难度要大很多。这里我们来详细讲述配置过程。笔者也是经过几次尝试才配置成功&#xff0c;希望给试图在dev上配置easyx的童鞋带来帮助。 1、下载easyX 第一步就不用说了&#…

【强化学习论文合集】ICML-2022 | 人工智能 CCF-A类会议(附链接)

第39届国际机器学习会议(International Conference on Machine Learning, ICML 2022)于北京时间7月17日至7月23日,在美国马里兰州巴尔的摩市以线上线下结合的方式举办。 [1]. EAT-C: Environment-Adversarial sub-Task Curriculum for Efficient Reinforcement Learning.[2]…

接口测试 - 从0不到1的心路历程

我是一名做了三年测试的tester&#xff0c;2020年以功能测试工程师的身份入职北京一家医疗培训公司&#xff0c;入职后为了提高测试效率&#xff0c;接触到接口测试&#xff0c;以下是从零到现在 (还有很大完善的空间&#xff0c;所以不能算是1) 的一些心路历程。 做接口测试的…

学生HTML个人网页作业作品——湘菜美食网页设计作品(12页) 美食网站设计与实现

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

图解LeetCode——1742. 盒子中小球的最大数量(难度:简单)

一、题目 你在一家生产小球的玩具厂工作&#xff0c;有 n 个小球&#xff0c;编号从 lowLimit 开始&#xff0c;到 highLimit 结束&#xff08;包括 lowLimit 和 highLimit &#xff0c;即 n highLimit - lowLimit 1&#xff09;。另有无限数量的盒子&#xff0c;编号从 1 到…

【JavaWeb】第五章 jQuery(中篇)

&#x1f341;【JavaWeb】第五章 jQuery&#xff08;上篇&#xff09; 文章目录9、内容过滤选择器10、属性过滤选择器11、表单过滤器12、元素的筛选13、jQuery属性操作之html()、text()、val()方法14、jQuery属性操作之attr()和prop()9、内容过滤选择器 1&#xff09;&#xf…

web大作业 静态网页 HTML+CSS+JavaScript橙色的时尚服装购物商城

常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他等网页设计题目, A…