应用内购买历史 API
以 JSON 形式从您的 Web 应用读取用户的历史应用内购买——非常适合“我的购买”页面。
应用内购买历史 API 返回用户在此设备上通过应用内购买 API 完成的历史购买列表,并将其作为 window.purchaseHistory 注入到您的 Web 应用中。如果您计划在最终产品中使用此功能,请确保拥有 WebViewGold 的 Extended License。
使用方法:
<a href="getpurchasehistory://" onclick="setTimeout(renderHistory, 300)">我的购买</a>
<script>
function renderHistory() {
const data = window.purchaseHistory;
if (!data) return;
data.purchases.forEach(function (p) {
console.log(p.productId, p.transactionId, p.purchaseDateMs);
});
}
</script>
数据格式:
{
"purchases": [
{
"productId": "com.example.premium",
"transactionId": "2000000123456789",
"purchaseDateMs": "1721600000000"
}
]
}
purchaseDateMs 是购买时间的 Unix 毫秒时间戳(字符串形式)。
典型使用场景:
- 在您的 Web 应用中显示“我的订阅”或“我的购买”页面。
- 基于历史购买在客户端解锁高级内容,无需请求您的后端。
- 调试和客户支持工作流。
注意:该列表包含在此设备上于应用内完成的购买。数据存储在本地,不会跨设备同步——如需跨设备的权益校验,请改为在您的服务器上验证收据。
SDK 风格的实现说明
将此功能视为向 Web 层公开的原生能力:将生产网站或 PWA 作为唯一可信来源,然后使用文档中的 WebViewGold 配置标志、URL 命令和 JavaScript 桥接调用,仅在能够带来价值的地方启用原生 iOS 行为。这种方式让代码库易于维护,因为同一个 Web 应用只需极少的条件逻辑即可同时服务于浏览器、WebViewGold for iOS 以及其他 WebViewGold 平台。
为获得可靠的结果,建议优先使用 HTTPS 端点、稳定的路由名称、在界面中明确的成功/错误状态,以及封装原生调用的小型 JavaScript 辅助函数。例如,使用 jQuery Mobile、Lovable、Base44、Bolt、WordPress、Bubble、自定义 React/Vue/Angular 技术栈或静态 HTML 构建的 Web 应用,可以提供单个按钮或事件处理程序来触发原生 WebViewGold API,同时仍为浏览器提供优雅的回退方案。
- 推荐的集成模式:检测应用上下文,调用 WebViewGold API,然后在原生回调或路由变更后更新 Web 界面。
- 测试清单:在真机或打包构建上验证该功能,检查权限和商店审核文案,并确认仅使用浏览器的用户仍能获得有用的回退方案。
- SEO 优势:让功能页面、路由标题和结构化内容在您的网站上保持可被索引,同时由 WebViewGold 为 iOS 用户提供原生应用外壳。