个推 IDOSDK 的 React Native 插件,用于接入运营统计、事件采集和用户画像能力。
当前版本:1.0.6。
在 React Native 项目根目录执行:
npm install react-native-idosdk@1.0.6 --saveReact Native 0.60 及以上项目会自动链接原生模块。iOS 项目还需要安装 Pods:
npx pod-installAndroid 示例工程使用 React 19.0.0 和 React Native 0.79.1。请按项目所用 React Native 版本完成原生环境配置。
应用 AppID 请在个推开发者中心创建应用后获取。
在 android/app/src/main/AndroidManifest.xml 的 <application> 节点内配置 AppID 和安装渠道:
<meta-data android:name="GETUI_APPID" android:value="你的 AppID" />
<meta-data android:name="GT_INSTALL_CHANNEL" android:value="" />插件已声明 IDOSDK 所需的原生依赖、权限和组件。无需添加 react-native-getui、PUSH_APPKEY 或 PUSH_APPSECRET 等旧推送插件配置。详细说明见Android 集成文档。
使用 Autolinking 时只需执行 npx pod-install。旧项目如未启用 Autolinking,可在目标 target 的 Podfile 中加入:
pod 'IdoSdkRN', :path => '../node_modules/react-native-idosdk'然后执行 pod install。IDOSDK 不需要在 AppDelegate 中注册推送、DeviceToken 或 VoIP;初始化请在 JavaScript 中调用 startSdk。详细说明见iOS 集成文档。
HarmonyOS 当前需要手动 Link,完整流程见鸿蒙文档。
在调用其他接口前先配置可选项并初始化 SDK。gtcid 在初始化完成前可能为空,可在业务侧稍后再次读取。
import GetuiIdo from 'react-native-idosdk';
const appId = '你的 AppID';
const channel = 'rn';
GetuiIdo.setDebugEnable(__DEV__);
GetuiIdo.setSessionTime(30_000);
GetuiIdo.setMinAppActiveDuration(60_000);
GetuiIdo.setMaxAppActiveDuration(3_600_000);
GetuiIdo.startSdk(appId, channel);
GetuiIdo.version((version) => {
console.log('IDOSDK version:', version);
});
GetuiIdo.gtcid((id) => {
console.log('gtcid:', id);
});
GetuiIdo.trackCountEvent('purchase', { sku: 'example', amount: 1 }, '');
GetuiIdo.setProfile({ memberLevel: 'gold' }, '');时间类配置的单位均为毫秒。支持的接口包括:
- 初始化与查询:
startSdk、gtcid、version、setDebugEnable - 会话与上传:
setSessionTime、setMinAppActiveDuration、setMaxAppActiveDuration、setEventUploadInterval、setEventForceUploadSize、setProfileUploadInterval、setProfileForceUploadSize - 用户与事件:
setUserId、registerEventProperties、trackCustomKeyValueEventBegin、trackCustomKeyValueEventEnd、trackCountEvent、setProfile - 平台差异:
setApplicationGroupIdentifier仅 iOS 生效;setSyncGenerateGtcid和registerEventProperties暂未在 HarmonyOS 插件中提供。