1. 方案判断:认可方向,但需要修正三个关键假设

1.1 总体结论

建议采用:

一期以 C 档“手动附近导览”为兜底,以 A 档“前台伴随导览”为核心验证能力;暂不做 B 档真后台持续定位;音频采用服务端预生成并支持离线下载。

这个组合符合微信小程序的真实能力边界,也符合阿里地区“弱网、长距离、车上和徒步中使用、用户不适合频繁阅读”的场景。

但不能把 A 档描述成“持续稳定自动导航”,也不能把 B 档简单理解为“调用一个 API 就能解决后台导览”。微信小程序位置回调、后台存活、系统省电策略、用户授权和审核都存在不确定性。


1.2 对现有 C/A/B 三档方案的判断

方案判断认可部分需要修正或补充
C 档:点击“附近有什么”认可,必须保留基于 wx.getLocation,实现简单、授权路径成熟、适合弱网和用户主动探索不应仅返回列表。应支持距离排序、点位详情、在线播放、已下载离线音频和“为什么推荐”
A 档:前台伴随导览认可,作为一期主体验前台页面内调用位置更新,自算地理围栏,不依赖不存在的原生地理围栏能力wx.onLocationChange 的回调频率不是产品可承诺的固定 1—2 秒;必须考虑回调中断、定位漂移、页面切后台、权限变化
B 档:真后台导览一期不做,判断正确wx.startLocationUpdateBackground 存在合规、审核、系统存活、耗电等风险即使成功申请,也不能承诺 iOS、低端安卓、弱网环境下长期稳定;应作为后续专项产品,而不是简单三期功能
预生成 MP3认可,优先于实时 TTS可缓存、可离线、音质可控、弱网下更可靠音频不能只存一个 URL。必须有文案版本、音频版本、语言、音色、时长、校验值和失效策略

关键技术边界

  1. wx.getLocation 适合用户主动获取当前位置。
  2. 前台持续位置更新应基于 wx.startLocationUpdate 配合 wx.onLocationChange,不能依赖不存在的原生 geofence API。
  3. 位置更新频率由微信、设备、系统和定位环境决定,不能对业务承诺“每 1—2 秒稳定回调”。
  4. 页面切后台或锁屏后,前台位置回调可能停止,A 档不能等同于后台服务。
  5. wx.startLocationUpdateBackground 即使技术上可调用,也涉及单独授权、类目和审核要求,不能作为一期基础依赖。
  6. 播放音频可采用 wx.createInnerAudioContext 进行页面内播放;如果要支持切后台继续播放,应评估 wx.getBackgroundAudioManager() 的适用性、平台审核及机型兼容性,不能只在配置文件中声明能力后视为可靠。

1.3 团队研究中存在的盲区

盲区一:把“有位置回调”想当然地等同于“能稳定自动播报”

位置回调可能受到以下因素影响:

因此,自动播报必须设计成“尽力而为”,并提供:

盲区二:只设计“进入围栏”,没有设计“离开、重复和方向”

单纯判断“当前位置距离 POI 小于 300 米”会产生误播:

至少需要:

盲区三:音频生成完成不等于内容可上线

宗教文化内容的风险不在 TTS 技术,而在:

音频生成前必须经过内容审核,不应让后台修改后自动无审核上线。

盲区四:只看播放量,无法证明商业价值

“自动播放次数多”不等于功能有效。需要同时回答:

  1. 用户是否愿意使用;
  2. 用户是否真的听完;
  3. 位置触发是否准确;
  4. 音频是否带来停留和线路使用;
  5. 是否促进商户咨询、预订或其他转化;
  6. 相比普通图文页面,是否值得持续投入。

2. 完整产品方案

2.1 产品定位

产品名称建议:

阿里路上·位置语音导览

核心承诺不是“任何时候自动讲解”,而是:

