PetChat Source Map
PetChat 功能、SDK、参数下发与埋点总览
以下内容只读取 /Users/xiaomao822/Desktop/git/petchat/PetChat 的代码和文档,并展示在当前官网项目中。
11
功能分支
37
SDK/能力集成
165
埋点事件
36
下发参数
PetChat Branch
dev_1.1.3
Commit
ed1ec8d
Last PetChat Change
打包提交:蒲公英 1.1.3(3)
2026-07-15 17:17:19 +0800
Current layer
PetChat 功能总览
由同步脚本扫描 PetChat/Module 下的业务目录、源码文件和主要类名生成。
来源:PetChat/Module
Current layer
三方 SDK 与触发点
由 Podfile 和源码 import/调用点扫描生成。
来源:Podfile, PetChat/Common, PetChat/Module
Remote Config
参数下发默认值、功能与触发位置
基于 `PCRemoteConfigKeys`、`PCAppRemoteConfig` 和实际业务调用点整理,覆盖 Firebase Remote Config 与友盟 RemoteConfig 的统一读取层。
| 参数 Key | 模块 | 默认值 | 对应功能 | 触发代码位置 | 解析位置 |
|---|---|---|---|---|---|
| Demo_Key | 公共能力 | false / defaultPetTalkTrialConfig.freeTrialCount | Demo Key:用于验证“参数下发 + 解析层”链路是否打通。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:441 |
| pet_magic_free_trial_count | 公共能力 | 1 | Pet Magic:免费试用次数(默认 1)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:563, PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:585 |
| pet_talk_free_trial_count | 公共能力 | false / defaultPetTalkTrialConfig.freeTrialCount | Pet Talk:免费试用配置。 兼容两种下发方式: 1)旧版直接下发整数字符串; 2)1.0.9 起下发 JSON(内含 `free_trial_count` / `emotion_free_trial_count`)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:452 |
| emotion_free_trial_count | 公共能力 | false / defaultPetTalkTrialConfig.freeTrialCount | Pet Talk:情绪翻译免费次数(兼容独立 key 的兜底读取)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:463, PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:482 |
| pet_talk_guide_config | 公共能力 | 0 | Pet Talk:首页引导开关(默认 0)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:500 |
| local_audio_detection_enabled | 公共能力 | false | Pet Talk:客户端本地音频静音检测开关(默认 false)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:506 |
| translation_complete_popup | 公共能力 | 关闭 | Pet Talk:翻译完成订阅弹窗配置(默认关闭)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:512, PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:519 |
| selected_offer | 公共能力 | 商品兜底 | Pet Talk:翻译完成订阅弹窗默认商品兜底。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:514, PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:523 |
| pet_magic_subscribe_mode | 公共能力 | 0 | Pet Magic:订阅模式(默认 0,可直接下发 0/1,也可下发 1.0.9 打包 JSON)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:550, PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:556 |
| high_quality | 公共能力 | defaultPetMagicConfig.subscribeMode / defaultPetMagicConfig.freeTrialCount | Pet Magic:高清保存次数/开关(1.0.9 业务配置)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:570, PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:592 |
| pet_sounds_free_trial_count | 公共能力 | 5 | Pet Sounds:免费试用次数(默认 5)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:601 |
| pet_sounds_subscribe_mode | 公共能力 | 0 | Pet Sounds:订阅模式(默认 0)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:607 |
| Pet_sounds_rating_guide | 公共能力 | 4 | Pet Sounds:播放完成第几次后触发评分引导(默认 4)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:613 |
| rating_prompt_type | 公共能力 | defaultPetMagicConfig.highQualityCount / 5 | 评分引导样式:`system` 为系统评分弹窗,`custom` 为自定义评分弹窗。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:620 |
| petthought_free_trial_count | 公共能力 | 3 | Pet Thoughts:免费试用次数(默认 3)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:632 |
| pet_thought_free_trial_count | 公共能力 | 5 / 0 | Pet Thoughts:免费试用次数旧版 key 兼容。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:633 |
| petthought_default_free_style | 公共能力 | 免费风格(默认 | Pet Thoughts:非订阅用户默认免费风格(默认 real_insight)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:641 |
| petthought_share_qr_url | 公共能力 | return "system" / 3 | Pet Thoughts:分享图二维码落地页 URL(支持 `{style_name}` 占位符)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:649 |
| ai_vet_free_trial_count | 公共能力 | 1 | AI Health Assistant:免费试用次数(默认 1)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:672 |
| subscribe_page_type | 公共能力 | 0 | 订阅页类型(默认 0)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:678 |
| Promote_Sub_Group | 公共能力 | 见解析代码 | 买量用户订阅分组配置(JSON 数组字符串)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:729 |
| Organic_Sub_Group | 公共能力 | 见解析代码 | 自然用户订阅分组配置(JSON 数组字符串)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:737 |
| Grouping | 公共能力 | 1 / 0 | 独立 Grouping 分组事件参数。 - Note: 运营配置 value(如 `A`)后,客户端需上报 `Grouping_A`。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:687 |
| Grouping_X | 公共能力 | 1 / 0 | Grouping 参数兼容命名。 - Note: 部分文档以 `Grouping_X` 描述该参数,这里兼容一次旧命名读取。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:693 |
| Main_Page_Show | 公共能力 | 展示 | 首页首次默认展示 Tab 配置(JSON 数组字符串)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:700 |
| boarding_enabled | 公共能力 | true | 引导页总开关:首次启动是否展示 `PCGuideVC`。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:808 |
| boarding_first | 公共能力 | true | 旧版引导页第 1 页是否展示。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:814 |
| boarding_second | 公共能力 | true | 旧版引导页第 2 页是否展示。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:820 |
| boarding_third | 公共能力 | true | 旧版引导页第 3 页是否展示。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:826 |
| boarding_page_show | 启动 | true | 1.0.9 新版引导页顺序配置(JSON 数组字符串)。 | PetChat/Module/Launch/PCLaunchVC.swift:460 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:832 |
| Iap_pop_open | 公共能力 | defaultIapPopOpenConfig.isEnabled / defaultIapPopOpenConfig.openTime | 强拉支付配置主 key。 兼容两种下发方式: 1)直接下发 `0/1`; 2)下发 JSON(内含 `Iap_pop_open` / `IAP_Pop_Open_Time` / `Force_Offer_ID`)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:880 |
| IAP_Pop_Open | 公共能力 | defaultIapPopOpenConfig.isEnabled / defaultIapPopOpenConfig.openTime | 远端配置 IAP_Pop_Open,由 PCRemoteConfigKeys.iapPopOpenUpper 声明。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:881 |
| iap_pop_open | 公共能力 | defaultIapPopOpenConfig.isEnabled / defaultIapPopOpenConfig.openTime | 远端配置 iap_pop_open,由 PCRemoteConfigKeys.iapPopOpenLower 声明。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:882 |
| IAP_Pop_Open_Time | 公共能力 | defaultIapPopOpenConfig.isEnabled / defaultIapPopOpenConfig.openTime | 强拉支付时机(兼容独立 key 兜底)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:885 |
| iap_pop_open_time | 公共能力 | defaultIapPopOpenConfig.isEnabled / defaultIapPopOpenConfig.openTime | 远端配置 iap_pop_open_time,由 PCRemoteConfigKeys.iapPopOpenTimeLower 声明。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:886 |
| Force_Offer_ID | 公共能力 | defaultIapPopOpenConfig.isEnabled / defaultIapPopOpenConfig.openTime | 强拉支付商品 ID(兼容独立 key 兜底)。 | 未扫描到业务触发点 | PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:899, PetChat/Common/Managers/RemoteConfig/PCAppRemoteConfig.swift:914 |
Analytics
埋点触发逻辑与代码位置
基于 `PCReport.report` 扫描和 PetChat 埋点实现清单整理,包含 Thinking/Firebase 与 Adjust 两类上报目标。
| 事件 ID | 模块 | 触发逻辑 | 位置 | 参数 | 目标 |
|---|---|---|---|---|---|
| Onboard_Click | Onboarding | 导页继续按钮点击埋点。 /// /// - Parameter index: 当前点击时所在页索引(0-based)。 private func reportOnboardClick(for index: Int) { guard let params = … | PetChat/Module/Guide/PCGuideVC.swift:305 | pageName, number | Thinking/Firebase |
| Onboard_Show | Onboarding | // 上报引导页子页展示埋点。 /// /// - Parameter index: 当前展示页索引(0-based)。 private func reportOnboardShow(for index: Int) { guard let params = … | PetChat/Module/Guide/PCGuideVC.swift:294 | pageName, number | Thinking/Firebase |
| onboarding_next_click | Onboarding | dTapStartButton), for: .touchUpInside) } /// 点击“开始魔法时刻” @objc private func didTapStartButton() { guard let selectedType else { re… | PetChat/Module/Guide/PCSelectPetVC.swift:275 | petType | Thinking/Firebase |
| Add_Pets_Click | Pet Hub | ottom.equalToSuperview() } } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } @objc private… | PetChat/Module/PetHub/View/HubAddPetSection.swift:382 | - | Thinking/Firebase |
| Add_Pets_Success | Pet Hub | PCToastTool.show(PCLocal(str: "common.success"),duration: 1) { _ in PCDBManager.shared.getPetDataList { [weak self] records, _ in… | PetChat/Module/PetHub/PCPetHubAddPetVC.swift:224 | Pet_Num | Thinking/Firebase |
| Pet_Magic_Click_Create | Pet Magic | buttonTitle: PCLocal(str: "alert.ok") ) } } /// “开始创作”按钮事件,发起任务。 @objc private func handleMakeButtonTapped() { reportPetMagicLoad… | PetChat/Module/PetMagic/PCPetMagicDetailVC.swift:555 | resource_id, Resource_Name, Resource_Cover_URL, Resource_URL | Thinking/Firebase |
| Pet_Magic_Create_Click | Pet Magic | URL":self.dataModel.cover ?? "","Resource_URL":self.dataModel.url ?? ""])) } } } } func eventClickActive() { reportPetMagicLoadAg… | PetChat/Module/PetMagic/PCPetMagicDetailVC.swift:451 | resource_id, Resource_Name, Resource_Cover_URL, Resource_URL | Thinking/Firebase |
| Pet_Magic_Detail_Page_Show | Pet Magic | ems.safeObject(at: indexPath.item) else { return } let detailVC = PCPetMagicDetailVC() detailVC.dataModel = data detailVC.dataArr… | PetChat/Module/PetMagic/PCPetMagicVC.swift:430, PetChat/Module/PetMagicNew/vc/PCPetMagicNewListVC.swift:824 | resource_id, Resource_Name, Resource_Cover_URL, Resource_URL | Thinking/Firebase |
| Pet_Magic_Enter_Album_Page | Pet Magic | eak self, weak pickerVC] in self?.handlePhotoPickerTaskCreated(pickerVC: pickerVC) } self.present(pickerVC, animated: true) PCRep… | PetChat/Module/PetMagic/PCPetMagicDetailVC.swift:443 | resource_id, Resource_Name, Resource_Cover_URL, Resource_URL | Thinking/Firebase |
| Pet_Magic_Start_Load | Pet Magic | CreateClick.rawValue,param: ["resource_id":self.dataModel.id ?? "","Resource_Name":self.dataModel.name ?? "","Resource_Cover_URL"… | PetChat/Module/PetMagic/PCPetMagicDetailVC.swift:452 | resource_id, Resource_Name, Resource_Cover_URL, Resource_URL | Thinking/Firebase |
| pet_audio_click | Pet Sounds | cell.maskHidden = !shouldShowVipMask(for: visibleItem) } } /// 上报语音包点击埋点。 /// /// - Parameter item: 当前点击的语音包。 private func report… | PetChat/Module/PetSounds/PCPetSoundsVC.swift:567 | audioType, petType, voicePersonality, audioName | Thinking/Firebase |
| Pet_Sounds_Click | Pet Sounds | 音频成功开始播放后,再消耗一次免费次数,避免点击失败也扣次。 PCPetSoundsFreePlayManager.shared.consumeOnceAfterPlaySuccessIfNeeded() refreshVisibleVipMaskState… | PetChat/Module/PetSounds/PCPetSoundsVC.swift:528 | Type, name | Thinking/Firebase |
| Analyzing_Sound_Fail | Pet Talk | reportDomain.isEmpty == false { failParam[PCAdjustEventParamKey.requestDomain.rawValue] = reportDomain } failParam.merge(vipState… | PetChat/Module/PetTalk/PCVoiceRecordVC.swift:543 | - | Thinking/Firebase |
| Analyzing_Sound_Success | Pet Talk | .type.rawValue: analysisRecordType(for: changeType), PCAdjustEventParamKey.time.rawValue: elapsed, ] successParam.merge(vipStateA… | PetChat/Module/PetTalk/PCVoiceRecordVC.swift:298 | - | Thinking/Firebase |
| Pet_Talk_Mode_Click | Pet Talk | case .catToHuman: return "Cat_To_Human" } } /// 上报 Pet Talk 人转宠物模式切换点击。 private func reportPetTalkModeClick(_ mode: HumanInputMod… | PetChat/Module/PetTalk/PCPetTalkNewVC.swift:1225 | translateDirection, mode | Thinking/Firebase |
| Pet_Talk_Text_Translate_Click | Pet Talk | ticsValue ] )) } /// 上报 Pet Talk 文字翻译按钮点击及校验结果。 private func reportPetTalkTextTranslateClick(textContent: String, validationResul… | PetChat/Module/PetTalk/PCPetTalkNewVC.swift:1237 | textLength, validationResult | Thinking/Firebase |
| Stop_Recording | Pet Talk | ring?) { recordType = type } @objc private func cancelTapped() { onCancel?() } @objc private func stopTapped() { if let recordTyp… | PetChat/Module/PetTalk/View/PCPetTalkRecordingOverlayView.swift:322, PetChat/Module/PetTalk/View/PCPetTalkRecordingOverlayView.swift:326 | type | Thinking/Firebase |
| Talk_Guide_Finish | Pet Talk | guard petVoiceCard.bounds.width > 0, petVoiceCard.bounds.height > 0 else { return false } return true } /// 完成首页引导后,记录本地状态并恢复顶部视频… | PetChat/Module/PetTalk/PCPetTalkNewVC.swift:633 | - | Thinking/Firebase |
| Talk_Guide_Show | Pet Talk | shouldRetryTalkGuidePresentation = false attachGuideOverlayIfNeeded() guideContainerView().layoutIfNeeded() introVideoPlayerView.… | PetChat/Module/PetTalk/PCPetTalkNewVC.swift:582 | - | Thinking/Firebase |
| Tap_to_Record | Pet Talk | let model = PCPetTalkModel() model.id = UUID().uuidString model.sourceText = text model.changeType = changeType model.createTime … | PetChat/Module/PetTalk/PCPetTalkNewVC.swift:518, PetChat/Module/PetTalk/PCPetTalkNewVC.swift:1202 | type | Thinking/Firebase |
| Translation_Result_Page_Show | Pet Talk | ultPageParam: [String: Any] = [ PCAdjustEventParamKey.type.rawValue: recordType(for: changeType) ] resultPageParam.merge(vipState… | PetChat/Module/PetTalk/PCVoiceRecordVC.swift:422 | - | Thinking/Firebase |
| Album_Page_Next_Click | Pet Thoughts | .fullScreen self.present(pickerVC, animated: true) { viewModel.backAction = { [weak self, weak pickerVC] in guard let self else {… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1592 | - | Thinking/Firebase |
| pet_thought_entrance_click | Pet Thoughts | } /// 统一处理导航栏右侧按钮点击:空态展示引导,有会话时进入编辑。 @objc private func handleRightButtonTapped() { switch rightButtonMode { case .guide: /// 埋点:… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:712 | - | Thinking/Firebase |
| Pet_Thoughts_Enter_Album_Page | Pet Thoughts | 视频;在选择达到上限时给出专属提示文案。 viewModel.onSelectionLimitReached = { [weak pickerVC] in pickerVC?.view.makeToastText(PCLocal(str: "petThoug… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1581 | - | Thinking/Firebase |
| Pet_Thoughts_Load_Again | Pet Thoughts | y.featurePetThoughts, resourceId: "", soundsName: "" )) return } pendingConsumeFreeUse = true } PCReport.report(withEvent: Event(… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:2349, PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:4582 | - | Thinking/Firebase |
| Pet_Thoughts_Load_Fail | Pet Thoughts | ID, elapsedSeconds: elapsedSeconds, emotion: petThoughtsAnalyticsEmotion(for: humanMessageID) ) param[PCAdjustEventParamKey.failR… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1050 | - | Thinking/Firebase |
| Pet_Thoughts_Load_Success | Pet Thoughts | View.reloadData() self.scrollToMessage(with: humanMessageID, at: .top, animated: true) self.scheduleConversationSave() PCReport.r… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:2162 | - | Thinking/Firebase |
| Pet_Thoughts_Mood_Date_Click | Pet Thoughts | oughtsMoodHistoryClick.rawValue, param: [:])) } /// 上报 Pet Thoughts 心情历史日期点击。 private func reportPetThoughtsMoodDateClick(entry: … | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1128 | - | Thinking/Firebase |
| Pet_Thoughts_Mood_History_Click | Pet Thoughts | leName), PCAdjustEventParamKey.failReason.rawValue: failReason ] )) } /// 上报 Pet Thoughts 心情历史入口点击。 private func reportPetThought… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1121 | - | Thinking/Firebase |
| Pet_Thoughts_Retry_Click | Pet Thoughts | tyleName.rawValue: normalizedThoughtStyleName(styleName)] )) } /// 上报 Pet Thoughts 失败卡重试点击。 private func reportPetThoughtsRetryCl… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1081 | styleName | Thinking/Firebase |
| Pet_Thoughts_Save_Click | Pet Thoughts | ramKey.styleName.rawValue: normalizedThoughtStyleName(styleName)] )) } /// 上报 Pet Thoughts 保存点击。 private func reportPetThoughtsSa… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1090 | - | Thinking/Firebase |
| Pet_Thoughts_Share_Click | Pet Thoughts | k.rawValue, param: petThoughtsActionParam(at: index) )) } /// 上报 Pet Thoughts 分享点击。 private func reportPetThoughtsShareClick(at i… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1099 | - | Thinking/Firebase |
| Pet_Thoughts_Share_Image_Result | Pet Thoughts | hts 分享图生成结果。 private func reportPetThoughtsShareImageResult(at index: Int, result: String, failReason: String) { let context = pe… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1109 | styleName, result, qrURL, failReason | Thinking/Firebase |
| Pet_Thoughts_Start_Load | Pet Thoughts | oughtStyleName.all : [primaryStyleName] let usageTimes = nextPetThoughtsUsageTimes() let mediaType = petThoughtsMediaType(for: mo… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1633 | - | Thinking/Firebase |
| Pet_Thoughts_Style_Unlock_Click | Pet Thoughts | m: message, text: text).first ?? "" } return "" } /// 上报 Pet Thoughts 风格解锁点击。 private func reportPetThoughtsStyleUnlockClick(styl… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1072 | styleName | Thinking/Firebase |
| Pet_Thoughts_Upload_Photo_Click | Pet Thoughts | ontext: PCVIPSubShowEntryContext( iapEntry: PCVIPIAPEntry.featurePetThoughts, resourceId: "", soundsName: "" )) return } PCReport… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:1570 | - | Thinking/Firebase |
| Thought_Detail_Click | Pet Thoughts | = globalIndexForVisibleRow(indexPath.row) guard allMessages.indices.contains(globalIndex) else { return } guard shouldShowAnalysi… | PetChat/Module/PetThoughts/PCPetThoughtsVC.swift:2832 | - | Thinking/Firebase |
| Click_Bottom_Button | 主导航 | y = 0 tabBar.layer.shadowOffset = .zero tabBar.layer.shadowRadius = 0 tabBar.layer.shadowPath = nil } func handleTabDidSwitch(fro… | PetChat/Module/MainTab/PCTabBarController.swift:219 | type | Thinking/Firebase |
| Page_Show | 主导航 | meter index: 当前展示 tab 的索引。 private func reportPageShow(for index: Int) { guard let pageName = pageShowName(for: index) else { ret… | PetChat/Module/MainTab/PCTabBarController.swift:311 | pageName, time | Thinking/Firebase |
| AI_Health_Assistant_Consult_Click | 公共能力 | /// 上报症状填写页开始咨询点击。 static func reportConsult(draft: PCPetHealthDraft) { let description = draft.symptomDescription.trimmingCharac… | PetChat/Module/PetCare/Model/PCPetHealthAssistantModels.swift:188 | bodyPart, issueTags, descriptionLength | Thinking/Firebase |
| AI_Health_Assistant_Entry_Click | 公共能力 | ic let petCarePage = "petcare_page" static let careTopicSearch = "care_topic_search" } /// 上报 AI 健康助手入口点击。 static func reportEntr… | PetChat/Module/PetCare/Model/PCPetHealthAssistantModels.swift:163 | entrySource | Thinking/Firebase |
| AI_Health_Assistant_Info_Next_Click | 公共能力 | lue, param: [PCAdjustEventParamKey.entrySource.rawValue: source] )) } /// 上报宠物信息页下一步点击。 static func reportInfoNext(draft: PCPetHe… | PetChat/Module/PetCare/Model/PCPetHealthAssistantModels.swift:172 | entrySource | Thinking/Firebase |
| AI_Health_Assistant_Load_Fail | 公共能力 | awValue: draft.issueKeys.joined(separator: ",") ] )) } /// 上报 AI 健康助手加载失败。 static func reportLoadFail(elapsedSeconds: Int, reason… | PetChat/Module/PetCare/Model/PCPetHealthAssistantModels.swift:229 | timeLower, failReason | Thinking/Firebase |
| AI_Health_Assistant_Load_Success | 公共能力 | ssistantStartLoad.rawValue, param: [:] )) } /// 上报 AI 健康助手加载成功。 static func reportLoadSuccess(draft: PCPetHealthDraft, elapsedSec… | PetChat/Module/PetCare/Model/PCPetHealthAssistantModels.swift:216 | - | Thinking/Firebase |
| AI_Health_Assistant_Start_Load | 公共能力 | ng { guard let key else { return "" } return key == "unvaccinated" ? "not_vaccinated" : key } /// 上报 AI 健康助手开始加载。 static func rep… | PetChat/Module/PetCare/Model/PCPetHealthAssistantModels.swift:207 | - | Thinking/Firebase |
| Article_Click | 公共能力 | /// 上报文章点击。 static func reportArticleClick(article: PCPetCareArticle, source: String) { var param = articleParams(article) param[… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:285 | - | Thinking/Firebase |
| Article_Collect | 公共能力 | PCReport.report(withEvent: Event(type: .other, key: PCAdjustEventID.articleShow.rawValue, param: param)) } /// 上报文章收藏操作。 static f… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:297 | - | Thinking/Firebase |
| Article_Show | 公共能力 | /// 上报文章展示。 static func reportArticleShow(article: PCPetCareArticle, source: String) { var param = articleParams(article) param[P… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:292 | - | Thinking/Firebase |
| ATT_Reject | 公共能力 | e: .adjust, token: "bn92oo", key: "ATT_Success")) PCReport.report(withEvent: Event(type: .other, key: "ATT_Success")) } else { PC… | PetChat/Common/Tool/PCFileTool.swift:223 | - | Thinking/Firebase |
| ATT_Show | 公共能力 | return } hasRequestedTrackingPermission = true let status = ATTrackingManager.trackingAuthorizationStatus switch status { case .n… | PetChat/Common/Tool/PCFileTool.swift:214 | - | Adjust |
| ATT_Success | 公共能力 | tatus NotificationCenter.default.post(name: .pcTrackingAuthorizationDidChange, object: nil) if status == .authorized { PCReport.r… | PetChat/Common/Tool/PCFileTool.swift:220, PetChat/Common/Tool/PCFileTool.swift:221 | - | Adjust |
| Care_Topic_Tab_Click | 公共能力 | e.rawValue: isEnabled ? ActionType.on : ActionType.off ])) } /// 上报 Pet Care 专题分类点击。 static func reportCareTopicTabClick(petType:… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:275 | petType, category | Thinking/Firebase |
| custom_Prompt_Finish | 公共能力 | type: .other, key: AnalyticsEvent.submit, param: [ "Source": result.source.rawValue, "Feedback": String(feedback.prefix(256)), "L… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:142, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:323 | Source, Feedback, Length | Thinking/Firebase |
| custom_Prompt_Finish | 公共能力 | type: .other, key: AnalyticsEvent.submit, param: [ "Source": result.source.rawValue, "Feedback": String(feedback.prefix(256)), "L… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:142, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:323 | Source, Feedback, Length | Thinking/Firebase |
| Daily_Tip_Action | 公共能力 | Id.rawValue: tip.tipId, PCAdjustEventParamKey.source.rawValue: source ])) } /// 上报每日小贴士弹窗操作。 static func reportDailyTipAction(tip… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:260 | actionType, tipId | Thinking/Firebase |
| Daily_Tip_Reminder_Set | 公共能力 | Key.actionType.rawValue: actionType, PCAdjustEventParamKey.tipId.rawValue: tip.tipId ])) } /// 上报每日小贴士提醒开关操作。 static func reportD… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:268 | actionType | Thinking/Firebase |
| Daily_Tip_Show | 公共能力 | ect" static let close = "close" static let on = "on" static let off = "off" } /// 上报每日小贴士弹窗展示。 static func reportDailyTipShow(tip… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:251 | petType, tipId, source | Thinking/Firebase |
| Feedback_Close | 公共能力 | PCReport.report(withEvent: Event(type: .other, key: AnalyticsEvent.show, param: [ "Source": source.rawValue ])) } func reportFeed… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:130, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:307 | Source | Thinking/Firebase |
| Feedback_Show | 公共能力 | feedbackView = nil view.dismiss(animated: animated) { view.removeFromSuperview() completion?() } } func reportFeedbackShow(source… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:124, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:297 | Source | Thinking/Firebase |
| Feedback_Submit | 公共能力 | "Source": source.rawValue ])) } func reportFeedbackSubmit(result: PCFeedbackResult) { let feedback = result.content.trimmingChara… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:137, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:322 | Source, Feedback, Length | Thinking/Firebase |
| Main_Page_Show | 公共能力 | else { return } appDelegate.window?.backgroundColor = .color_bg appDelegate.window?.rootViewController = PCTabBarController() app… | PetChat/Base/PCRouter.swift:28 | Country | Thinking/Firebase |
| My_Library_Show | 公共能力 | PCReport.report(withEvent: Event(type: .other, key: PCAdjustEventID.articleCollect.rawValue, param: articleParams(article))) } //… | PetChat/Module/PetCare/Model/PCPetCareModels.swift:302 | - | Thinking/Firebase |
| Pet_Magic_Finish_Page_Show | 公共能力 | "" ) { basePayload in var successPayload = basePayload successPayload[PCAdjustEventParamKey.time.rawValue] = elapsedTime Dispatch… | PetChat/Common/Managers/ProgressManager/PCProgressManager.swift:364 | - | Thinking/Firebase |
| Pet_Magic_Load_Again | 公共能力 | ad_Again`。 func reportPetMagicLoadAgainIfNeeded(using template: TemItemInfo?) { guard let template, PCTempManager.consumePetMagic… | PetChat/Common/Managers/PCPhotoPickManager/View/PCPhotoPickerImageView.swift:404, PetChat/Module/PetMagic/PCPetMagicDetailVC.swift:577 | - | Thinking/Firebase |
| Pet_Magic_Load_Fail | 公共能力 | dataModel.dataModel) payload[PCAdjustEventParamKey.time.rawValue] = elapsedTime payload[PCAdjustEventParamKey.reason.rawValue] = … | PetChat/Common/Managers/PCPhotoPickManager/View/PCPhotoPickerImageView.swift:301, PetChat/Common/Managers/ProgressManager/PCProgressManager.swift:343, PetChat/Common/Managers/ProgressManager/PCProgressManager.swift:522 | - | Thinking/Firebase |
| Pet_Magic_Load_Success | 公共能力 | = elapsedTime DispatchQueue.main.async { PCReport.report(withEvent: Event(type: .other, key: PCAdjustEventID.petMagicFinishPageSh… | PetChat/Common/Managers/ProgressManager/PCProgressManager.swift:365 | - | Thinking/Firebase |
| petchat.rating.dismissed.at | 公共能力 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:1 | - | Thinking/Firebase |
| petchat.rating.pet_sounds.completed.count | 公共能力 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:1 | - | Thinking/Firebase |
| petchat.rating.presentation.timestamps | 公共能力 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:1 | - | Thinking/Firebase |
| petchat.rating.translation.guide.shown | 公共能力 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:1 | - | Thinking/Firebase |
| Rating_Guide_Close | 公共能力 | PCReport.report(withEvent: Event(type: .other, key: AnalyticsEvent.show, param: [ "Source": source.rawValue ])) } func reportFeed… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:130, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:307 | Source | Thinking/Firebase |
| Rating_Guide_Show | 公共能力 | feedbackView = nil view.dismiss(animated: animated) { view.removeFromSuperview() completion?() } } func reportFeedbackShow(source… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:124, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:297 | Source | Thinking/Firebase |
| Rating_Guide_Submit | 公共能力 | "Source": source.rawValue ])) } func reportFeedbackSubmit(result: PCFeedbackResult) { let feedback = result.content.trimmingChara… | PetChat/Common/Managers/PCFeedbackManager/PCFeedbackManager.swift:137, PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:322 | Source, Feedback, Length | Thinking/Firebase |
| Rating_Prompt_Show | 公共能力 | romptType: String) { PCReport.report(withEvent: Event(type: .other, key: AnalyticsEvent.show, param: [ "Source": source.rawValue,… | PetChat/Common/Managers/PCRatingManager/PCRatingManager.swift:301 | Source, Prompt_Type | Thinking/Firebase |
| Loading_Show | 启动 | ert.addAction(retryAction) present(alert, animated: true) } override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(a… | PetChat/Module/Launch/PCLaunchVC.swift:377 | - | Thinking/Firebase |
| User_Page_Reject | 启动 | ) guard delegate == nil else { return } transitionToMainInterface() } @objc private func handleUnAgree() { makeToast(PCLocal(str:… | PetChat/Module/Launch/PCAgreementVC.swift:178, PetChat/Module/Launch/PCAgreementVC.swift:179 | - | Thinking/Firebase |
| User_Page_Show | 启动 | super.viewDidLoad() createUI() // Do any additional setup after loading the view. } override func viewDidAppear(_ animated: Bool)… | PetChat/Module/Launch/PCAgreementVC.swift:30 | - | Thinking/Firebase |
| User_Page_Success | 启动 | ri(with: ConstantURL.loadServerURL()) } } @objc private func handleAgree() { PCOnboardingManager.hasAcceptedAgreement = true dele… | PetChat/Module/Launch/PCAgreementVC.swift:171 | - | Thinking/Firebase |
| action_type | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| ad_network | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| adgroup_name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| audio_name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| audio_type | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| body_part | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| campaign | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| campaign_name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| category | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Country | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| creative_name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Currency | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| date | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| description_des | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| device_type | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Domain | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| emotion | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| emotion_list | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| entry_source | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| fail_reason | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Form | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| IAP | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| ID | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| issue_tags | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| media_type | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| mode | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| network_name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| number | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| order_id | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| page_name1 | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| pass_time | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| pet_age_month | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| pet_age_year | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Pet_Magic_Select_Saved_Photo | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Pet_Num | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| pet_type | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| pet_weight | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Price | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| qr_url | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Reason | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Request_Domain | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Resource_Cover_URL | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| resource_id | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Resource_Name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Resource_URL | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| result | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Retry_Count | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| sounds_name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| source | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Source | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| style_name | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Sub_Agree_Rejct | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| sub_page | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| sub_success_order_report | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| sub_success_order_report_fail | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| sub_success_order_report_success | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| text_des | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| time | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Time | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Times | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| tip_id | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| title | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| translate_direction | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Type | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| vaccine_status | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| validation_result | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| video_number | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| video_time | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| voice_personality | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| X_Times | 埋点 | 已定义,未扫描到触发调用。 | PetChat/Common/Managers/EventManager/PCAdjustEvents.swift:1 | - | Thinking/Firebase |
| Adjust_Check_Start | 归因 | Finished: @escaping (PCAttributionInitialWindowResult) -> Void, onResolved: ((PCAttributionResolution) -> Void)? = nil ) { attrib… | PetChat/Common/Managers/AdjustManager/AdjustManager.swift:491 | - | Thinking/Firebase |
| Adjust_Get_Promote | 归因 | passTime: Int? = nil) { guard attribution.isPaidUser else { return } guard !UserDefaults.standard.bool(forKey: StorageKey.promote… | PetChat/Common/Managers/AdjustManager/AdjustManager.swift:1074 | - | Thinking/Firebase |
| Adjust_Get_Promote_Final | 归因 | eFinalReported) else { return } var params = promoteParams(from: attribution) params[PCAdjustEventParamKey.form.rawValue] = final… | PetChat/Common/Managers/AdjustManager/AdjustManager.swift:1100 | - | Thinking/Firebase |
| Adjust_Get_Promote_Server | 归因 | tServerAttribution) { guard attribution.isPaidUser else { return } guard !UserDefaults.standard.bool(forKey: StorageKey.promoteSe… | PetChat/Common/Managers/AdjustManager/AdjustManager.swift:1086 | - | Thinking/Firebase |
| Adjust_Get_Success | 归因 | ypeNames.contains(eventName) == false if shouldReportType { reportedSDKAttributionTypeNames.insert(eventName) } } if shouldReport… | PetChat/Common/Managers/AdjustManager/AdjustManager.swift:1131 | passTime, adNetwork, campaign | Thinking/Firebase |
| Adjust_Init | 归因 | se) } } func registerSDK() { if register { return } register = true configOECallBackParam() Adjust.initSdk(adjustConfig) PCReport… | PetChat/Common/Managers/AdjustManager/AdjustManager.swift:454 | - | Thinking/Firebase |
| Restore_Click | 订阅 | erProperties ) } /// 恢复购买。 func restoreVIP(placement: String? = nil) { markPaywallUserInteractionForAnalytics() guard beginPurcha… | PetChat/Module/VIP/VC/PCVIPBaseVC.swift:574 | - | Thinking/Firebase |
| Restore_Fail | 订阅 | eport.report(withEvent: Event(type: .other, key: PCAdjustEventID.restoreSuccess.rawValue)) PCToastTool.show(PCLocal(str: "vip.res… | PetChat/Module/VIP/VC/PCVIPAViewController.swift:375, PetChat/Module/VIP/VC/PCVIPBViewController.swift:370, PetChat/Module/VIP/VC/PCVIPCViewController.swift:382, PetChat/Module/VIP/VC/PCVIPCustomViewController.swift:517 | - | Thinking/Firebase |
| Restore_Success | 订阅 | geWithFailureToastIfNeeded() { return } PCToastTool.showError(message) } } override func vipDidCompleteRestore(success: Bool, mes… | PetChat/Module/VIP/VC/PCVIPAViewController.swift:370, PetChat/Module/VIP/VC/PCVIPBViewController.swift:365, PetChat/Module/VIP/VC/PCVIPCViewController.swift:377, PetChat/Module/VIP/VC/PCVIPCustomViewController.swift:512 | - | Thinking/Firebase |
| Sub_Agree_Close | 订阅 | ewControlellerDidFinidsh(self, agree: true) } } @objc private func close() { dismissAnimation { [weak self] in guard let `self` =… | PetChat/Module/VIP/VC/PCAgreementPopupViewController.swift:201, PetChat/Module/VIP/VC/PCVIPCustomViewController.swift:399 | - | Thinking/Firebase |
| Sub_Agree_Show | 订阅 | et productID = selectedProductID { reportSubClickForContinueButton(productID: productID) } if let agree = agreementView { if agre… | PetChat/Module/VIP/VC/PCVIPCustomViewController.swift:317, PetChat/Module/VIP/VC/PCVIPCustomViewController.swift:374 | - | Thinking/Firebase |
| Sub_Agree_Success | 订阅 | URL(string: ConstantURL.loadMemberURL())!) } } @objc private func buttonClick() { dismissAnimation { [weak self] in guard let `se… | PetChat/Module/VIP/VC/PCAgreementPopupViewController.swift:192, PetChat/Module/VIP/VC/PCVIPCustomViewController.swift:323, PetChat/Module/VIP/VC/PCVIPCustomViewController.swift:380 | - | Thinking/Firebase |
| Sub_Click | 订阅 | pContinue() { markPaywallUserInteractionForAnalytics() guard let productID = selectedProductID else { return } guard beginPurchas… | PetChat/Module/VIP/VC/PCVIPAViewController.swift:288, PetChat/Module/VIP/VC/PCVIPBViewController.swift:283, PetChat/Module/VIP/VC/PCVIPBaseVC.swift:1147, PetChat/Module/VIP/VC/PCVIPCViewController.swift:317 | - | Thinking/Firebase + Adjust |
| Sub_Close | 订阅 | amKey.xTimes.rawValue: UserDefaults.standard.subShowTimes ] appendStyleNameIfNeeded(context.styleName, to: ¶m) param.merge(pa… | PetChat/Module/VIP/VC/PCVIPBaseVC.swift:1181 | - | Thinking/Firebase |
| Sub_Show | 订阅 | e.rawValue: price, PCAdjustEventParamKey.xTimes.rawValue: times ] appendStyleNameIfNeeded(context.styleName, to: ¶m) param.me… | PetChat/Module/VIP/VC/PCVIPBaseVC.swift:1423, PetChat/Module/VIP/VC/PCVIPBaseVC.swift:472 | - | Thinking/Firebase + Adjust |
| Sub_Success | 订阅 | amKey.xTimes.rawValue: UserDefaults.standard.subShowTimes ] appendStyleNameIfNeeded(context.styleName, to: ¶m) param.merge(pa… | PetChat/Module/VIP/VC/PCVIPBaseVC.swift:1219 | - | Thinking/Firebase |