首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xamarin安卓: FirebaseInstanceIdService已被弃用,但在FirebaseMessagingService中没有OnNewToken

Xamarin安卓是一种跨平台移动应用开发框架,它允许开发人员使用C#语言和.NET平台来构建Android应用程序。在Xamarin安卓中,FirebaseInstanceIdService已被弃用,但在FirebaseMessagingService中没有OnNewToken方法。

FirebaseInstanceIdService是Firebase Cloud Messaging(FCM)的一部分,用于处理设备令牌(Device Token)的生成和更新。然而,自Firebase版本17.0.0起,FirebaseInstanceIdService已被弃用,取而代之的是FirebaseMessagingService中的onNewToken方法。

在FirebaseMessagingService中,onNewToken方法用于获取和处理新的设备令牌。当设备令牌发生变化时,例如应用程序重新安装或用户卸载并重新安装应用程序,onNewToken方法将被调用。开发人员可以在该方法中执行一些自定义逻辑,例如将新的设备令牌发送到服务器。

对于Xamarin安卓开发者,可以按照以下步骤来处理FirebaseInstanceIdService已被弃用的情况:

  1. 在Xamarin.Android项目中,创建一个继承自FirebaseMessagingService的新类,例如MyFirebaseMessagingService。
  2. 在MyFirebaseMessagingService类中,重写onNewToken方法,并在其中处理新的设备令牌。例如,可以将新的设备令牌发送到服务器。
代码语言:txt
复制
[Service]
[IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
public class MyFirebaseMessagingService : FirebaseMessagingService
{
    public override void OnNewToken(string token)
    {
        // 处理新的设备令牌逻辑,例如将其发送到服务器
    }

    // 其他FirebaseMessagingService相关方法...
}
  1. 在AndroidManifest.xml文件中,将FirebaseInstanceIdService替换为新创建的MyFirebaseMessagingService类。
代码语言:txt
复制
<service android:name=".MyFirebaseMessagingService">
    <intent-filter>
        <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
    </intent-filter>
</service>

通过以上步骤,开发人员可以在Xamarin安卓应用程序中处理FirebaseInstanceIdService已被弃用的情况,并使用新的FirebaseMessagingService中的onNewToken方法来处理设备令牌的生成和更新。

腾讯云提供了丰富的云服务和产品,可以用于支持Xamarin安卓应用程序的开发和部署。以下是一些腾讯云相关产品和产品介绍链接地址,可以用于构建和扩展Xamarin安卓应用程序:

  1. 云服务器(CVM):提供可扩展的云服务器实例,用于托管和运行Xamarin安卓应用程序。
    • 产品介绍链接:https://cloud.tencent.com/product/cvm
  • 云数据库MySQL版(CDB):提供高性能、可扩展的关系型数据库服务,用于存储和管理Xamarin安卓应用程序的数据。
    • 产品介绍链接:https://cloud.tencent.com/product/cdb_mysql
  • 云存储(COS):提供安全可靠的对象存储服务,用于存储和管理Xamarin安卓应用程序的静态资源(例如图片、音频、视频等)。
    • 产品介绍链接:https://cloud.tencent.com/product/cos
  • 人工智能(AI):提供丰富的人工智能服务和工具,用于增强Xamarin安卓应用程序的功能和用户体验。
    • 产品介绍链接:https://cloud.tencent.com/product/ai

请注意,以上提到的腾讯云产品仅作为示例,实际选择和使用的产品应根据具体需求和场景进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

FCM---Android系统级推送---你还在用第三方推送?

之前的C2DM(Android Cloud to Device Messaging)已与2012年6月26日被正式。 注:国内可接收FCM推送,但必须安装谷歌服务。具体操作请参考官方文档。...Android端设置 一项可以扩展 FirebaseMessagingService 的服务。如果您希望在后台进行接收应用通知之外的任何消息处理,则必须添加此服务。...要在前台应用接收通知、接收数据负载以及发送上游消息等,您必须扩展此服务。 一项可以扩展 FirebaseInstanceIdService 的服务,用于处理注册令牌的创建、轮转和更新。...通过替换 FirebaseMessagingService.onMessageReceived 方法,您可以根据收到的消息执行操作,并获取消息数据: ?...数据包的 notification 键包含通知。

12.7K30

C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件..很很很很重要..),附源码