用户选择线路并开启导览后,在小程序前台保持打开时,系统会根据当前位置,尽量在接近已配置点位时播放简短讲解;无网时可播放已下载的离线音频。

一期重点验证三个假设:

假设需要证明的结果
用户在长距离出行中愿意使用语音导览有一定比例用户主动开启并持续使用
自动触发比主动找内容更方便自动触发后的有效收听率不低于手动点播
导览能提升平台业务价值使用导览用户的线路浏览、商户进入、咨询或预订意向高于对照组

2.2 功能范围

一期功能

模块功能
线路选择选择“冈仁波齐转山”“塔尔钦周边”“G219沿线”等由后台配置的线路
C 档附近导览点击“附近有什么”,获取位置并展示周边点位
A 档伴随导览用户主动开启导览后,前台监听位置变化并进行围栏判断
音频播放在线播放预生成音频
离线音频下载线路音频包,无网时播放已下载内容
文稿同步播放时展示讲解标题、正文摘要和图片
播放记录记录自动触发、手动点播、播放开始、暂停、完成
重复控制同一用户、同一设备、同一点位在冷却期内不重复自动播放
降级能力定位失败、回调中断、音频不可用时,仍可手动浏览点位
商业承接讲解结束后展示相关酒店、餐饮、交通或咨询入口

一期明确不做


2.3 三类用户旅程

A. 自驾游客

推荐使用方式

  1. 到达塔尔钦或出发前;
  2. 选择“塔尔钦周边”或具体线路;
  3. 下载离线音频包;
  4. 将手机放在车载支架上;
  5. 点击“开启伴随导览”;
  6. 前台保持导览页;
  7. 接近点位时自动播放;
  8. 音频结束后展示“附近住宿 / 餐饮 / 补给 / 交通”;
  9. 到达服务点后可进入商户详情或发起咨询。

设计重点

B. 徒步转山用户

推荐使用方式

  1. 进入转山相关页面;
  2. 选择已有的 21 个点位体系或后台配置线路;
  3. 下载音频包;
  4. 开启“徒步导览”;
  5. 进入点位围栏后播放 30—90 秒讲解;
  6. 页面显示点位名称、简短说明和当前位置状态;
  7. 用户可手动点播漏掉的点位;
  8. 结合已有 kora-checkin、kora-track、kora-timer 使用。

设计重点

C. 朝圣者

推荐使用方式

  1. 进入线路导览;
  2. 选择语言和讲解风格;
  3. 下载音频包;
  4. 以手动点播和低打扰自动播报为主;
  5. 讲解用词尊重、克制;
  6. 对宗教相关内容明确区分“当地传说”“资料记载”“平台整理”;
  7. 用户可关闭商业推荐,仅保留导览。

设计重点


2.4 页面结构

建议页面结构如下:

导览首页
├── 选择线路
├── 附近有什么
├── 开启伴随导览
├── 离线音频包
└── 导览说明与授权状态

线路详情页
├── 线路简介
├── 点位列表
├── 已下载状态
├── 开始导览
└── 查看全部讲解

伴随导览页
├── 当前状态
│   ├── 导览中
│   ├── 等待定位
│   ├── 已暂停
│   └── 定位异常
├── 当前点位 / 下一个点位
├── 播放控制
├── 本次已听
├── 附近点位
├── 手动点播
└── 关闭自动播报

点位详情页
├── 标题
├── 图片
├── 音频播放
├── 文稿
├── 内容来源说明
├── 相关商户
└── 反馈入口

离线包管理页
├── 线路包列表
├── 下载进度
├── 占用空间
├── 删除离线包
└── 更新提示

2.5 授权与首次使用流程

首次使用流程

点击“开启伴随导览”
→ 展示功能说明
→ 请求用户授权位置
→ 授权成功
→ 选择线路
→ 检查音频包
→ 建议下载离线包
→ 用户确认后启动前台导览

授权文案建议

