使用 Parse.Com 的 Android 推送通知

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

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

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 等智能控制器生成的消息,敬请期待!