基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

时间:2021-7-21 作者:qvyue

版本记录

版本号 时间
V1.0 2021.04.10 星期六

前言

Firebase是一家实时后端数据库创业公司,它能帮助开发者很快的写出Web端和移动端的应用。自2014年10月Google收购Firebase以来,用户可以在更方便地使用Firebase的同时,结合Google的云服务。Firebase能让你的App从零到一。也就是说它可以帮助手机以及网页应用的开发者轻松构建App。通过Firebase背后负载的框架就可以简单地开发一个App,无需服务器以及基础设施。接下来几篇我们就一起看一下基于Firebase平台的开发。感兴趣的看下面几篇文章。
1. 基于Firebase平台开发(一) —— 基于ML Kit的iOS图片中文字的识别(一)
2. 基于Firebase平台开发(二) —— 基于ML Kit的iOS图片中文字的识别(二)
3. 基于Firebase平台开发(三) —— Firebase基本使用简介(一)
4. 基于Firebase平台开发(四) —— Firebase基本使用简介(二)
5. 基于Firebase平台开发(五) —— Firebase基本使用简介(三)
6. 基于Firebase平台开发(六) —— 基于Firebase Analytics的App使用率的跟踪(一)
7. 基于Firebase平台开发(七) —— iOS的A/B Test(一)

开始

首先我们看下写作内容:

了解如何在您的SwiftUI iOS应用中使用Firebase Cloud Messaging发送和接收远程推送通知。内容来自翻译。

接着看下写作环境:

Swift 5, iOS 14, Xcode 12

接着就是正文啦。

人们与应用程序进行交互的方式因人而异。这可能使您很难知道您的客户何时使用您的应用程序,尤其是在您需要向他们提供重要信息时。推送通知(Push notification)提供了一种统一,一致的方式来通知您的应用程序用户几乎所有内容。

要接收推送通知,您的设备需要通过接收唯一的device tokenApple Push Notification service (APNs)注册。注册设备后,您可以通过使用device tokenAPNs发送请求来向设备发送推送通知。所有这些通信都需要通过某种Web服务器进行。

您可以实现自己的Web服务来与APNs通信,但是有更简单的选择。其中之一是Firebase Cloud Messaging(FCM)。有了Firebase Cloud Messaging(FCM),您就可以轻松使用易于使用的系统! FCM处理push notifications的云方面,使您无需编写自己的Web服务即可发送和接收推送。

在本教程中,您将学习如何:

  • 设置您的SwiftUI应用,以使用Swift Package Manager通过GoogleFirebase Cloud Messaging接收推送通知
  • 通过media发送通知
  • 接收基于主题的通知
  • 通过push notification的内容向您的应用添加信息
  • 获取有关推式通知打开频率的信息

要继续学习本教程,您需要:

  • 付费的Apple Developer Program会员资格,可在您的应用程序中使用push notifications
  • 一个Google Firebase帐户。您无需支付任何费用即可完成本教程。如果您选择在生产环境中使用Firebase,则可以在关联的站点上找到定价信息pricing information。
  • 物理iOSiPadOS设备,因此您可以接收推送通知

注意:虽然您可以在模拟器上测试本地推送通知,但是您需要在物理设备上运行才能从FCM接收推送通知。

您将使用的应用程序Good News为用户提供了一个只有好消息的新闻提要。 这是因为即使世界上发生了坏事,也要记住也要发生好事!

在启动文件夹中,打开GoodNews.xcodeproj。 打开Project navigator,然后选择Good News target。 在Signing & Capabilities选项卡中,选择您的开发团队,然后输入一个新的Bundle Identifier。 现在,可以在真实设备或模拟器上进行构建和运行。

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

您会看到该应用程序具有用于向用户显示新闻文章的feed,以及一个供用户选择订阅主题的标签。


Configuring Firebase

接下来,您将学习如何配置Firebase

1. Creating the p8 Certificate

