移动分析技能Skill MobileAnalytics

该技能是一个专注于移动应用数据追踪与分析的开发工具包。它提供了一套完整的解决方案,用于集成和配置主流移动分析平台,包括Firebase Analytics、Crashlytics、Mixpanel、Amplitude等。核心功能涵盖自定义事件埋点、用户行为分析、崩溃监控上报、A/B测试远程配置以及用户画像构建。适用于iOS和Android开发者,旨在通过标准化的代码实现,高效收集应用使用数据,监控应用稳定性,并基于数据驱动产品优化与增长决策。关键词:移动应用分析,崩溃报告,Firebase,事件跟踪,用户行为,A/B测试,数据埋点,移动开发SDK。

移动开发 0 次安装 0 次浏览 更新于 2/25/2026

名称: 移动分析 描述: 移动应用分析与崩溃报告集成 版本: 1.0.0 类别: 分析与监控 标识符: mobile-analytics 状态: 活跃

移动分析技能

概述

此技能为移动应用分析和崩溃报告集成提供了全面的能力。它支持配置Firebase Analytics、Crashlytics、Mixpanel、Amplitude以及其他分析平台。

允许使用的工具

  • bash - 执行Firebase CLI和SDK命令
  • read - 分析分析配置
  • write - 生成分析事件模式和配置
  • edit - 更新分析实现
  • glob - 搜索分析文件
  • grep - 搜索事件跟踪模式

能力

Firebase Analytics

  1. 事件配置

    • 配置自定义事件
    • 设置用户属性
    • 实现屏幕跟踪
    • 配置事件参数
    • 处理默认事件
  2. 用户细分

    • 配置受众群体
    • 设置用户ID
    • 实现用户属性
    • 处理人口统计数据

Firebase Crashlytics

  1. 崩溃报告

    • 配置崩溃报告
    • 实现自定义键
    • 记录非致命错误
    • 设置用户标识符
    • 配置崩溃警报
  2. 调试工具

    • 启用调试模式
    • 配置测试崩溃
    • 分析堆栈跟踪
    • 处理dSYM文件上传

第三方分析

  1. Mixpanel/Amplitude

    • 配置SDK
    • 实现事件跟踪
    • 设置用户画像
    • 处理漏斗分析
  2. Segment

    • 配置数据路由
    • 实现目标平台
    • 处理身份识别

A/B测试

  1. 远程配置
    • 配置功能开关
    • 实现实验
    • 处理发布百分比
    • 分析结果

目标流程

  • mobile-analytics-setup.js - 分析实现
  • firebase-backend-integration.js - Firebase服务
  • mobile-performance-optimization.js - 性能监控

依赖项

  • Firebase SDK
  • 分析平台SDK
  • Firebase CLI

使用示例

Firebase Analytics 设置 (iOS)

// AppDelegate.swift
import FirebaseCore
import FirebaseAnalytics

@main
class AppDelegate: UIResponder, UIApplicationDelegate {
    func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        FirebaseApp.configure()
        return true
    }
}

// 分析助手
struct AnalyticsManager {
    static func logEvent(_ name: String, parameters: [String: Any]? = nil) {
        Analytics.logEvent(name, parameters: parameters)
    }

    static func setUserId(_ userId: String) {
        Analytics.setUserID(userId)
    }

    static func setUserProperty(_ value: String?, forName name: String) {
        Analytics.setUserProperty(value, forName: name)
    }

    static func logScreenView(screenName: String, screenClass: String) {
        Analytics.logEvent(AnalyticsEventScreenView, parameters: [
            AnalyticsParameterScreenName: screenName,
            AnalyticsParameterScreenClass: screenClass
        ])
    }
}

Firebase Analytics 设置 (Android)

// AnalyticsManager.kt
class AnalyticsManager @Inject constructor(
    private val analytics: FirebaseAnalytics
) {
    fun logEvent(name: String, params: Map<String, Any>? = null) {
        analytics.logEvent(name, params?.toBundle())
    }

    fun setUserId(userId: String?) {
        analytics.setUserId(userId)
    }

    fun setUserProperty(name: String, value: String?) {
        analytics.setUserProperty(name, value)
    }

    fun logScreenView(screenName: String, screenClass: String) {
        analytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW) {
            param(FirebaseAnalytics.Param.SCREEN_NAME, screenName)
            param(FirebaseAnalytics.Param.SCREEN_CLASS, screenClass)
        }
    }
}

private fun Map<String, Any>.toBundle(): Bundle {
    return Bundle().apply {
        this@toBundle.forEach { (key, value) ->
            when (value) {
                is String -> putString(key, value)
                is Int -> putInt(key, value)
                is Long -> putLong(key, value)
                is Double -> putDouble(key, value)
                is Boolean -> putBoolean(key, value)
            }
        }
    }
}

事件模式

// analytics/events.ts
export const AnalyticsEvents = {
  // 用户事件
  USER_SIGNED_UP: 'user_signed_up',
  USER_LOGGED_IN: 'user_logged_in',
  USER_LOGGED_OUT: 'user_logged_out',

  // 功能事件
  FEATURE_USED: 'feature_used',
  ITEM_VIEWED: 'item_viewed',
  ITEM_ADDED_TO_CART: 'item_added_to_cart',
  PURCHASE_COMPLETED: 'purchase_completed',

  // 参与度事件
  SHARE_CLICKED: 'share_clicked',
  NOTIFICATION_RECEIVED: 'notification_received',
  NOTIFICATION_OPENED: 'notification_opened',
} as const;

export interface EventParameters {
  user_signed_up: { method: 'email' | 'google' | 'apple' };
  item_viewed: { item_id: string; item_name: string; category: string };
  purchase_completed: { transaction_id: string; value: number; currency: string };
}

质量门限

  • 强制执行事件命名约定
  • 验证必需参数
  • 排除个人身份信息数据
  • 实现同意管理

相关技能

  • firebase-mobile - Firebase服务
  • mobile-perf - 性能监控

版本历史

  • 1.0.0 - 初始版本