使用 Parse.Com 的 Android 推送通知

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

Android 推送通知 是一种用于将消息直接发送到 Android 智能手机的服务。使用此服务,开发人员可以在数据可用时立即将数据发送到 Android 应用程序 ,这样 Android 应用程序就不必向服务器发出请求以了解是否有新信息可用。

使用 Android 推送 服务,应用程序可以节省智能手机电池并减少网络流量:用户体验也得到改善。

有几种不同的方法可用于实现 Android 推送通知 ,标准方法是使用 GCM(Google Cloud Messaging) ,但也有一些非常有趣的替代方法,如 Parse.com ,更易于使用。


Parse.Com 设置项目

第一件事是创建一个 Parse 帐户 并配置一个新应用程序。这很容易。完成所有事情后,就可以在 Android Studio 中创建一个新项目并修改 build.grade 以包含解析库:


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}


现在您可以按照 Parse.com 提供的教程 进行操作。在我们的例子中,我们创建了一个扩展 Application ParseTutorialApplication ,它用于配置 Parse 连接:


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}


现在您使用库提供的默认接收器,在下一段中您将看到如何自定义它。

如果项目配置正确,您可以尝试使用 Web 界面发送推送通知:







在您的 Android 模拟器中,您应该会收到通知:




请确保模拟器包含 Google API。


Parse.Com 自定义接收器

现在是自定义接收器的时候了,这样我们就可以支持自定义消息,而不仅仅是文本消息。自定义接收器,可以实现应用程序逻辑,如解析传入消息和显示自定义消息等。回顾 Manifest.xml,作为 广播接收器 ,它使用标准接收器 com.parse.ParsePushBroadcastReceiver,现在要自定义其行为,我们可以将其子类化:


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}

并覆盖 onPushReceiver 以便在消息可用时可以实现应用程序逻辑。让我们假设消息是这样的 JSON 格式:


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}

onPushReceiver 中,应用程序解析消息:


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}

一旦消息内容可用并从 JSON 消息中提取出来,应用程序就会使用 NotificationCompat NotificationManager 将其通知给用户。


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}

其中 pendingIntent 是在用户触摸推送通知时启动 Activity 的 Intent 实例:


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}


最后应用程序通知消息:


 dependencies {
    ...
    compile 'com.parse.bolts:bolts-android:1.2.1'
    compile 'com.parse:parse-android:1.10.1'
}


最终结果如下图所示:



请注意,我们也自定义了通知图标。
在这篇文章的最后,您将了解如何使用 Parse.com 发送 android 推送消息,在接下来的文章中,您将学习如何使用推送通知发送由 Arduino 等智能控制器生成的消息,敬请期待!


相关文章