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

googleGCM推送使用简介

(1)官网注册应用 首先我们需要到这个网址:https://console.firebase.google.com/ 去注册自己应用,按照相关步骤操作之后,点击下载配置文件,会下载一个叫google-services.json...,因此添加权限屏蔽其他应用,权限格式: + ".permission.C2D_MESSAGE" b.定义一个GcmReceiver接收器,用来接收发送给应用消息...(3)InstanceID 上面我们看到,获取token时候,首先需要InstanceID,当设备上线时候,Instance ID Service会分配一个InstanceID, InstanceID...可以通过调用geId()方法,随时更新InstanceId,因为生成token都是依赖这个InstanceID。...String iid = InstanceID.getInstance(context).getId(); 你也可以删除一个InstanceID,那么对应所有token都会失效,用新InstanceID

6.4K10

Android入门教程 | 广播机制 Broadcast

注册为本地广播接收器无法收到标准广播。 权限广播 发送广播时可以带上相关权限,申请了权限 App 或广播接收器才能收到相应权限广播。...即可调用Manifest.permission.custom_permission 接收权限广播 若注册广播接收器时申明了权限,那么只会接收到带着相应权限广播。...3 收到: " + intent.getAction()); } }; // 注册时候给它权限 标准接收器 private BroadcastReceiver...public void onReceive(Context context, Intent intent) { Log.d(TAG, "[RustFisher-App1] 权限标准接收器收到...广播引起 anr 时间限制 前台广播:BROADCAST_FG_TIMEOUT = 10s 后台广播:BROADCAST_BG_TIMEOUT = 60s Android入门教程视频参考

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

Flutter 移动端架构实践:Widget-Async-Bloc-Service

在BLoC模式下,控件能够: 将事件分发给接收器; 通过流通知状态更新。 根据最初定义,我们只能通过 接收器 和 流 与BLoC进行通信。 虽然我喜欢这个定义,但我发现它在许多场景下限制性太强。...v=d_m5csmrf7I 实战项目:登录页面 现在我们已经了解了WABS在概念上工作原理,让我们使用它来构建Firebase身份验证流程。...然而,对于仅使用接收器和流“严格”版本BLoC,这是不可能。仅供参考,在Redux中实现这样功能…嗯…并不是那么有趣!...本文源码 Flutter & Firebase构建身份验证流程: https://github.com/bizz84/firebase_auth_demo_flutter 接下来这个项目,它针对我...Flutter和Firebase Udemy课程中相关深入资料进行了补充,链接如下: Flutter&Firebase:构建一个完整iOS和Android应用程序

16K20

如何用 Android vitals 解决应用程序质量问题

当你想要使用唤醒警报时,请注意考虑以下几点: 如果你需要根据网络返回数据来显示信息,可以考虑使用消息推送来实现,例如 Firebase Cloud Messaging。...如果你无法使用消息推送并且依赖定期拉取,可以考虑使用 JobScheduler 或者是 Firebase JobDispatcher(甚至是 SyncManager 来获取帐户数据)。...使用收集到有关你应用 ANR 事件匿名数据,Android vitals 提供了有关 ANR 多个级别的详细信息。主屏幕显示你应用程序中发生 ANR Activity 概况。...详细信息视图 ANR 比例页面显示了 ANR 比例随时间变化详细信息,以及按应用版本、Activity 名称、ANR 类型和 Android 版本显示 ANR 信息。...我如何检测 ANR 原因? 查找 ANR 原因可能会非常棘手,就拿 URL 类来说吧。 你觉得确定两个 URL 是否相同 URL#equals 方法是否会被阻塞?

2.2K10

Android vitals 帮您解决应用质量问题

在使用唤醒闹钟时候,您需要考虑以下几点: 若您需要显示信息以响应来自网络数据,考虑通过使用 Firebase Cloud Messaging 等工具来实现消息推送。...如果您无法使用消息推送并依赖定期轮询,考虑使用 JobScheduler 或者 Firebase JobDispatcher (或者使用 SyncManager 来处理账户数据)。...应用程序无法响应 那么,什么是应用程序无法响应 (以下简称为ANR)?它又是怎么影响到用户呢? 对用户而言,ANR 就是指当他们试图与应用进行交互时,但界面卡住事件。...Android vitals 能收集并利用应用 ANR 事件匿名数据,提供多个级别的 ANR 具体报告。...打开详情界面,即 ANR 比率页面,您能够了解不同时间 ANR 具体比例,以及针对不同应用版本、活动名称、ANR 类别、以及 Android 系统下 ANR 情况。

1.4K10

android学习笔记----ANR