开启位置导览后,小程序会在您打开导览页面时,根据当前位置判断附近是否有已配置的讲解点位。位置主要用于本次导览,不用于展示您的精确行程。关闭页面或退出导览后,前台导览会停止。

如果用户拒绝授权:


2.6 自动触发交互

状态机

未开启
  ↓
等待授权
  ↓
等待定位
  ↓
导览运行中
  ├── 命中候选点位 → 连续确认
  ├── 进入围栏 → 检查冷却 → 播放
  ├── 音频播放中 → 不触发其他点位
  ├── 定位异常 → 展示异常状态
  ├── 页面切后台 → 暂停自动定位并提示
  └── 用户手动关闭 → 结束导览

播放前提示

不建议无提示突然播放。可以采用:

  1. 轻提示音;
  2. 页面顶部显示“即将讲解:××”;
  3. 0.5—1 秒后开始播放;
  4. 用户可以点击“跳过”。

如果手机正在播放其他音频,应明确处理:

防重复规则

建议默认配置:

具体时长和阈值必须由 A 端配置,不写死。


2.7 省电模式

提供三档:

模式行为适用人群
标准位置更新和围栏判断正常运行一般游客
省电降低位置采样和检查频率,扩大部分触发提前量徒步、长时间使用
手动不持续监听,仅点击“附近有什么”时定位电量极低、朝圣者、用户不希望持续定位

这里的“降低频率”只能作为业务侧处理策略,不能声称可以控制微信底层 GPS 回调频率。实现上可以:


3. 技术方案

3.1 总体架构

A端内容管理
  ├── POI管理
  ├── 线路管理
  ├── 讲解稿管理
  ├── 音频生成与审核
  └── 发布管理
          ↓
服务端 API / CDN
  ├── POI与线路接口
  ├── 内容版本接口
  ├── 音频清单接口
  ├── 埋点接口
  └── 商户承接接口
          ↓
微信小程序
  ├── C档 getLocation
  ├── A档 startLocationUpdate + onLocationChange
  ├── 本地围栏计算
  ├── 本地播放与缓存
  └── analytics_events 埋点

定位判断应尽量在小程序本地完成:


3.2 数据模型

现有 pois 表无独立经纬度列,应优先补充结构化字段,不建议长期把坐标放在 meta JSON 中。

POI 表

pois
----
id
name
aliases
poi_type
industry
latitude
longitude
coordinate_system       -- gcj02 / 其他,必须统一
anchor_distance_km
trigger_profile_id
content_status
is_test
is_active
meta
created_at
updated_at

线路表

guide_routes
------------
id
name
route_type              -- kora / self_drive / scenic_area 等
description
cover_image
status
version
is_test
created_at
updated_at

线路点位关系表

guide_route_pois
---------------
id
route_id
poi_id
sequence_no
distance_from_start_km
trigger_enabled
auto_play_enabled
priority
is_test

讲解稿版本表

guide_scripts
-------------
id
poi_id
route_id                -- 可为空,支持同一 POI 在不同线路采用不同讲解
language
script_type             -- standard / short / long / religious_note
title
body
duration_target_sec
source_note
brand_creation_flag
review_status           -- draft / pending_review / approved / rejected / archived
version
effective_from
effective_to
is_test
created_by
reviewed_by
created_at
updated_at

音频版本表

guide_audios
------------
id
script_id
language
voice_type              -- tts / human
voice_name
audio_url
cdn_key
duration_sec
file_size
sha256
audio_format
generation_status
review_status
version
created_at
updated_at

离线包表

guide_packages
--------------
id
route_id
package_version
manifest_url
total_size
poi_count
status
min_app_version
created_at

离线包清单

guide_package_items
-------------------
id
package_id
poi_id
audio_id
audio_url
file_size
sha256
required

播放记录表

guide_play_records
------------------
id
anonymous_user_id
device_id_hash
route_id
poi_id
trigger_type            -- auto / manual / nearby
session_id
audio_version
started_at
completed_at
listen_duration_sec
play_status
is_offline
is_test