Firebase要求您将p8证书上传到您的应用程序。 这是一个特殊文件,其中包含允许Firebase发送通知的私钥。 要获取p8证书,请登录Apple Developer。

选择Certificates, Identifiers & Profiles,然后转到Keys。 选择圆圈+按钮以创建新的key

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

给它命名并启用Apple Push Notifications service (APNs)服务。 选择Continue,然后在下一个屏幕上选择Register

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

请务必在此屏幕上记下以下三个项目:

  • 选择Downloadp8文件保存在本地。 您需要将其上传到Firebase。 退出此屏幕后,您将无法下载此文件(You cannot download this after leaving this screen)
  • Key ID复制并保存到文件中。
  • 复制并保存您的Apple membership ID。 该名称位于Membership Center右上角下的您的姓名旁边或Membership Details下面。
基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

2. Setting up the Firebase Project

接下来,转到您的Firebase帐户,然后选择页面右上角的Go to console。 选择Add project,然后执行以下操作来创建您的项目:

  • 使用名称Good News
  • 启用Google Analytics
  • 选择Google Analytics的名称和国家/地区。
  • 使用默认的分析设置。

注意:如果您不需要跟踪用户与推送通知的交互方式,则可以禁用Google Analytics(分析)并跳过设置。

然后,您需要使用Apple p8和会员信息配置Firebase。 在您的Firebase项目中,选择Project Overview旁边的齿轮,然后选择Project settings

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

接下来,在项目设置的General部分下设置一个iOS应用:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

从那里转到应用程序配置页面:

  • 为您的项目添加Bundle Identifier
  • 如果需要,可以将App nicknameApp Store ID保留为空白。

注册您的应用程序后,下载GoogleServices-Info.plist。 稍后,您需要使用此功能在您的应用中配置Firebase。 您可以为其余步骤选择Next。 您将不会使用CocoaPods,并且现在您可以忽略将初始化代码添加到您的应用程序的步骤。

接下来,转到Firebase项目设置中的Cloud Messaging,上传您的p8证书。 在APNs Authentication Key下,选择Upload

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

您会看到一个弹出窗口,要求您:

  • 上载从Apple下载的.p8文件。
  • 输入创建p8时保存的Key ID
  • 输入您的Apple membership ID

选择Upload以完成Firebase项目的设置。

3. Adding the Package

现在,您将使用Swift Package ManagerFirebase依赖(dependency)项添加到您的项目中。在Xcode中,选择File ▸ Swift Packages ▸ Add Package Dependency…。在Choose Package Repository弹出窗口中,输入https://github.com/firebase/firebase-ios-sdk.git

选择Next,保留默认选项,直到出现包含软件包列表的屏幕。 Xcode下载必要的数据时可能会花费一些时间。从列表中选择以下软件包:

  • FirebaseAnalytics
  • FirebaseMessaging

如果您不想收集有关用户如何使用推送通知的信息,请随时取消选中FirebaseAnalytics。添加这些软件包后,可能需要花费几分钟来添加和构建依赖关系。

注意:在撰写本文时,Firebase的最新版本是7.3

接下来,将GoogleService-Info.plist添加到您的Xcode项目的Assets组中的项目:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

最后,您可以开始向您的应用添加代码!

4. Configuring Your App

首先打开Info.plist并添加以下条目:

  • Key: FirebaseAppDelegateProxyEnabled
  • Type: Boolean
  • Value: NO (Xcode will show this as 0)
基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

默认情况下,FirebaseMessaging使用method swizzling处理推送通知。 您将自己处理所有代码,因此请使用刚添加的plist条目将其关闭。

接下来,您将一个app delegate添加到您的项目中,该委托将负责设置push notifications。 创建一个名为AppDelegate.swift的新文件,并将其代码替换为以下代码:

import UIKit
import Firebase
import FirebaseMessaging
import FirebaseAnalytics

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication, 
    didFinishLaunchingWithOptions 
      launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
  ) -> Bool {
    return true
  }
}