应用程序响应能力可能发生最糟糕事情是“应用程序无响应”(ANR)对话框。...本文档描述了Android系统如何确定应用程序是否没有响应,并提供了确保应用程序保持响应指南。 什么触发ANR? 通常,如果应用程序无法响应用户输入,系统将显示ANR。...以这种方式设计应用程序将允许应用程序UI线程保持对输入响应,从而避免由5秒输入事件超时引起ANR对话框。...BroadcastReceiver 执行时间具体约束强调广播接收器意图:在后台进行小,离散工作量,例如保存设置或注册 Notification。...因此,与UI线程中调用其他方法一样,应用程序应避免在广播接收器中进行长时间运行或计算。

50900

Android高频面试专题 - 基础篇(四)BroadcastReceiver

LocalBroadcastManager内部维护了mReceivers和mActions两个HashMap, mReceivers 是接收器和IntentFilter对应表,主要作用是方便在unregisterReceiver...(…)取消注册,同时作为对象锁限制注册接收器、发送广播、取消接收器注册等几个过程并发访问。...,在AndroidManifest文件中声明接收器不起作用。...(2)接受广播 注册广播接收器时,增加相应permission,用于权限验证。 注册广播接收器时,设置android:exported值为false。 使用本地广播。...不能,广播接收默认是在主线程中运行,在前面Android高频面试专题 - 进阶篇(一)ANR中讲过,广播超时是10s(前台)和60s(后台),如果耗时超过这个时间,就会抛出ANR,所以如果需要在广播内执行耗时操作

1.6K41

Firebase Analytics揭秘

1、Firebase如何识别用户 Firebase Analytics识别用户是基于应用实例ID,Firebase Analytics 会自动为应用每个实例生成并分配一个应用实例ID。...Firebase Analytics默认定义会话是10秒,也就是至少跟APP交互10秒才会被记录,如果一个用户打开APP后直接关掉,少于10秒,是不会被记录会话,这个会导致Firebase Analytics...4、Firebase Analytics数据更新频率? 一般是三到四小时更新一次,最长是24小时。 5、Firebase对于事件使用?...Firebase Analytics最多可以使用500个事件,收集事件数量是不限制,默认是可以使用50个事件参数,包含40个数字和10个文本,如果使用APP+Web是可以使用100个事件参数,每个事件最多可以...有了足够数据后(每个年龄/性别类别至少有10位用户),该类别的数据就会显示出来 7、Firebase Analytics缓存事件/数据发送有效窗口期 72小时,超过72小时发送无效,这个时间绝对是够

7.9K20

app自动化面试题

Killed):当Activity被系统回收掉,Activity就处于Killed状态 3Android四大组件"Android四大基本组件: Activity、BroadcastReceiver广播接收器...BroadcastReceiver广播接收器:应用可以使用它对外部事件进行过滤只对感兴趣外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。...出现ANR,是什么原因导致?...细分的话,导致ANR原因有如下几点: 1.耗时网络访问 2.大量数据读写 3.数据库操作 4.硬件操作(比如camera) 5.调用threadjoin()方法、sleep()方法、wait()...8app对于不稳定偶然出现anr和crash时候你是怎么处理? app偶然出现anr和crash是比较头疼问题,由于偶然出现无法复现步骤,这也是一个测试人员必备技能,需要抓日志。

1.4K20

移动APP测试基础培训

②Monkey主要用来检测系统ANR及Crash等问题。...ANR全称是application not responding,根据它意思我们就能看出来是应用程序未响应,就像是我们在电脑上碰到 程序未响应,一般电脑出现这种情况,可能是由于我们打开了很多应用程序...下图就是我们见到APP无响应时候出现对话框,产生ANR原因很多,但是只有在Activty中ANR才会弹出对话框, 对话框有两个选项,一个是等待,一个是关闭程序供用户选择: ANR产生条件...: 1、只有主线程才会产生ANR,主线程就是UI线程; 2、必须发生某些输入事件或特定操作,比如按键或触屏等输入事件,在BroadcastReceiver或Service各个生命周期调用函数; 3、上述事件响应超时...,不同context规定上限时间不同 ANR产生环境: 1、5秒内无法对输入事件(按键及触摸)做出响应 2、广播接收器无法在10秒内结束运行 具备了以上三个条件,那么加上这两个环境,就会产生ANR

1.3K20

Android中四大组件以及如何避免anr

//异常处理代码 Log.i("tag","还未绑定服务"); } 3,BroadcastReceiver,广播接收器...,广播接收器只有一个方法onReceive,广播接收器组件用法如下: 第一步:自定义一个类,继承自BroadcastReceiver,并重写onReceive方法,代码如下: <span style...,属于非常驻型,存活周期受activity影响,方便管理 总结:      面试必备一个问题:如何去避免anr?...anr是说程序无响应,是由于耗时操作造成 ,那么如何更好避免呢?     首先,哪些属于耗时操作?    网络操作,大文件拷贝,阻塞式请求等属于耗时操作。。     ...广播接收器onReceive方法执行时间特别短只有不到10s,这也就意味着无法在广播接收器中进行耗时操作,而且因为onReceive方法时间太短也无法去开启子线程来进行耗时操作,所以可以在onReceive