不建议保存用户的完整实时轨迹。若需要分析路线,只保留匿名化、聚合化后的事件数据。


3.3 坐标与距离计算

坐标要求

球面距离计算

采用 Haversine 公式:

a = sin²((lat2-lat1)/2)
  + cos(lat1) × cos(lat2) × sin²((lon2-lon1)/2)

c = 2 × atan2(√a, √(1-a))

distance = R × c

其中:

围栏配置

不建议所有点位都固定 300 米。建议后台配置:

点位类型默认触发半径说明
路边远景、山体、地标300—800 米允许提前讲解
景区入口、服务点100—300 米减少误触发
徒步点位50—200 米结合 GPS 漂移调整
密集点位50—150 米需要顺序和优先级控制

上述数值是初始测试建议,不是固定产品规则。真实值应通过测试和埋点调整。


3.4 围栏触发算法

基础状态

每个 POI 保存:

outside
candidate
inside
played
cooldown

推荐逻辑

  1. 收到位置回调;
  2. 计算当前位置与候选 POI 距离;
  3. 对距离进行漂移处理;
  4. 若连续多次位于进入半径内,标记为候选;
  5. 若达到连续确认条件,进入围栏;
  6. 检查:
  7. 是否已播放;
  8. 是否处于冷却期;
  9. 是否有可用音频;
  10. 是否有其他点位正在播放;
  11. 是否满足线路顺序和优先级;
  12. 满足条件后播放;
  13. 只有音频真正开始播放,才记录触发成功;
  14. 距离超过离开半径后重置状态。

进入和离开阈值

设置滞回区,避免边界抖动:

进入半径:300 米
离开半径:400 米

只有距离大于离开半径,才认为离开围栏。

连续确认

建议默认:

不能只依赖一次 GPS 定位结果。

漂移处理

可采用以下策略:

微信位置回调是否始终提供可用的精度字段、不同设备表现如何,需要真机验证,不能只依赖开发者工具。

多点位同时命中

优先级建议:

  1. 当前线路中顺序更靠前且未播放的点位;
  2. 距离更近的点位;
  3. priority 更高的点位;
  4. 音频更短、适合当前场景的点位;
  5. 其他点位保留在“附近有什么”列表。

播放中不自动打断。用户可手动切换。


3.5 音频管线

内容到音频的流程

A端编辑讲解稿
→ 保存草稿
→ 人工审核
→ 审核通过
→ TTS生成
→ 质检音频
→ 生成音频版本与校验值
→ 上传对象存储/CDN
→ 形成线路离线包manifest
→ 发布

版本规则

文案变更时必须生成新版本:

POI:冈仁波齐某点位
文稿版本:script_v3
音频版本:audio_v3
线路包版本:route_package_v5

客户端不要只按照 POI ID 缓存音频,而要按照:

route_id + poi_id + audio_version + language

进行缓存,否则内容更新后可能继续播放旧音频。

音频格式

一期建议:

小程序本地文件容量及不同系统行为应通过真机验证,不能把“10 个点位约 20MB”作为所有设备都可靠支持的硬承诺。

离线包策略

建议采用“清单 + 按需下载 + 手动完整下载”两种方式:

完整下载

按需下载

音频不可用时

按以下降级:

  1. 播放本地已缓存音频;
  2. 尝试 CDN 在线播放;
  3. 展示文字稿;
  4. 展示“重新下载”;
  5. 记录音频失败原因。

3.6 弱网与无网设计

场景系统行为
无网但音频已下载正常自动或手动播放
无网且音频未下载展示点位名称和缓存状态,不自动假装成功
网络不稳定超时后切换本地音频或重试
内容清单已缓存可展示线路和点位
清单未缓存允许用户浏览本地已保存的线路包
图片未加载保留标题、文字和音频
API 不可用不影响本地围栏和播放
埋点无法上报本地短期缓存,恢复网络后批量上报