在上面的代码中,您首先导入必要的Firebase框架,然后实现UIApplicationDelegate协议。

接下来,在AppMain.swift中的AppMain中添加一个新属性:

@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

这将使SwiftUI知道您新创建的应用程序代理。 现在,您可以开始配置Firebase

5. Launching Firebase

return之前,再次打开AppDelegate.swift并将以下内容添加到application(_:didFinishLaunchingWithOptions :)中:

// 1
FirebaseApp.configure()
// 2
FirebaseConfiguration.shared.setLoggerLevel(.min)

这是这样做的:

  • 1) 它将您的应用程序配置为可与Firebase一起使用。
  • 2) 它设置Firebase将记录的数量。 将此设置为min会减少您在调试器中看到的数据量。

由于您不希望Firebase通过swizzling自动处理notification code,因此您需要遵守UNUserNotificationCenterDelegate。 将以下内容添加到AppDelegate.swift的末尾:

extension AppDelegate: UNUserNotificationCenterDelegate {
  func userNotificationCenter(
    _ center: UNUserNotificationCenter,
    willPresent notification: UNNotification,
    withCompletionHandler completionHandler:
    @escaping (UNNotificationPresentationOptions) -> Void
  ) {
    completionHandler([[.banner, .sound]])
  }

  func userNotificationCenter(
    _ center: UNUserNotificationCenter,
    didReceive response: UNNotificationResponse,
    withCompletionHandler completionHandler: @escaping () -> Void
  ) {
    completionHandler()
  }
}

当通知到达或用户与之交互时,用户通知中心将调用这些方法。 您稍后再与他们合作。

6. Registering for Notifications

在配置了Firebase的情况下,您可以开始注册以接收通知。 将以下方法添加到UNUserNotificationCenterDelegate扩展中:

func application(
  _ application: UIApplication,
  didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data
) {
  Messaging.messaging().apnsToken = deviceToken
}

当用户授予推送通知权限时,APNs将生成并注册token。 该token标识单个设备,因此您可以向其发送通知。 您将使用Firebase分发通知,此代码使该tokenFirebase中可用。

现在,您可以在return之前将以下内容添加到application(_:didFinishLaunchingWithOptions :)中:

// 1
UNUserNotificationCenter.current().delegate = self
// 2
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
  options: authOptions) { _, _ in }
// 3
application.registerForRemoteNotifications()

代码是这样的:

  • 1) 将AppDelegate设置为UNUserNotificationCenter的代理。 在上一步中,您实现了必要的代理方法。
  • 2) 创建与您的应用程序将请求哪种推送通知权限相关的选项。 在这种情况下,您需要alerts, badges and sound
  • 3) 注册您的应用以获取远程通知。

接下来,在文件底部添加以下扩展名:

extension AppDelegate: MessagingDelegate {
  func messaging(
    _ messaging: Messaging,
    didReceiveRegistrationToken fcmToken: String?
  ) {
    let tokenDict = ["token": fcmToken ?? ""]
    NotificationCenter.default.post(
      name: Notification.Name("FCMToken"),
      object: nil,
      userInfo: tokenDict)
  }
}

MessagingFirebase的类,用于管理与推送通知相关的所有内容。 像许多iOS API一样,它具有一个称为MessagingDelegate的代理,您可以在上面的代码中实现该代理。 每当您的应用程序启动或Firebase更新您的token时,Firebase都会调用您刚添加的方法以使应用程序与其保持同步。

现在,在return之前,将以下内容添加到application(_:didFinishLaunchingWithOptions :)

Messaging.messaging().delegate = self

这会将AppDelegate设置为Messaging的代理。

您已经很接近了 —— 仅需一步就可以准备好您的应用。 在Xcode中,打开应用程序的项目设置,然后转到Signing & Capabilities。 选择+ Capability按钮。 在字段中搜索Push Notifications,然后按Enter

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

7. Sending Notifications

