ymx-jiguang
    正在准备搜索索引...

    接口 YmxJiguang

    极光推送

    提供消息推送、标签别名、推送状态控制等能力。

    • 使用前需在极光控制台创建应用,获取 AppKey 复制到本插件的打包配置
    • 插件在用户同意隐私协议后自动初始化;推送消息与操作结果通过 setListener 异步回传, eventName 为 onRegister / onConnected / onCustomMessage / onClickMessage / onArrivedMessage / onJMessageExtra / onTagOperatorResult / onAliasOperatorResult / onCommandResult 等,回调 data 为 { action, data } 结构,消息类事件的 data 格式见 PushMessage
    const jpush = ymx.requirePlugin('ymx-jiguang') as YmxJiguang;

    // 设置消息监听器(推送消息与操作结果异步回传)
    jpush.setListener((eventName, data) => {
    if (eventName === 'onRegister') {
    console.log('registrationId:', data.data.registrationId);
    } else if (eventName === 'onCustomMessage') {
    console.log('自定义消息:', data.data.payload);
    } else if (eventName === 'onClickMessage') {
    console.log('通知点击:', data.data.payload);
    }
    });

    // 插件在用户同意隐私协议后自动初始化(使用打包配置 appKey)

    // 获取 registrationId
    const res = await jpush.getRegistrationId();
    console.log(res.registrationId);

    // 设置别名
    await jpush.setAlias({ alias: 'user_1234' });

    // 设置标签
    await jpush.setTags({ tags: ['tag1', 'tag2'] });

    // 停止推送 / 恢复推送
    await jpush.stopPush();
    await jpush.resumePush();
    interface YmxJiguang {
        id: string;
        version: string;
        addTags(data: TagsData): Promise<TagsResult>;
        cleanTags(): Promise<TagsResult>;
        deleteAlias(): Promise<AliasResult>;
        deleteTags(data: TagsData): Promise<TagsResult>;
        getAlias(): Promise<AliasResult>;
        getAllTags(): Promise<TagsResult>;
        getRegistrationId(): Promise<RegistrationIdResult>;
        isPushStopped(): Promise<PushStoppedResult>;
        removeListener(): Promise<void>;
        resumePush(): Promise<void>;
        setAlias(data: AliasData): Promise<AliasResult>;
        setListener(
            listener: (eventName: string, data: any) => void,
        ): Promise<void>;
        setTags(data: TagsData): Promise<TagsResult>;
        stopPush(): Promise<void>;
    }

    层级

    • JsApiBase
      • YmxJiguang
    索引

    属性

    id: string

    获取插件 ID

    version: string

    获取插件版本,如 1.2.3

    方法

    • 新增标签

      追加绑定标签;实际操作结果在 setListener 的 eventName onTagOperatorResult 中异步返回。

      参数

      • data: TagsData

        标签参数(tags 必填)

      返回 Promise<TagsResult>

      操作已发起(结果异步回传)

      await jpush.addTags({ tags: ['tag3'] });
      
    • 清空所有标签

      清空当前绑定的全部标签;实际操作结果在 setListener 的 eventName onTagOperatorResult 中异步返回。

      返回 Promise<TagsResult>

      操作已发起(结果异步回传)

      await jpush.cleanTags();
      
    • 删除别名

      删除当前绑定的别名;实际操作结果在 setListener 的 eventName onAliasOperatorResult 中异步返回。

      返回 Promise<AliasResult>

      操作已发起(结果异步回传)

      await jpush.deleteAlias();
      
    • 删除指定标签

      删除指定标签;实际操作结果在 setListener 的 eventName onTagOperatorResult 中异步返回。

      参数

      • data: TagsData

        标签参数(tags 必填)

      返回 Promise<TagsResult>

      操作已发起(结果异步回传)

      await jpush.deleteTags({ tags: ['tag1'] });
      
    • 获取当前绑定的别名

      实际结果在 setListener 的 eventName onAliasOperatorResult 中异步返回,本方法 Promise 返回该结果。

      返回 Promise<AliasResult>

      当前别名

      const res = await jpush.getAlias();
      console.log(res.alias);
    • 获取当前绑定的所有标签

      实际结果在 setListener 的 eventName onTagOperatorResult 中异步返回,本方法 Promise 返回该结果。

      返回 Promise<TagsResult>

      当前标签数组

      const res = await jpush.getAllTags();
      console.log(res.tags);
    • 获取消息接收设备唯一标识(registrationId)

      可用于极光控制台创建推送时指定设备。

      返回 Promise<RegistrationIdResult>

      registrationId

      const res = await jpush.getRegistrationId();
      console.log(res.registrationId);
    • 检查推送是否已停止

      返回 Promise<PushStoppedResult>

      推送状态(stopped 为 true 表示已停止)

      const res = await jpush.isPushStopped();
      console.log(res.stopped);
    • 移除监听器

      返回 Promise<void>

    • 恢复推送

      恢复接收推送消息。

      返回 Promise<void>

      await jpush.resumePush();
      
    • 设置别名

      别名用于定向推送;实际操作结果在 setListener 的 eventName onAliasOperatorResult 中异步返回。

      参数

      • data: AliasData

        别名参数(alias 必填)

      返回 Promise<AliasResult>

      操作已发起(结果异步回传)

      await jpush.setAlias({ alias: 'user_1234' });
      
    • 设置监听器,接收 eventName 事件名称,data 事件数据

      注意: 此接口为覆盖操作,仅保留最后一个监听器,最后的 listener 才能收到事件通知。

      参数

      • listener: (eventName: string, data: any) => void

      返回 Promise<void>

    • 设置标签(覆盖式)

      覆盖设置当前绑定的标签;实际操作结果在 setListener 的 eventName onTagOperatorResult 中异步返回。

      参数

      • data: TagsData

        标签参数(tags 必填)

      返回 Promise<TagsResult>

      操作已发起(结果异步回传)

      await jpush.setTags({ tags: ['tag1', 'tag2'] });
      
    • 停止推送

      停止后无法收到推送消息,可调用 resumePush 恢复。

      返回 Promise<void>

      await jpush.stopPush();