埋点缓存应设置上限和过期策略,避免占用过多本地空间。


3.7 前台定位实现边界

A 档流程

用户点击开启
→ wx.startLocationUpdate
→ wx.onLocationChange 注册回调
→ 本地距离计算
→ 本地围栏状态机
→ 命中后播放音频
→ 记录埋点

需要处理:

页面退出时应主动停止本次监听,避免形成逻辑泄漏。具体是否调用 wx.stopLocationUpdate,应结合同一小程序其他页面的定位使用方式统一管理。


3.8 埋点设计和指标体系

现有 analytics_events 可以扩展事件,不必新建一套完全独立的埋点系统。

核心事件

事件关键参数
guide_page_enterroute_id、来源页面、设备档位
guide_route_selectroute_id、user_type
guide_location_authaction、result
guide_startroute_id、mode、battery_level 可选
guide_stopreason、duration_sec
guide_location_update不建议逐次上传;可本地聚合
guide_poi_candidatepoi_id、distance、accuracy
guide_poi_triggerpoi_id、trigger_type、distance、offline
guide_audio_startpoi_id、audio_version
guide_audio_25/50/75/completepoi_id、listen_duration
guide_audio_errorerror_code、network_type
guide_manual_playpoi_id、source
guide_package_downloadroute_id、size、result
guide_content_viewpoi_id
guide_merchant_enterpoi_id、merchant_id
guide_consult_startmerchant_id、source
guide_feedbackissue_type

位置事件不应逐条上传。建议只上报脱敏后的触发结果和聚合数据。

指标分层

1. 功能使用指标

指标计算方式用途
导览启动率启动导览人数 / 进入导览页人数判断功能是否被理解和接受
位置授权成功率授权成功人数 / 发起授权人数判断授权说明和权限流程
离线包下载率下载用户 / 启动导览用户判断无网场景准备度
自动触发覆盖率至少发生一次有效自动触发用户 / 启动导览用户判断 A 档是否真正工作
手动点播率手动点播用户 / 启动导览用户判断自动触发不足或用户偏好

2. 体验质量指标

指标计算方式
有效音频开始率音频成功开始 / 触发请求
25% 收听率播放超过 25% 时长的音频 / 音频开始数
完播率播放完成数 / 音频开始数
自动误播反馈率标记为“播错/不相关”的次数 / 自动播放次数
重复播放率冷却期内重复自动播放 / 自动播放次数
定位异常率定位失败或长时间无回调会话 / 导览会话
音频加载失败率音频失败次数 / 播放尝试次数
电量投诉率相关反馈 / 导览用户数

3. 业务价值指标

指标计算方式
商户进入率导览用户进入商户详情 / 有效导览用户
有效对话建立率导览来源有效对话 / 导览用户
咨询转化率导览来源有效咨询 / 导览用户
预订或订单转化率导览来源订单 / 导览用户
人均有效听取点位数有效播放点位数 / 导览用户
导览后停留导览后继续浏览或再次进入小程序的比例
内容复用率被播放的内容版本 / 已上线内容版本

如何证明功能有效

建议分为三种比较:

比较一:自动触发和手动点播

比较两者的:

如果自动触发的误播率明显高于手动点播,应优先优化围栏,而不是继续扩大点位数量。

比较二:导览用户与非导览用户

在同一线路或同一时间段内,比较:

需要控制用户来源和线路差异,避免把高意向用户天然更愿意使用导览误判为功能效果。

比较三:功能版本前后

一期上线前建立基线,上线后观察:

如果样本量不足,不应直接得出强因果结论,应明确标记为相关性观察。

一期继续投入门槛

建议设置为“由样本验证后确定”的门槛,不凭空承诺绝对数值。可以采用以下判定框架:

