无法从 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 分析中创建新数据流的步骤
我正在为 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 数据流并等待分析在一两天后出现。