我们找到一个Xamarin控件,比如ProgressBar进度条..它在Xamarin,可控的属性应该就只有Progress进度而已.....然后我们到的平台下,添加自定义的渲染器.,记得,是的平台,在这个类库下: ?...我们可以看到,在,它就继承了widget的原生进度条,那么,原生进度条的所有属性,我们就都是可以的了. 比如我们在代码写的 "ScaleY" 这种属性和SetPadding这种方法....,所以前面我一直强调的,有些东西 你找了(IOS)的解决方案,就同样找到了Xamarin的 我这里虽然没有IOS的环境,但是我们也可以到IOS里面看看ProgressBarRenderer继承了什么...熟悉IOS开发的同学应该很清楚了..Uikit..就是IOS的用户界面 在上面的代码,我们针对平台,修改了他的Y轴高度和内边距的值,我们如何使用呢?

2.4K100
  • C#使用Xamarin开发可移植移动应用(1.入门与Xamarin.Forms页面),附源码

    (PCL),因为共享项目新建页面的时候有点问题,所以不推荐 点击OK,我们就可以得到如下几个程序集 我们可以看到,第一个是可移植的,这里就是我们要编写代码的地方, 下面2个,一个,一个IOS,如果你使用调试...,我们先不管,他类似于windowForm的Program.cs,是帮我们启动项目的....这里有个需要注意的地方.TabbedPage所生成的页面,IOS和会有所区别,如下: IOS的标签会在下面,的根据谷歌给出APP应用程序建议,会在上面......国内很多App在这点上并没有遵循谷歌给的意见,都会统一放在下面. (在后续的章节里会讲,如何重写它,让的也统一在下面)....写在最后 前面我写过一个系列是关于Xamarin.Android的,导致很多朋友都以为,Xamarin只能开发  - -,我很方..

    5.4K61

    采访Philipp Crocoll:平台上整合Java和C#

    于是,我开始思考自己去添加这些功能,我决定Mono版将这个应用移植为C#版,并且基于Keepass 2的源代码来实现密码数据库的修改功能。...由于Keepass 2是C#写的,我评估了在此实现的可能性。这是我第一次接触Xamarin版Mono。我早期的工作中曾经做过一些C#开发,也有过一点开发经验。...事实上,我利用Eclipse对更好的支持Java完成了应用的一部分编写(云存储、自定义键盘)。 InfoQ:将Java和C #代码整合到同一个应用主要需要做哪些事情?这很顺利吗?...而事件的处理:“setOnClickListener(...)”会自动转换成C#的“Click += ……”。 对于一些简单的接口,我还没有发现任何问题。...另一个原因,是版Mono的可移植性,借助它,代码可以运行在Android、iOS(它们使用Xamarin)上,当然还可以运行在Windows和Linux(使用Mono) 上。

    1.7K80

    C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安APK并精简大小),附源码

    也只讲一个,如何打包生成安可安装的APK并精简大小. 正文 我记得,之前在写方面的文章的时候,有人就问过我.Xamarin.Android为什么打包出来这么大?...我们先从指定一个应用程序图标开始.. 1.指定应用程序图标 我们直接右键Android项目,属性.选择清单.如下: ?...(默认为无) Xamarin.Android的链接器采用静态分析来确定Xamarin.Android应用程序使用或引用了哪些程序集,类型和类型成员。...生成过程是首先使用Xamarin.Android链接器来优化应用程序的托管(C#)代码,然后使用ProGuard(如果启用)在Java字节码级别优化APK。...为了保证安全性,我们虽然ProGuard混淆了JAVA代码,但是我们的.NET代码并没有混淆.通过解压APK程序反编译我们的dll,源码就会很轻易的暴露..

    3K80

    叶伟民:被低估的.net(上) - 微软MonkeyFest 2018广州分享会活动回顾

    微软最有价值专家MVP 卢建晖 先生 主讲了Xamarin跨平台开发, 并现场演示了Xamarin在调用iOS/手机底层API实例....这还没包括因为没有读者证不能报名只能直接到现场的同学。有广州图书馆官方微信公众号上的报名满了留言为证。...并且提问的问题质量很高, 比如: 如何用微软AI技术对海洋养殖进行监控分析 在高光谱遥感如何应用微软AI技术 很多人提出了Xamarin的实际应用问题 4....大家对微软.net技术有理解上的误区, 现场就有人反映xamarin(c#/.net)来开发iOS/App性能慢, 但是目前热门的游戏大部分都是C#/.net开发的, 性能并不慢, 比如王者荣耀...所以觉得用xamarin(c#/.net)来开发iOS/App性能慢要么就是心理上的误区,要么就是没有用好. 2. 张队长说他的微信公众号在广州地区就有三千人粉丝. 3.

    62150

    转 | 从零开始 dotnet 做全栈开发

    现在已经能看到一个空白的界面了,在 WPF 写界面推荐的是 xaml 语言,而后台逻辑依然使用 C# 写,展开一个 MainWindow.xaml 文件可以看到 MainWindow.xaml.cs...在 ASP.NET Core 项目有很多可以选的功能,此时请选择 API 因为这个功能创建的项目不会包含太多其他的后台相关知识,同时也创建好了简单可以运行的逻辑,和默认的空项目不同,因为空项目里面几乎没有内容...当然这只是入门的说法,如果想要做出 StackOverflow 这么大的一个网站,还是需要学习超级多的知识 既然后台都开发完成了,下面就是移动端的开发了,为什么本文只是说移动端而不说具体的和 ios...其实在移动端开发的时候就可以自动选择创建后台服务,但是这里创建的后台服务相对内容比较多,没有上面的项目简单,所以这里默认勾选了安装和 ios 开发 现在创建的所有项目就是 Xamarin 的项目数量最多了...没关系,先右击项目,设置为启动项目运行 在运行的时候需要下载模拟器,这个模拟器可以用来在电脑上玩游戏,此时需要等待下载安装 ? 这里不需要关心配置,只需要运行项目。

    1.6K20

    C#-Xamarin的Android项目开发(一)——创建项目

    创建项目 使用Xamarin开发项目,首先需要安装VS2017以上版本。因为VS2017以上的版本,可以直接创建Xamarin项目。...另外用Xamarin开发项目,还需要使用Intel的CPU,并且得是双核以上的CPU,因为调试时,需要使用电脑的虚拟化,奔腾4之类的CPU是不支持虚拟化的。...在Resources文件夹里,我们可以发现,没有存储图片的地方,那么,我们创建一个文件夹drawable用来存储图片。 为什么drawable存图片?...(这里有个编译器的BUG,我们改名以后,编译器并没有同步,所以我们需要清理一下,再重新生成,如果还不成功,就删除obj文件夹,再重新生成) BaseActivity 通过上面的描述,我们初步了解了Xamarin...到此,这个简单的项目已经创建完成了,下一篇文章,将介绍Xamarin如何使用控件。

    3.1K10

    从零开始 dotnet 做全栈开发

    现在已经能看到一个空白的界面了,在 WPF 写界面推荐的是 xaml 语言,而后台逻辑依然使用 C# 写,展开一个 MainWindow.xaml 文件可以看到 MainWindow.xaml.cs...在 ASP.NET Core 项目有很多可以选的功能,此时请选择 API 因为这个功能创建的项目不会包含太多其他的后台相关知识,同时也创建好了简单可以运行的逻辑,和默认的空项目不同,因为空项目里面几乎没有内容...当然这只是入门的说法,如果想要做出 StackOverflow 这么大的一个网站,还是需要学习超级多的知识 既然后台都开发完成了,下面就是移动端的开发了,为什么本文只是说移动端而不说具体的和 ios...其实在移动端开发的时候就可以自动选择创建后台服务,但是这里创建的后台服务相对内容比较多,没有上面的项目简单,所以这里默认勾选了安装和 ios 开发 现在创建的所有项目就是 Xamarin 的项目数量最多了...没关系,先右击项目,设置为启动项目运行 在运行的时候需要下载模拟器,这个模拟器可以用来在电脑上玩游戏,此时需要等待下载安装 ? 这里不需要关心配置,只需要运行项目。

    1.9K20

    H5 手机 App 开发入门:技术篇

    三、原生技术栈 原生技术栈分成 iOS 和两个平台。 简单说,iOS 的原生技术栈就是使用 Object-C 语言或 Swift 语言,在 Xcode 开发环境编程。...上面代码,由于页面本身就是网页,所以可以直接iframe标签插入外部网页。 然后,在本机起一个 Web 服务,看看 Demo 的效果。...上面代码,React Native 自身的WebView控件,编译时会分别转为 iOS 和的原生 WebView 控件。 接下来,预览页面效果。...React Native 的底层还是没有做到无缝适配,它至今没有发布 1.0 版(2019年底是 0.61 版),这多多少少也说明了一些问题。...如果你想用 React Native 做到 iOS 和体验一致,并且充分发挥原生控件的功能,就需要同时熟悉 React Native、iOS、三个平台,这对开发者的要求实在太高了。

    6.8K41

    React Native学习笔记(二)—— 概要、开发环境搭建、第一个React Navite程序

    开发资源不够时,同时由两个团队维护和IOS两套原生APP是成本很高的。此时,就需要选择一个同时支持多平台的客户端开发框架,能够使用一套代码,编译出多平台的APP。...其架构如下: MAUI架构图 APP 编译产物为IL,在APP启动时JIT运行为本机代码。iOS App 则完全由C# AOT编译为IOS的本地组件代码。...官方提供的框架,支持直接编译为和ios应用。 taro 由京东开发,上面提过,是编译为 React Native 来提供移动APP支持。...指令已/即将被,现在升级只用upgrade choco upgrade all -y choco upgrade 指令可简写为 cup,如cup all -y pin 固定 用于固定软件,使得在执行升级全部包时自动跳过...Android SDK Build-Tools33.0.0最后,点击“应用”,下载并安装SDK及相关构建工具。

    3.5K21

    是时候开始C#快速开发移动应用了

    从2015年接触Xamarin到至今已经2个年头,我对Xamarin的技能没有长进多少,但它却已经足够成熟到在跨平台移动开发工具占有一席之地。...在扫了一些资料之后,突然发现国外有很多移动端的应用已经是Xamarin开发,Telerik还有专门的团队来开发Xamarin UI 库,这再次激发起了我的兴趣!...因为在整个UI层几乎是和原生Android开发一模一样,所以如果原来做过Android开发又懂C#,那用Xamarin来开发程序几乎是没有什么学习成本 。...那么对于没有Android开发经验的C#同学来说,学习Android的UI绘制则是必不可少的部份。...Google遵循MD设计风格重构了自己的几个主要APP并发布了的DesignSupportLibrary来让大家更好地开发基于这种设计风格的APP。

    2.6K60

    客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析

    Electron Electron是由Github开发,HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。...JS和Native是如何实现互调的,这里先研究的 Cordova-Android是通过addJavascriptInterface(Android Webview的API)和JS Prompt这两种方式来实现...Xamarin.Android被编译成中间语言,Xamarin在APK安装包中会包含一个mono(跨平台的.NET运行环境),代码是在mono运行时和本地的运行时上完成工作的。...对于那些没有列出来的系统,则使用的是代码解释器。 Xamarin 是一个抽象层,可管理共享代码与基础平台代码的通信。 Xamarin 在提供便利(如内存分配和垃圾回收)的托管环境运行。...使用 Visual Studio 在 C# 编写跨平台应用程序。  Xamarin 允许在每个平台上创建本机 UI,并在 C# 编写跨平台共享的业务逻辑。

    14.5K30

    大量开发者会将访问token和API密钥硬编码至Android应用

    机密信息易遭泄漏 网络安全公司Fallible一项最新的研究结果(点击查看)显示:在统计到的16,000多个应用,有约2,500个应用都出现开发者将机密凭证硬编码进去的情况。...应该说,当需要提供的访问只在有限的范围内时,将第三方服务的访问凭证硬编码到应用程序的做法还是可以理解的。...但在某些情况下,开发者如果将允许访问机密数据或关键系统的key也加入进去,就很容易产生问题。 比如,在Fallible本次的统计,有304个APP就出现了这种情况。...(了解更多详情) 不仅如此,AWS访问凭证也曾被大量发现于GitHub的项目中,这使得亚马逊不得不主动出击扫描这些漏洞并遭泄漏的密钥。...2015年德国达姆施塔特市科技大学的研究人员曾在和iOS系统中发现超过1,000个用于BaaS(后端即服务)框架的访问凭证。

    1.7K80

    最强模拟器火药味十足

    全新的设计语言、全面优化的触控体验、「偏心」开发者的商店、可直接运行 应用、令人咂舌的游戏性能…… 这次的微软,很「反苹果」?...地表最强模拟器 Windows现在支持原生应用了,Surface或将成为最强平板! 网友们表示非常兴奋:我们的Surface终于不用拿来压泡面了。 ? ? ?...而基于Arm的Windows 11设备似乎不需要进行额外的转换,可以在没有「Intel Bridge」的情况下运行应用。不过关于这点,微软还没有解释其中的工作原理。 ?...国外应用模拟器大厂「BlueStacks」对这个件事情表示很蛋疼。 不过其实完全不用担心,现在的模拟器依然会很有市场。...此外,随着Teams逐渐登陆苹果和系统,这将使Teams的竞争力已大大提升。 具体更新是微软将Microsoft Teams的「Chat」整合到任务栏

    1.6K30

    笔记——Gradle入门(十三)

    ——参考:任主席Gradle从入门到实战 - Groovy基础 [微信截图_123.png] 2、向前兼容:系统向前兼容低版本的sdk minSdkVersion <targetSdkVersion...<= compileSdkVersion app当前运行的Android版本API取决于设备版本与targetSdkVersion版本比较 ,如果设备>=targetSdkVersion版本,则当前...app运行的版本为targetSdkVersion;如果设备<targetSdkVersion版本,则当前app运行版本为设备系统版本。...如果我们的工程没有gradle,AndroidStudio会根据这个url去下载对应版本的gradle 3、implementation、api、compile区别: api和compile关键字作用效果是一样的...实际上,api关键字是用来替代compile关键字的,因为compile关键字将来会被。在高版本的gradle,使用compile关键字会报错并提示使用api关键字代替。

    68930

    最大程度的开放:Windows 11即将迎来第三方应用商店

    Windows 11 有个重要的变化是原生支持应用,那么,用户要如何在 Windows 11 下载应用呢?...此前微软曾宣布将通过与亚马逊合作,将应用带到 Windows 11 和 Microsoft Store。...面向开发者,新的 Microsoft Store 有两个重要的变化: Windows 开发人员可以发布任何类型的应用程序,无论是什么样的应用程序框架和打包技术都行——例如 Win32、.NET、UWP...、Xamarin、Electron、React Native、Java 甚至 Progressive Web Apps。...Engadget 评论道,微软或许是利用了双方正“打架”的契机,即使 Mac 用户选择在访问 Epic Games Store 和其他应用商店也没有任何太多困难,它也同样可以将 Windows 11 的应用商店定位为比苹果的

    47720
    领券