结果决策
使用率低,但授权和播放成功率高产品吸引力不足,优化入口和线路包装
使用率高,但自动误播高优先修正围栏、半径和点位数据
完播高,但无商户行为内容有价值,商业承接需要重新设计
播放失败和离线失败高先解决技术基础,不扩大内容
导览用户商业指标持续优于对照组进入二期投资
各项指标均无改善暂停扩大范围,复盘用户需求是否成立

4. 内容方案

4.1 讲解稿总体原则

每个点位建议至少维护三种内容:

  1. 标准版:60—90 秒,适合自动触发;
  2. 短版:20—40 秒,适合路过、低电量和高频点位;
  3. 详情版:120—180 秒,适合用户主动点播。

一期不建议每点位都做 300—600 字的长稿。300—600 字普通中文播报可能需要约 1—3 分钟,车辆经过一个点位时可能听不完,自动触发更适合短讲解。


4.2 可直接套用的讲解稿模板

标准版模板

【开场定位】
你现在经过的是【点位名称】。它位于【地理位置/线路位置】,
从这里可以看到【可验证的景观或环境特征】。

【核心记忆点】
这里最值得留意的是【一个事实/一个现象/一个故事】。
根据【资料来源/当地说法/公开记录】,人们常常这样理解它:
【口语化表达】。

【文化说明】
关于这个地方,当地流传着【传说或民间说法】。
这属于【传说/民间叙事/平台整理】,不代表宗教权威解释。
如果你正在徒步或转山,可以留意【可观察的自然或人文细节】。

【旅行提示】
接下来前往【下一点位/服务点】大约需要【后台确认后的距离或时间】。
高原环境下请注意【饮水、保暖、节奏、安全】。

【结束】
如果想再听一遍,可以在当前点位页面手动播放。

短版模板

你现在经过的是【点位名称】。
这里最值得注意的是【一个可验证事实或景观特征】。
当地也流传着【简短传说】,这是民间说法,不代表宗教权威解释。
请注意【一句安全提示】。

商业承接版模板

讲解到这里。如果你接下来需要【住宿/餐饮/补给/交通】,
可以查看附近的【商户类型】。平台展示的是已配置的服务信息,
建议提前确认营业时间、价格和实际接待情况。

商业承接不宜插入每条宗教文化讲解中,建议在音频结束后的卡片区域呈现,避免破坏内容氛围。


4.3 口语化标准

应该使用

不建议使用

审核标签

每条内容建议添加:

标签含义
史实有明确资料支撑
地理事实坐标、距离、环境等已核验
当地说法需要使用“当地流传”“有人认为”
平台创作明确标注为品牌创作或平台整理
宗教敏感必须人工审核
待实地核验不得作为核心卖点上线

4.4 首批点位清单建议

材料只明确:

因此,首批不应擅自编造点位名称。建议按照以下结构选择:

类型建议数量选择依据
塔尔钦及周边核心地标2—3流量高、容易理解
转山 21 个体系中的代表点位3—4可复用已有资产
自然景观点1—2适合短讲解
文化或历史资料较完整点位1—2降低内容合规风险
服务型点位1—2承接酒店、餐饮、交通等业务

首批上线前应完成:


4.5 讲解稿示例

以下示例仅用于展示写法,不代表对具体点位事实的确认。

示例一:自然地标类

你现在经过的是一处可以远眺高山和开阔谷地的路段。这里最值得留意的,不只是眼前的山形,也包括高原光线带来的层次变化:天气晴朗时,远处山体的颜色会随着云影不断变化。当地人常用自己的方式理解这片山地,这些说法属于地方叙事和民间记忆,不代表宗教权威解释。经过这里时,请注意风力和路面情况,不要为了拍照走到道路边缘。

示例二:宗教文化相关点位

你现在接近的是【点位名称】。关于这里,当地流传着一些与神山、行走和祈愿有关的故事。今天的讲解只是对公开资料和地方说法的整理,不代表宗教权威解释,也不替代任何宗教仪轨。无论你是徒步、朝圣还是旅行经过,都可以保持安静、尊重当地习惯,并根据自己的身体状态调整速度。高原环境变化较快,请提前准备饮水和保暖衣物。