47220

17 个必须掌握 BroadcastReceiver 知识点「建议收藏」

当广播接收器收到广播后,当前广播也可以使用 setResultData 方法将数据传给下一个接收器。...使用 getStringExtra 函数获取广播原始数据,通过 getResultData 方法取得上个广播接收器自己添加数据,并可用 abortBroadcast 方法丢弃该广播,使该广播不再被别的接收器接收到...默认情况下,广播接收器也是运行在主线程,因此 onReceiver() 中不能执行太耗时操作( 不超过 10s ),否则将会产生 ANR 问题。...接受广播 注册广播接收器时,增加相应 permission ,用于权限验证。 注册广播接收器时,设置 android:exported 值为false。...耗时操作会导致 ANR 另一方面 BroadcastReceiver 启动时间较短。 如果一个进程里面只存在一个 BroadcastReceiver 组件。并且在其中开启子线程执行耗时任务。

1.3K31

Android面试题:Broadcast需要注意哪些细节

线程及ANR 默认Broadcast都是运行在主线程,而且android对它运行(onReceive)有一个时间限制——10秒,即ANR时间,所以不要在onReceive执行耗时操作。...根据网上资料: 拥有一个活跃状态广播接收器进程被保护起来而不会被杀死,但仅拥有失活状态组件进程则会在其它进程需要它所占有的内存时候随时被杀掉。...所以不能在onReceive中进行异步操作,即开启新线程,因为当onReceive执行完处于失活状态,它和这个新线程可能随时被销毁,导致不可预计程序问题。...同时,Broadcast创建也一样,动态注册时候我们手动创建,所以是一个对象。...比如我们在menifast中静态注册一个Broadcast,然后通过一个按钮发送这个广播,在BroadcastonReceive中打印自己对象toString,发现每次点击都是一个新对象来执行。

19930

Android 广播机制(Broadcast)介绍与使用

注册为本地广播接收器无法收到标准广播。 权限广播 发送广播时可以带上相关权限,申请了权限App或广播接收器才能收到相应权限广播。...即可调用Manifest.permission.custom_permission 接收权限广播 若注册广播接收器时申明了权限,那么只会接收到带着相应权限广播。...示例 - 使用标准广播,本地广播,权限广播,有序广播 发送和接收广播。分为发送和接收方2个App。 使用权限广播。系统权限与自定义权限。...3 收到: " + intent.getAction()); } }; // 注册时候给它权限 标准接收器 private BroadcastReceiver mStandardReceiverWithPermission...@Override public void onReceive(Context context, Intent intent) { Log.d(TAG, "[App1] 权限标准接收器收到

2.8K30

应用崩溃了?Android vitals 帮您精确诊断

Android vitals 会收集以下类别的数据和报告: 稳定性:Android vitals 会报告应用无响应 (ANR) 现象和崩溃率。当应用 UI 线程长时间被阻塞时会发生 ANR。...用户可以选择在 ANR 发生时退出或等待。另外再次强调一下,崩溃是由于未处理异常而引发,所以对稳定性相关数据和报告解读十分重要。 电量:移动设备电量是有限,因此应该谨慎管理应用消耗电量。...Overview 页面在顶部显示核心 vitals 指标 (崩溃、过度唤醒、ANR、部分唤醒锁定阻塞)。我们发现,这些指标对应用性能表现较为重要。...不过,一旦确定崩溃来源,调试就变得容易多了。 应用崩溃和 ANR 在 Android vitals 菜单下有一个专门分区。...但是在处理应用崩溃时,以下方案可能会派上用场: 使用像 Firebase Crashlytics 这样优秀崩溃报告工具以及 Android vitals,更深入地了解应用崩溃现象。

1.9K30

HomeRental - 预订房产 带有聊天功能完整 Flutter 应用程序 | 获取X | 网络管理面板v1.0.9

登录(有效电子邮件和密码),Firebase 身份验证 3. 注册(有效电子邮件、全名、密码),Firebase 身份验证 4....服务器、托管、支持 SSL 域 (https) 3. PHP、MySQL、PHPMyAdmin,支持 API JSON + PHP 4. Firebase 帐户控制台开发人员 5....使用 PHP v 7.4 至 7 Code Igniter v.4x。遵循技术文档中说明。全力支持。 8. 思考大脑 技术栈: 1....Firebase 集成(FCM、身份验证、通知) 4. Google Map 集成(需要 API Google Key) 5. Flutter 最新准备就绪(声音零安全)。 6....服务器、托管、 SSL 域需要支持。 11. 数据库 MySQL、PHPMyAdmin、Bootstrap HTML5 Web 面板 12. Android 和 iOS 均运行良好

8910
领券