编写移动软件是可以为您找到工作的最热门技能之一。 整个生态系统由iOS和Android两大平台驱动,确实是成为开发者的最佳时机。
假设您已经具备一定的编程经验,那么应用程序开发对您来说不会是压倒性的。 这确实将是一次学习体验,我从个人经验中讲到,学习在平台上构建可以让您的思维开启全新的思维方式。 因为现在您不仅要管理应用程序的前台和后台发生的事情,还要管理其不同的不可见状态,并确保它成为用户设备生态系统的“好公民”。
这篇文章是 TechLila 正在进行的系列文章的一部分,我们将关注如何通过花时间构建体验而不是思考已经优雅解决的问题来成为更好的开发人员(我会来只需一点点)。 但是请注意,这个系列 不适合初学者,我们很快就会为您准备好东西。 本系列的重点是帮助已经拥有相当多的 Android 专业知识的开发人员。
本文是我们将发布的系列文章中的第一篇,旨在帮助 Android 开发人员利用现有基础架构将关键的“引人入胜”的功能添加到他们的应用程序中,而不必担心从头开始构建它。
Android 上的推送通知
在第一个中,我们将专注于推送通知。 推送通知属于软件集成的参与范围。
好吧,假设您刚刚完成了下一个史诗般的应用程序的构建,它完全是杀手级的,并且您对它的未来非常乐观。 在最初的几天里,该应用程序运行良好。 稳定性是一流的,下载量不断增加,您无法关注指标。 但是很快您就会开始注意到应用程序使用中的一个非常奇怪的模式。 虽然它设法为自己吸引新用户,但它正在失去现有用户。 保留率每天都在下降。 你担心现在该怎么办,你认为人们真的会喜欢它。 但它只是没有解决。
如果您处于这种情况,那么这篇文章可能会为您提供帮助。 问题不在于您的应用程序。 这是用户的电话。 让我解释。 你的想法是一个杀手,如果你对它的可行性充满信心,那么你应该关心的就是解决保留问题。 所以是的,我是你的用户,我有一部典型的 Android 手机。 拥有不错的 32 GB 存储空间,感谢 Reliance Jio,提供了非常稳定的互联网连接。 我该怎么办? 我去探索外面有什么可供我消费。 在这个过程中,我只是用 100 多个应用程序阻塞了我的设备,虽然我真的很喜欢你的应用程序并且发现它很有趣,但老实说此时我已经忘记了它。 它仍然存在于我的手机上,但我只是在那里的所有其他应用程序中没有注意到它。
这里的问题是您的应用不够吸引人。 它只是提醒用户它就在他们的设备上等待他们使用它,并且在 Facebook 和 WhatsApp 等所有注意力异常的应用程序中不断用通知轰炸您的用户,除非它修复了您的应用程序,否则您的应用程序很可能会迷失在人群中参与问题。
如何向您的 Android 项目添加推送通知
推送通知是一种很好的解决问题的轻量级机制,本文将向您展示如何在您自己的项目中实现它。
我们将使用 IBM 的 Bluemix 用于将推送通知集成到我们的应用程序中。 有大量其他供应商可以为您提供一个 SDK 以集成到项目中并开始开发它。 但是,我之所以选择 Bluemix 而不是其他产品,有几个关键原因。
- First Bluemix 提供了大量的功能,我可以将这些功能添加到现有项目中而零麻烦(推送通知恰好是这些产品中的一个)。 他们的控制台可以轻松管理所有集成。
- 其次,如果您是初学者并尝试任何其他 SDK,您很可能会卡在某个地方(我确实遇到过)。 对于 Bluemix,情况几乎不是这样,因为理论文档和指南非常棒。
- 选择 Bluemix 的第三个也是最重要的一个原因是,尽管它是一项付费服务,但它提供 30 天的试用期,因此您可以在决定使用他们的平台并投资之前试用他们的所有产品。 在投资之前测试一些东西总是一个好习惯。
- 第四,这更像是布朗尼指向 IBM,开发人员对 IBM 作为一家公司有一种熟悉感和信任感。 他们在技术领域做了一些了不起的工作已经有一段时间了,他们很了解他们的东西,所以你可以毫无顾虑地跳槽
为了进一步学习本课程,我们首先需要确保我们都在同一页面上,因此在深入了解这篇文章之前,请确保您已注册 Bluemix(如果您还没有)并登录到控制台。
本文的重点是 Android,因此我假设您对为 Android 编写应用程序有一定的了解。 好的,让我们开始吧。
第 1 步:初始设置
在 Android Studio 中打开一个您想要集成推送通知的现有项目。 您也可以继续创建一个新项目来测试一下。 如果您要打开现有项目, 确保你切换到一个新的分支 在对您的项目进行任何添加之前。 完成此步骤后,构建项目并将其部署到您的手机/模拟器上。 这将证明一切都按预期进行,我们一切顺利。
第 2 步:检索您的 Firebase Cloud Messaging API 密钥
Bluemix 利用 Google Cloud Messaging 向您的应用程序发送下游推送通知。 通过接管您的 Firebase Cloud Messaging (GCM) 项目,您可以轻松地为您进行设置和配置。 前往 console.firebase.google.com,使用 Google 帐户登录,然后按照以下步骤操作
- 创建一个新项目。
- 给它一个名字。
- 设置完成后,转到项目设置。
- 单击云消息传递。
- 复制 服务器 API 密钥 和 发件人ID 如下面的截图所示。
- 完成上述步骤后,继续将 Firebase 添加到您的 Android 项目。 此步骤涉及输入项目的包名称和其他详细信息,然后下载“谷歌服务。JSON“ 文件中。