您的应用现在可以接收通知了! 在真实设备上构建并运行。 它的外观应与以前相同,但带有alert,要求您允许向您发送通知。 确保选择Allow

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

现在,转到您的Firebase项目,然后选择在Engage下找到的Cloud Messaging。 然后选择Send your first message

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

Step 1下,输入以下内容:

  • Notification title: Notification Test
  • Notification text: This is a test

接下来,从Step 2的下拉列表中选择您的应用:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

使用Cloud Messaging控制台时,这将针对您的特定应用程序。

最后,选择Review,然后选择Publish。 在您的设备上,您会看到以下通知:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

注意:如果您没有收到通知,请按照说明进行操作,以完成所有设置。 您可能错过了设置或无法上传.p8文件。 此外,您可以在AppDelegate.swift中实现application(_:didFailToRegisterForRemoteNotificationsWithError :),以打印出注册通知期间可能发生的任何错误。


Sending Data in Notifications

Firebase使通过Cloud Messaging控制台轻松发送通知中的其他数据成为可能。 在下一部分中,您将向通知有效内容中添加数据,以便在通知到达时向新闻源中添加新闻故事。

首先,在AppDelegate.swift中,在UNUserNotificationCenterDelegate扩展内添加以下代码:

private func process(_ notification: UNNotification) {
  // 1
  let userInfo = notification.request.content.userInfo
  // 2
  UIApplication.shared.applicationIconBadgeNumber = 0
  if let newsTitle = userInfo["newsTitle"] as? String,
    let newsBody = userInfo["newsBody"] as? String {
    let newsItem = NewsItem(title: newsTitle, body: newsBody, date: Date())
    NewsModel.shared.add([newsItem])
  }
}

这是您添加的内容:

  • 1) 这将在notification payload中获取所需的信息。
  • 2) 如果userInfo具有创建新闻项的值,则此代码创建一个新闻项并将其添加到启动程序项目的新闻提要中。

然后,在调用completionHandler之前,将以下内容添加到userNotificationCenter(_:willPresent:withCompletionHandler :)

process(notification)

每当您在应用程序处于前台时收到通知时,都会调用userNotificationCenter(_:willPresent:withCompletionHandler :)。 这样可以确保在用户使用您的应用程序时,在收到新通知时添加新闻项。

然后,在调用completionHandler之前,将以下代码添加到userNotification(_:didReceive:withCompletionHandler :)

process(response.notification)

用户点击通知时将调用userNotification(_:didReceive:withCompletionHandler :)。 同样,只要发生这种情况,您都会添加一个新闻项目。

构建并运行。 该应用看起来与以前相同,但可以处理其他通知数据。

返回控制台,创建一个新的通知。 和以前一样,输入通知标题和文本,然后选择您的应用程序。 然后转到Step 5,并在Custom data下添加以下项目:

  • Key: newsTitle
  • Value: Child Saves Kittens

这将向应用程序发送标题。 现在,添加主体的条目:

  • Key: newsBody
  • Value: Local child saves kittens from a tall tree

您添加的键和值将作为通知的userInfo发送,您将在process(_:)中进行解析。 发送通知。 如果您打开了应用程序,或者在到达通知时点按了通知,则您将在Feed中看到新的新闻项。

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

还可以处理来自后台进程的通知,而无需用户进行任何交互。 虽然这不在本教程的讨论范围之内,但我们的 Push Notifications video course 视频课程以及Push Notifications by Tutorials book 一书涵盖了对推送通知和其他许多主题的后台处理。


Subscribing to Topics

Firebase Cloud Messaging的另一个功能是订阅主题,这是一种使用户灵活自定义通知的好方法。 Firebase允许您使用主题标记特定的推送通知。 然后,您可以为您的用户订阅不同的主题。 例如,也许用户对诸如直接消息之类的重要通知感兴趣,但无需通知您应用程序feed中新的投递。 或者,您可以让您的用户关注特定的帖子或人员,接收有关群聊的推送通知,等等。

