为什么我的 Firebase 推送通知单个项目的打开率总是显示零计数?

2024-04-13

从上图可以看出,所有推送通知始终显示零打开率,尽管我非常确定至少有 1% 会打开推送通知。

我想跟踪一天内每条发送消息的打开率。

但如果从 Firebase 控制台打开基于当天的总体报告,它将跟踪一天内发送的所有消息的打开率,如下图所示:

那么为什么第一张图片中每条发送消息的打开率总是显示为零?

在 Android 中我使用这个 gradle:

    implementation 'com.google.firebase:firebase-core:16.0.7'
    implementation 'com.google.firebase:firebase-ads:17.1.3'
    implementation 'com.google.firebase:firebase-auth:16.2.0'
    implementation 'com.google.firebase:firebase-messaging:17.4.0'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
 implementation 'com.crashlytics.sdk.android:crashlytics:2.9.9'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
    implementation('com.crashlytics.sdk.android:crashlytics:2.9.8@aar') {
        transitive = true;
    }

我的消息服务类:

public class MyFirebaseMessagingService extends FirebaseMessagingService {


    //*********** Called when the Notification is Received ********//


    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {

        Bitmap notificationBitmap = null;
        String notification_title, notification_message, notification_image = "";


        if (remoteMessage.getData().size() > 0) {
            notification_title = remoteMessage.getData().get("title");
            notification_message = remoteMessage.getData().get("message");
            notification_image = remoteMessage.getData().get("image");
        } else {
            notification_title = remoteMessage.getNotification().getTitle();
            notification_message = remoteMessage.getNotification().getBody();
        }


        notificationBitmap = getBitmapFromUrl(notification_image);


        Intent notificationIntent = new Intent(getApplicationContext(), MainActivity.class);
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);

        NotificationHelper.showNewNotification
                (
                        getApplicationContext(),
                        notificationIntent,
                        notification_title,
                        notification_message,
                        notificationBitmap
                );

    }


    public Bitmap getBitmapFromUrl(String imageUrl) {
        if ("".equalsIgnoreCase(imageUrl)) {
            return null;
        }
        else {
            try {
                URL url = new URL(imageUrl);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setDoInput(true);
                connection.connect();
                InputStream input = connection.getInputStream();
                return BitmapFactory.decodeStream(input);

            } catch (IOException e) {
                e.printStackTrace();
                return null;
            }
        }
    }

}

这里出了什么问题?


我们遇到了类似的问题,这是由于缺少 Firebase Analytics 库引起的。

文档适用于安卓 https://firebase.google.com/docs/android/setup:

第 4 步:将 Firebase SDK 添加到您的应用 ... // 添加适用于 Google Analytics 的 Firebase SDK 的依赖项 实施 'com.google.firebase:firebase-analytics'

文档for iOS https://firebase.google.com/docs/ios/setup:

第 4 步:将 Firebase SDK 添加到您的应用 ... 4. 选择您要使用的 Firebase 库。 如果您的 Firebase 项目中启用了 Google Analytics,请确保添加 Firebase 分析。对于没有 IDFA 收集功能的 Analytics,请添加 相反,FirebaseAnalyticsWithoutAdId。

Google Analytics 在管理 UI 中也有设置指南(管理 - 属性 - 数据流,选择流,单击“SDK 设置说明”):

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我的 Firebase 推送通知单个项目的打开率总是显示零计数? 的相关文章