注意: 正确完成此步骤以确保接下来的步骤正常运行非常重要。 确保您的应用程序已配置并且“google-services.json”文件已放置在您的项目中。
第 1 步:注册应用

第 2 步:下载配置文件

第 3 步:添加 Firebase SDK

确保你在这个阶段运行你的项目只是为了看看是否一切正常。 如果一切正常,则进行下一步。
步骤 3:配置 Bluemix 服务
- 转到您的 Bluemix 控制台。
- 打开您的 Bluemix 目录,然后单击您创建的 IBM Push Notifications for Bluemix 服务实例。
- 单击管理,然后转到配置。
- 选择手机。
- 现在在此处输入您在上一步中刚刚复制的凭据。 更新 气相色谱仪/色谱仪 使用“推送凭据”选项卡 发件人 ID/项目编号 和 API密钥.
- 点击保存。
第 4 步:发送推送!
- 好了,我们快完成了。 在您的手机/模拟器上部署您的应用程序,然后转到您的控制台。
- 选择发送通知。
- 在此部分配置您的消息。

- 一切都完成后,点击 发送 然后转到您的设备。

根据他们的文档,Bluemix 为 Android 提供了一些额外的选项。 您可以广泛配置您的通知。 以下是选项(直接来自他们的文档):
- 折叠键: 折叠键附加到通知。 如果多个通知在设备离线时使用相同的折叠键依次到达,它们将被折叠。 当设备上线时,它会接收来自 FCM/GCM 服务器的通知,并且只显示带有相同折叠键的最新通知。 如果未设置折叠键,则会存储新消息和旧消息以供将来传递。
- 声音: 表示在收到通知时播放的声音片段。 支持默认或捆绑在应用程序中的声音资源的名称。
- 图标: 指定要为通知显示的图标的名称。 确保您已将图标打包在
res/drawable
文件夹,与客户端应用程序。
- 优先级: 指定用于为消息分配传递优先级的选项。
- 优先权
high
ormax
将导致提示通知。
- 优先权
low
ordefault
不会在睡眠设备上打开网络连接。
- 优先权
min
将是无声通知。
- 优先权
- 能见度: 您可以选择将通知可见性选项设置为
public
orprivate
.- 新的
private
选项限制公众查看,如果您的设备通过 PIN 或图案确保安全,并且通知设置设为 隐藏敏感的通知内容. 当可见性设置为private
,以redact
必须提到的领域。 仅在规定的内容redact
字段将显示在设备上安全锁定的屏幕上。
- 新的
public
选项将使通知可以自由阅读。
- 新的
- 生存时间: 该值以秒为单位设置。 如果未指定此参数,则 FCM/GCM 服务器会将消息存储四个星期并尝试传送。 有效期在四个星期后到期。 可能的值范围是 0 到 2,419,200 秒。
- 空闲时延迟: 您可以将其设置为以下任一值:
True
如果设备空闲,则指示 FCM/GCM 服务器不发送通知。
False
即使设备空闲也能确保通知传递。
- 同步: 通过将此选项设置为
true
,您所有注册设备上的通知都是同步的。 如果具有用户名的用户在多台设备上安装了相同的应用程序,则在一台设备上阅读通知可确保删除其他设备中的通知。 您需要确保您使用 userId 向 Push Notifications 服务注册,此选项才能工作。
- 额外的有效载荷: 为您的通知指定自定义负载值。
- 可扩展通知: 这为客户提供了一个选项来扩展具有更多信息的通知,而基本通知将在通知折叠时可见。 支持以下选项:
- 大图片通知:您可以选择在通知展开时包含图片。 确保为图片提供标题文本和 URL。
- 大文本通知:您可以选择在标题中包含附加文本。 确保提供大文本消息和标题文本信息。
- 收件箱样式通知:您可以发送样式为收件箱通知的通知。 提供标题文本并在行中提供消息。
总结
就是这样! 就像这样,您只需四个简单的步骤即可在您的应用程序中设置推送通知,而无需经历采购服务器的麻烦和不必要的复杂性。 这就是使用 IBM Bluemix 进行开发变得多么容易。 推送通知只是他们的产品之一。 他们提供众多数据库和 Watson API。 而且由于 Bluemix 控制台将所有内容联系在一起,因此您无需在服务之间不断切换。 这一切都在一个屋檐下。 我希望本文能帮助您学习新的东西,如果您有兴趣学习更多类似的东西,我强烈建议您尝试 Bluemix。
您在这里分享了一些重要信息。 很高兴读到你的博客。
很好的分步指南,简单易懂! 这对我帮助很大!
不错的文章。 喜欢你一步一步提供的提示。