幸运的是,这很容易做到。 首先,打开TopicsModel.swift并在顶部添加以下导入:

import FirebaseMessaging

入门项目包括一个开关,该开关使用户可以切换他们感兴趣的主题。您将这些开关连接到Firebase

用以下代码替换subscribe(to :)unsubscribe(from :)

private func subscribe(to topic: String) {
  // 1
  Messaging.messaging().subscribe(toTopic: topic)
}

private func unsubscribe(from topic: String) {
  // 2. 
  Messaging.messaging().unsubscribe(fromTopic: topic)
}

就是这样! 这是您添加的内容:

  • 1) 当用户打开主题开关时,此代码将要求Firebase订阅该主题。
  • 2) 当用户关闭主题关闭时,此代码将要求Firebase取消订阅该主题。

构建并运行。 然后,转到Topics选项卡并打开Pets开关。

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

在控制台中,通过选择通知最右边的三个点来复制上一步的通知:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

保留所有相同的内容,除了Step 2。将User Segment更改为Topic,然后为Message topic输入pets

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

现在,这只会向打开Pets切换开关的用户发送通知。发送通知,您将看到上一部分中的所有操作。再次复制通知,然后将主题更改为family并发送。由于您的应用未订阅该主题,因此Firebase不会将通知发送到您的设备。


Sending Images

到目前为止,您的通知都只包含文本。但是,如果您收到了很多通知,则知道通知可以包含丰富的内容,例如图像。如果您的通知向用户显示了与其内容相关的漂亮图片,那将是很好的选择。 Firebase再一次使此超级简单。

1. Adding a Notification Service Extension

要在push notifications中显示图片,您需要创建一个Notification Service Extension。这是您应用中的一个单独target,当您的用户收到推送通知时,该target将在后台运行。在iOS向用户显示通知之前,服务扩展(service extension)可以接收通知并更改其内容。您将使用Firebase在通知内发送图片网址。然后,您将使用内容扩展程序下载图片并将其添加到通知的内容中。

在Xcode中,转到File ▸ New ▸ Target…。搜索Notification Service Extension,然后选择Next。将名称设置为Good News Notifications,并将其配置为添加到项目Good News中,并嵌入到应用程序Good News中,如下面的屏幕截图所示:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

选择Finish,然后在出现提示时选择Activate

当您将Firebase程序包添加到项目中时,它只是添加到了Good News target中,因此现在您需要向新的扩展程序中添加必要的依赖项。 打开应用程序的项目设置,然后在Targets下选择Good News Notifications。 在Frameworks and Libraries下,选择+按钮,然后搜索FirebaseMessaging。 然后,选择Add。 您的项目应反映以下图像:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

2. Customizing Notifications

现在,打开NotificationService.swift。 在该文件中,您可以在用户看到通知之前自定义通知。

首先,将以下导入添加到文件顶部:

import FirebaseMessaging

接下来,将didReceive(_:withContentHandler :)的内容替换为以下内容:

self.contentHandler = contentHandler
bestAttemptContent = request.content
  .mutableCopy() as? UNMutableNotificationContent
guard let bestAttemptContent = bestAttemptContent else { return }
FIRMessagingExtensionHelper().populateNotificationContent(
  bestAttemptContent,
  withContentHandler: contentHandler)

通常,您必须搜索包含图像URL的字段,下载图像,然后以图像作为附件完成演示。在这里,您正在使用FirebaseFIRMessagingExtensionHelper通过一个简单的helper方法调用自动执行所有工作。

请记住,iOS仅给您有限的时间来下载附件图像。如果扩展程序的代码花费的时间太长,系统将调用serviceExtensionTimeWillExpire()。这使您有机会优雅地完成扩展中正在执行的所有操作,或仅按原样显示通知,这是默认实现。

确保Good News是您的active target,然后进行构建和运行。该应用程序应与以前的外观相同。