随机推荐

  • Node.js 上通过套接字连接 Redis

    由于共享托管 目标主机上的我的 redis 服务器不在端口上运行 而是在非常特定的套接字上运行 可以通过套接字文件连接到该套接字 只有我的用户可以访问 但是 我还没有找到如何通过套接字指定连接node redis and connect r
  • e2e 测试是否应该将数据保存在真实数据库中?

    我读了很多关于 e2e 测试的文章 但我无法理解的一件事是 e2e 测试应该有多 真实 无论我使用什么工具进行 e2e 测试 我发现大多数时候它们都是在本地 开发或 alpha 环境中使用 如果我的应用程序具有身份验证 我是否应该在数据库中
  • 当具有复杂类型时,KnockoutJs 中的值绑定无法进行选择

    我正在尝试在选择元素上使用值绑定 如本小提琴中所述 http jsfiddle net MikeEast nM6dd 2 http jsfiddle net MikeEast nM6dd 2 但是 我似乎无法设置所选选项 值绑定 我知道我可
  • 为什么我的 XIB 文件无法本地化 (iPhone)?

    情况 我正在启动 XCode 为 iPhone 创建一个新项目 查看应用程序 并将 XIB 文件加载到 IB 中 我操作视图 添加带有字符串 hello 的标签 保存 构建 运行应用程序 一切都很好 现在我正在本地化 XIB 我所做的 右键
  • RttiType.TypeKind 和 RttiType.Name 之间有什么区别?

    以下之间的语义差异是什么 RttiType TypeKind 和 RttiType Name 我问是因为原则上不能从名称推断出 TypeKind 吗 The TypeKind and Name的属性TRttiType是完全不同的事情 Typ
  • 波特词干算法实现问题?

    我正在尝试实现波特词干算法 但我陷入了这一点 Step 1b m gt 0 EED gt EE feed gt feed agreed gt agree v ED gt plastered gt plaster bled gt bled v
  • 无法连接到远程调试 - Web App Azure

    我正在尝试使用 Visual Studio 2017 Professional 远程调试部署为 Azure 应用服务的 Asp Net Core Web 应用程序 使用 Web API 项目 按照记录的说明进行操作here https le
  • 来自本机的 Android O 设备序列号

    在 Android O 上从本机获取序列号而不调用 Java 的正确方法是什么Build getSerial 在 Android string serial read property ro boot serialno string rea
  • 在 openpyxl 中为选项卡着色

    我们有一种情况 我们想要使用 openpyxl 为工作表的选项卡着色 有没有办法在图书馆内做到这一点 或者 有没有人找到一种方法可以在库外部执行此操作 即通过扩展或类似的方式 您可以使用 openpyxl 为sheet properties
  • UIView的transitionWithView丢弃图层设置

    我 viewDidload 我有这样的设置 self layer setCornerRadius 30 0f NSString imgFilepath NSBundle mainBundle pathForResource imageNam
  • IntelliJ IDEA中如何自动分割长字符串?

    我正在编写一个包含很长字符串的测试 我需要拆分这些字符串 private static final String TOO LONG JSON field1 field1 field2 field2 fieldN fieldN 所以他们会变成
  • 在 Azure 上部署后 ChatBot 无法工作 - 内部服务器错误

    我已经使用 LUIS 和 QnA Maker 部署了一个聊天机器人 当我在模拟器上运行它时 它在本地完美运行 它在聊天开始时加载自适应卡 我从 LUIS 那里得到了正确的回复 但是 当我在 Azure 上部署机器人并在 Web 聊天上测试它
  • 使用带有返回值的访问者模式实现 AST 的最佳方法是什么?

    我正在尝试使用访问者模式在 C 中实现一个简单的抽象语法树 AST 通常访问者模式不处理返回值 但在我的 AST 中 有一些表达式节点关心其子节点的返回类型和值 例如 我有一个这样的 Node 结构 class AstNode public
  • 如何从 jenkins UI 控制台本身下载构建输出文件

    我是新詹金斯 使用詹金斯1 651 3战争部署于Tomcat6有没有办法从 jenkins UI 控制台本身下载 Jenkins 作业的输出文件 我的作业生成了一个 jar 文件 那么 有人可以建议我是否有任何方法或插件可以使每个 Jenk
  • iPad、JavaScript 字符代码和 shiftKey

    假设我有一个 Web 应用程序 每次用户在 ID 为 txt 的文本区域中按下按键时 该应用程序都会调用以下 jQuery txt keydown function e console log e which shows the keyCo
  • sqlite 相当于 row_number() over ( 分区 ...?

    我想知道是否可以使用单个 sqlite 语句执行以下操作 我的桌子看起来像这样 AnId UserId SomeDate SomeData 123 A 1 1 2010 aadsljvs 87 A 2 9 2010 asda fas 193
  • 将java类文件转换为kotlin会导致编译错误

    我有一个 java 类文件 可以正常工作 但是如果我将其转换为 Kotlin 则会出现一些问题 这是一个Java版本 public class CallbackWrapper
  • 如何在数学中为给定旋转轴的 3D 绘图制作动画

    如果给定标准化旋转轴 例如 1 Sqrt 3 1 Sqrt 3 1 Sqrt 3 和 3d 图 例如 z x y Exp Sqrt x 2 y 2 Power 4 3 1 Power 4 3 1 Sqrt 1 2 Sqrt x 2 y 2
  • 为什么活性/就绪性探测失败?

    我正在尝试通过 Helm 图表将应用程序部署到 Kubernetes 集群 每次我尝试部署应用程序时 我都会得到 活性探测失败 获取http 172 17 0 7 80 http 172 17 0 7 80 拨号 TCP 172 17 0
  • 为什么我的 Firebase 推送通知单个项目的打开率总是显示零计数?

    从上图可以看出 所有推送通知始终显示零打开率 尽管我非常确定至少有 1 会打开推送通知 我想跟踪一天内每条发送消息的打开率 但如果从 Firebase 控制台打开基于当天的总体报告 它将跟踪一天内发送的所有消息的打开率 如下图所示 那么为什