4.6 内容生产流程

资料收集
→ 事实与传说分层
→ 口语化改写
→ 本地顾问/实地人员校核
→ 敏感内容人工审核
→ TTS生成
→ 音频试听
→ 小范围试播
→ 发布
→ 用户反馈与版本迭代

内容后台必须支持:


5. 分期计划与阶段性触发条件

5.1 一期:MVP 验证

目标

验证:

  1. 用户是否理解并愿意开启导览;
  2. A 档前台定位是否在真实环境下可用;
  3. 预生成音频和离线播放是否可靠;
  4. 自动播放是否比单纯图文更有效;
  5. 是否能产生商户导流。

范围

一周原型要求修正

“一周内出原型”可以,但原型应分为:

开发者工具模拟位置只能验证基本逻辑,不能证明真实 GPS、耗电、弱网、后台和音频兼容性。

一期验收

维度必须验证
授权同意、拒绝、撤回、重新授权
定位无权限、弱定位、回调中断
围栏进入、离开、漂移、重复触发
音频在线、离线、失败、版本更新
设备中低端安卓、iOS 真机
页面前台、切后台、锁屏恢复
内容敏感内容人工审核和撤回
数据事件上报、离线补报、测试数据隔离

5.2 二期:扩大线路和内容质量

进入条件

满足以下大部分条件后进入:

二期内容


5.3 三期:后台能力与精品内容

进入条件

只有在以下条件成立时才考虑:

三期方向

三期仍不能向用户承诺“任何时候、所有设备、锁屏后必然自动播报”。


6. 风险清单与应对方案

6.1 技术风险

风险判断依据对策
后台定位不稳定小程序切后台后前台位置回调可能停止一期不依赖后台定位;明确前台使用边界
GPS 漂移导致误播高原、山谷、弱信号环境定位误差增大进入/离开滞回、连续确认、精度判断、冷却时间
回调频率不稳定回调由平台和设备决定不承诺固定频率;采用状态机和手动兜底
音频无法播放CDN、网络、格式、系统媒体状态均可能影响本地缓存、在线重试、文字降级、错误埋点
离线包占用空间设备存储能力和小程序文件限制不同展示大小、分包下载、删除机制、真机验证
耗电持续定位和音频播放均可能耗电标准/省电/手动模式,降低计算和预加载
中低端机卡顿用户设备档次复杂关闭复杂动画,遵守 benchmarkLevel=0 降级
开发者工具与真机差异模拟器不能代表真实 GPS 和系统调度必须做安卓、iOS、弱网、切后台真机测试

6.2 内容风险

风险对策
史实和传说混淆每条稿件标注内容类型,使用“资料显示”“当地流传”等限定词
宗教解释越界敏感点位人工审核,明确非宗教权威解释
未核实“起点”等卖点实地核验前不得作为核心卖点
TTS 读错地名建立发音词表和人工试听
内容过长自动触发稿控制时长,详情内容单独展示
藏汉翻译偏差使用具备语言能力的审核人员或供应商,未验证前不大规模上线
商业内容破坏氛围将商业推荐放到音频结束卡片,不强行插入宗教讲解

6.3 体验风险

风险对策
用户不知道为何突然播放播放前提示音和标题提示
自动播放打扰用户支持暂停、跳过、关闭自动播报
用户在驾驶中操作提醒由乘客操作,页面采用大按钮和少操作设计
点位太多、频繁打断控制点位密度,播放中不自动打断
无网时发现未下载出发前提醒,显示线路包状态
用户不愿授权说明用途,不循环骚扰;保留手动浏览
内容不符合用户期待提供反馈入口和“这不是我想听的”选项

6.4 合规风险