返回Firebase Cloud Messaging控制台,重复最后几步中您一直在使用的有关kittens的通知。确保您没有使用主题设为family的主题,因为您的应用未订阅该主题。

这次,在Notification image图像下的Step 1中,添加以下URL:https://koenig-media.raywenderlich.com/uploads/2021/01/good_news_petsicon.png

您的控制台应显示如下:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

发送您的通知。 在您的设备上,您会看到一条带有kitten图片的通知,如下所示:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

Analytics

现在,您正在发送和处理通知,请考虑了解用户如何与您的通知进行交互的重要性。 他们完全忽略了他们吗? 他们会定期打开吗? 借助Firebase AnalyticsCloud Messaging,您可以跟踪通知周围的事件。

到目前为止,您还缺少处理通知的一个步骤:将您收到的通知告知Firebase。 在AppDelegate.swift中,在方法末尾将以下内容添加到process(_ :)

Messaging.messaging().appDidReceiveMessage(userInfo)

构建并运行。 然后,停止调试并关闭您的应用程序。 接下来,在Cloud Messaging控制台中复制您先前的通知并发送。 收到通知后,请点击它以打开您的应用程序。

Cloud Messaging控制台中打开通知。 它将显示Sends计数,如下所示:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

1. Tracking Custom Events

既然您的应用程序正在通知Firebase收到了通知,那么Opens次数也可能会有所增加。但是,这个数字不太可能会增加。您最多可能需要24小时才能在Firebase控制台中看到分析信息得到处理并呈现给您。实际上,即使之后,您也可能根本看不到这个数字的增加。在撰写本文时,Google可以针对iOSAndroid通知进行报告的内容受到限制。没关系-您仍然可以利用Google Analytics(分析)并跟踪自定义事件。

注意:本教程的此部分不是push notifications起作用所必需的。如果您不希望跟踪用户与推送通知的交互方式,请随时跳过此部分。如果您之前跳过了设置分析的步骤,则需要添加所需的程序包,并设置Firebase应用程序进行分析,然后再继续。

AppDelegate.swift中,在NewsModel.shared.add([newsItem])之后紧接在process(_:)中添加以下代码行:

Analytics.logEvent("NEWS_ITEM_PROCESSED", parameters: nil)

此代码使用FirebaseAnalytics(分析)来跟踪您是否已将新闻项添加到Feed中。 现在,在Messaging.messaging().appDidReceiveMessage(userInfo)之后添加以下代码行:

Analytics.logEvent("NOTIFICATION_PROCESSED", parameters: nil)

这将记录一个事件,说明您已处理该通知,无论该通知是否包含新闻项。

构建并运行。 再一次在Cloud Messaging控制台中复制您的通知并发送。 返回Firebase中,在Analytics下选择Events。 在这里,您将开始看到事件显示,如下所示:

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)

在此示例中,您仅看到NEWS_ITEM_PROCESSED的条目。 这是因为Google尚未完成对该应用程序的分析处理。 同样,在跟随本教程的同时,您不太可能会在帐户中看到这两个事件中的任何一个。 让数小时到一天过去,然后再次检查。

现在,您可以使用Firebase Cloud Messaging发送和接收通知! 您也熟悉Firebase Analytics,可以从Google或Firebase Analytics: Getting Started。

如果您正在寻找如何开始使用Android上的推送通知,请查看Firebase Cloud Messaging for Android: Sending Push Notifications教程。

要了解有关没有FirebaseiOS上的推送通知的更多信息,请查看 Push Notifications Tutorial: Getting Started。

如果您想深入了解推送通知并查找提供的所有内容,请查看我们的Push Notifications video course 课程以及Push Notifications by Tutorials book。

后记

本篇主要讲述了使用Firebase Cloud Messaging进行Push Notification的发送和接收,感兴趣的给个赞或者关注~~~

基于Firebase平台开发(八) —— 使用Firebase Cloud Messaging进行Push Notification的发送和接收(一)
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。