无法从 IOS 接收 Firebase 分析

Cannot receive firebase analytics from IOS

我正在为 Android 和 IOS 开发一个 Flutter 应用程序。我正在使用 firebase_analytics 8.2.0 包收集分析。

我已经按照程序包 documentation 中的描述配置了我的应用程序。我的 Podfile$FirebaseAnalyticsWithoutAdIdSupport = true 开头。

问题是我只能接收 Android 分析。

我的代码:

final FirebaseAnalytics analytics = FirebaseAnalytics();

void onGroupCreate(String groupId, double totalInvites, bool isStatus) {
      analytics.logEvent(
        name: "create_group",
        parameters: <String, dynamic>{
          'user_id': globals.user.userId,
          'group_id': groupId,
          'total_invites': totalInvites,
          'is_status': isStatus
        },
      );
    }

我的info.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleDisplayName</key>
    <string>AppName</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>AppName</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>$(MARKETING_VERSION)</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>com.googleusercontent.apps.####-#######</string>
            </array>
        </dict>
    </array>
    <key>CFBundleVersion</key>
    <string>$(CURRENT_PROJECT_VERSION)</string>
    <key>FirebaseAppDelegateProxyEnabled</key>
    <false/>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>NSContactsUsageDescription</key>
    <string>This app requires contacts access to function properly.</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>This app requires photos access to function properly.</string>
    <key>UIBackgroundModes</key>
    <array>
        <string>fetch</string>
        <string>remote-notification</string>
    </array>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIMainStoryboardFile</key>
    <string>Main</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UISupportedInterfaceOrientations~ipad</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
    </array>
    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
</dict>
</plist>

我的GoogleService-Info.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CLIENT_ID</key>
    <string>####-######.apps.googleusercontent.com</string>
    <key>REVERSED_CLIENT_ID</key>
    <string>com.googleusercontent.apps.####-######</string>
    <key>ANDROID_CLIENT_ID</key>
    <string>####-######.apps.googleusercontent.com</string>
    <key>API_KEY</key>
    <string>####-######</string>
    <key>GCM_SENDER_ID</key>
    <string>####</string>
    <key>PLIST_VERSION</key>
    <string>1</string>
    <key>BUNDLE_ID</key>
    <string>######</string>
    <key>PROJECT_ID</key>
    <string>####-####</string>
    <key>STORAGE_BUCKET</key>
    <string>####-####.appspot.com</string>
    <key>IS_ADS_ENABLED</key>
    <false></false>
    <key>IS_ANALYTICS_ENABLED</key>
    <false></false>
    <key>IS_APPINVITE_ENABLED</key>
    <true></true>
    <key>IS_GCM_ENABLED</key>
    <true></true>
    <key>IS_SIGNIN_ENABLED</key>
    <true></true>
    <key>GOOGLE_APP_ID</key>
    <string>#:####:ios:######</string>
    <key>DATABASE_URL</key>
    <string>https://####-####.firebaseio.com</string>
</dict>
</plist>

什么会导致该问题?为什么我无法收到 IOS 分析?

Firebase 事件一起批处理并每小时上传一次,以防止设备过度耗电。 在 iOS 上,当您在 1 小时上传目标之前将应用置于后台时,此时将在后台调度事件。 事件上传后,数据将在 Firebase Analytics 仪表板中显示之前会有大约 3 小时的延迟。此外,默认日期范围不包括“今天”,因此您只能看到昨天的事件。

在某些情况下,您需要在真实设备上 运行 并等待 24 小时才能在控制台中看到您的应用程序

您可以使用 debug view 来测试您的活动

我没有发现您的代码有任何问题。您能否检查一下是否正确添加了 iOS App Store id 和 bundle Id?因为当我更改 App Store id 并且分析停止工作时,我遇到了同样的问题。 附上截图供您参考

问题已解决!

问题是 我的项目分析 属性 中没有 IOS 数据流 。我所要做的就是添加一个新的 IOS 数据流并等待分析在一两天后出现。

在 GA4 分析中创建新数据流的步骤