如何在 Android 系统上推送通知66
在 Android 系统中,推送通知是应用程序向用户传递重要信息而不必打开应用程序的一种机制。推送通知通常显示在设备的通知栏中,可以包含文本、图像和操作按钮。
以下是如何在 Android 系统上推送通知:
创建 Firebase Cloud Messaging (FCM) 项目
FCM 是 Google 为 Android 应用程序提供的推送通知服务。要使用 FCM,您需要创建一个 FCM 项目:1. 转到 Firebase 控制台 ()。
2. 单击“添加项目”。
3. 输入项目名称,然后单击“创建”。
4. 授予必要的权限并启用 FCM API。
获取服务器密钥和项目 ID
要从服务器发送通知,您需要获取服务器密钥和项目 ID:1. 在 Firebase 控制台中,转到“项目设置”。
2. 在“云消息传递”选项卡中,单击“服务器密钥”标签。
3. 复制“服务器密钥”。
4. 从控制台的概览页面复制“项目 ID”。
在 Android 应用程序中设置 FCM
在 Android 应用程序中,您需要设置 FCM 并向设备注册:1. 在您的应用程序模块的 文件中,添加以下依赖项:
```
implementation ':firebase-messaging:23.0.5'
```
2. 在 文件中,添加以下权限:
```
```
3. 创建一个 MyFirebaseMessagingService 类,并在 onMessageReceived() 方法中处理传入通知:
```kotlin
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
(remoteMessage)
// 处理推送通知
}
}
```
4. 在 onCreate() 方法中注册 FCM 监听器:
```kotlin
override fun onCreate() {
()
().isAutoInitEnabled = true
}
```
从服务器发送通知
要从服务器发送通知,您可以使用 HTTP POST 请求。您需要提供以下信息:* 服务器密钥
* 项目 ID
* 目标设备令牌 (从设备注册 FCM 时获得)
* 通知内容
示例请求:```
POST /v1/projects/YOUR_PROJECT_ID/messages:send
Authorization: key=YOUR_SERVER_KEY
Content-Type: application/json
{
"to": "DEVICE_TOKEN",
"data": {
"title": "Notification Title",
"body": "Notification Body"
}
}
```
处理通知操作
您可以向通知添加操作,当用户点击该操作时,可以执行某些操作。要添加操作,您需要在 data 字段中提供一个 action 键:```
{
"to": "DEVICE_TOKEN",
"data": {
"title": "Notification Title",
"body": "Notification Body",
"action": "ACTION_NAME"
}
}
```
在应用程序中,您可以在 MyFirebaseMessagingService 的 onMessageReceived() 方法中处理操作:```kotlin
override fun onMessageReceived(remoteMessage: RemoteMessage) {
(remoteMessage)
val action = ["action"]
if (action != null) {
// 处理操作
}
}
```
2024-12-07