风险对策
位置权限使用不透明隐私说明明确用途、时机和停止条件
位置数据过度收集位置尽量本地计算,不保存完整轨迹
后台定位审核失败一期不依赖 B 档,三期单独做类目和权限评估
宗教文化表述不当敏感内容人工审核,支持上线后撤回
商业信息误导商户信息 A 端配置,展示更新时间和核验状态
测试数据污染生产所有测试 POI、音频、事件使用 is_test=true
内容版本不可追溯保留稿件、音频、审核人、发布时间和撤回记录

7. 商业价值与北极星指标

7.1 对平台的商业价值

价值一:形成差异化内容入口

一般旅游小程序主要提供:

位置语音导览把这些内容和“人在路上”的真实场景连接起来,尤其适合阿里地区长距离、自驾和徒步环境。

价值二:提升用户驻留和复访

语音内容不要求用户持续看屏幕,适合车上和徒步过程中使用。若内容质量稳定,可以提高:

价值三:承接商户业务

点位讲解结束后可以承接:

但商业承接要以“场景相关、用户需要”为前提,不能把每条讲解都强行变成广告。

价值四:沉淀可复用内容资产

一份经过审核的讲解稿,可以复用于:

价值五:服务北极星指标

现有 CRM 的北极星指标是“有效对话建立率”。导览功能可以作为上游入口,验证:

位置触发
→ 有效收听
→ 相关服务展示
→ 商户详情
→ 咨询/留资
→ 有效对话建立

7.2 建议的北极星指标

不建议把“自动播放次数”作为北极星指标。建议定义:

有效导览用户产生的有效收听点位数,并进一步观察其带来的有效对话建立率。

可以拆成两个层级:

产品北极星指标

有效导览用户
= 开启导览
+ 至少一次音频成功开始
+ 收听达到设定有效比例
+ 非测试用户

核心指标:

人均有效收听点位数
= 有效收听点位总数 / 有效导览用户数

商业北极星指标

导览来源有效对话建立率
= 导览来源有效对话数 / 有效导览用户数

其中“有效对话”应沿用 CRM 既有定义,不重新发明一套口径。


7.3 指标看板建议

产品漏斗

进入导览页
→ 选择线路
→ 授权成功
→ 开启导览
→ 下载离线包
→ 触发点位
→ 音频开始
→ 有效收听
→ 完播
→ 查看相关服务
→ 商户进入
→ 建立有效对话

看板维度

重点诊断组合

现象可能结论
进入页多、开启少功能理解或授权说明有问题
开启多、触发少定位、线路或围栏配置问题
触发多、开始播放少音频加载或本地缓存问题
开始播放多、完播少内容过长、音质或场景不合适
完播高、商户进入低商业承接位置或内容关联性不足
商户进入高、有效对话低商户接待、客服或 CRM 流程问题
手动点播明显高于自动触发自动触发不可靠,先优化围栏
离线用户体验明显优于在线用户弱网场景下应扩大离线包能力

7.4 最终投资判断

建议采用以下决策原则:

  1. 先证明“有效收听”成立,再扩大点位数量。
  2. 先证明“自动触发准确”成立,再考虑后台定位。
  3. 先证明“导览能带来相关业务行为”,再投入真人录音和大规模多语言。
  4. 如果用户喜欢内容但不产生商业转化,也不应立即判定功能失败,应区分内容价值和商业承接问题。
  5. 如果技术稳定性、内容质量和商业转化均不成立,应停止扩大范围,回到“手动附近导览+高质量内容”这一更简单的产品形态。

最终建议的落地顺序是:

真实点位核验
→ C档附近导览
→ A档前台伴随导览
→ 离线音频
→ 围栏与播放质量优化
→ 商户承接
→ 真人录音和扩大线路
→ 评估B档后台能力

这条路径能在微信小程序真实边界内快速验证产品价值,同时避免把项目过早押注在后台定位、复杂语音能力或未经核实的宗教文化内容上。