# Jpush Jpush Phonegap Plugin Jpush Phonegap Plugin

> 你正在更新 **jpush-phonegap-plugin** 插件。

- Skill: `tomevault-io/jpush-jpush-phonegap-plugin-jpush-phonegap-plugin` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add tomevault-io/jpush-jpush-phonegap-plugin-jpush-phonegap-plugin`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tomevault-io/jpush-jpush-phonegap-plugin-jpush-phonegap-plugin/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tomevault-io (https://skillmd.com/u/tomevault-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/tomevault-io/jpush-jpush-phonegap-plugin-jpush-phonegap-plugin

---


你正在更新 **jpush-phonegap-plugin** 插件。

**用户参数：** $ARGUMENTS

---

## 第一步：解析参数

从 `$ARGUMENTS` 中提取版本号：
- `--android X.X.X` → Android JPush SDK 目标版本
- `--ios X.X.X` → iOS JPush SDK 目标版本

如果某端版本号缺失，先询问用户再继续。

---

## 第二步：安装依赖

```bash
pip3 install requests beautifulsoup4 -q 2>&1 | tail -1
```

---

## 第三步：拉取 SDK Changelog

```bash
python3 .claude/skills/update-sdk/scripts/changelog_fetcher.py --android <ANDROID_VERSION> --ios <IOS_VERSION>
```

读取 `.claude/skills/update-sdk/scripts/.changelog_cache.json` 获取 Changelog 内容。

---

## 第四步：AI 分析变更

分析 Changelog，整理：

> **注意**：Changelog 同时包含 JPush 和 JCore 的变更。只关注调用类以 `JPush` 开头的条目，忽略类名以 `JCore` 开头的内容。

1. 新增 API（Android + iOS 相同功能合并为统一插件 API）；仅单端有的 → **先检查另一端是否已有等价实现**（见下方说明），确认缺失才标注单端
2. 移除/废弃 API
3. 行为变更
4. 新插件版本号：始终升 patch（如 3.4.9 → 3.5.0，3.9.9 → 4.0.0）

> **跨平台等价检查**：当 Changelog 只在某一端出现新增 API 时，**不要直接标为单端 Only**。先读取另一端的 Native 文件（`src/android/JPushPlugin.java` 或 `src/ios/Plugins/JPushPlugin.m`）和 JS Bridge（`www/JPushPlugin.js`），搜索功能相同或名称相近的方法。如果另一端已有对应实现，则合并为统一 API；只有确认另一端完全没有等价功能时，才标注 Android Only / iOS Only。

---

## 第五步：更新版本号引用

plugin.xml 中同时包含 SDK 版本和插件版本：

```bash
python3 .claude/skills/update-sdk/scripts/plugin_updater.py \
  --android <ANDROID_VERSION> \
  --ios <IOS_VERSION> \
  --bump-patch \
  --changelog-summary "<ONE_LINE_SUMMARY>"
```

---

## 第六步：更新 Native 层代码

**编写代码前，先通过 WebFetch 查询官网 API 文档，确认新增方法的完整签名、参数类型和返回值：**
- Android 文档：`https://docs.jiguang.cn/jpush/client/Android/android_api`
- iOS 文档：`https://docs.jiguang.cn/jpush/client/iOS/ios_api`

在文档中搜索第四步识别出的新增方法名，确认签名后再编写下方代码。

**Android** — `src/android/JPushPlugin.java`
- 在 `execute()` 方法中添加新的 action 分支处理新 API
- 内部调用 `JPushInterface.newMethod()`

**iOS** — `src/ios/Plugins/JPushPlugin.m`
- 在对应的 action 处理中添加新方法
- 内部调用 JPush iOS SDK 对应方法

---

## 第七步：更新 JavaScript Bridge

**`www/JPushPlugin.js`**
- 添加新方法的 `cordova.exec()` 封装（统一 Android 和 iOS 入口）

---

## 第八步：展示变更摘要并请求确认

```
========== jpush-phonegap-plugin 更新摘要 ==========
Android JPush SDK:  旧版本 → 新版本
iOS JPush SDK:      旧版本 → 新版本
插件版本（plugin.xml）：旧版本 → 新版本

新增 API：...
修改的文件：plugin.xml, src/android/JPushPlugin.java, src/ios/Plugins/JPushPlugin.m, www/JPushPlugin.js, CHANGELOG.md
====================================================

确认以上变更并发布到 npm? [y/N]
```

---

## 第九步：发布（确认后执行）

```bash
python3 .claude/skills/update-sdk/scripts/publisher.py
```

---
> Source: [jpush/jpush-phonegap-plugin](https://github.com/jpush/jpush-phonegap-plugin) — distributed by [TomeVault](https://tomevault.io).
<!-- tomevault:4.0:skill_md:2026-06-24 -->

