Skip to content

Latest commit

 

History

History
265 lines (218 loc) · 7.42 KB

APIs.md

File metadata and controls

265 lines (218 loc) · 7.42 KB

通用 API 接口说明

1. 注册推送服务

  /// iOS前台收到通知不希望展示时可将withInAppAlert参数置为false
  /// android接入厂商通道时,请先参考 [厂商通道接入说明](vendor.md) 配置各厂商通道参数信息后,再调用此注册方法。
      void startXg(String accessId, String accessKey, {bool withInAppAlert = true});

2. 注销推送服务

      void stopXg();

3. 设置debug模式

      void setEnableDebug(bool enableDebug);

4. 账号类型枚举

  /// UNKNOWN 默认类型,当前只支持此类型的推送
  /// CUSTOM 自定义
  /// IDFA 广告唯一标识,iOS 专用,安卓侧默认为UNKNOWN类型
  /// PHONE_NUMBER 手机号码
  /// WX_OPEN_ID 微信 OPENID
  /// QQ_OPEN_ID QQ OPENID
  /// EMAIL 邮箱
  /// SINA_WEIBO 新浪微博
  /// ALIPAY 支付宝
  /// TAOBAO 淘宝
  /// DOUBAN 豆瓣
  /// BAIDU 百度
  /// JINGDONG 京东
  /// IMEI 安卓手机标识,安卓专用,iOS默认为UNKNOWN类型
      enum AccountType { UNKNOWN, CUSTOM, IDFA, PHONE_NUMBER, WX_OPEN_ID, QQ_OPEN_ID, EMAIL, SINA_WEIBO, ALIPAY, TAOBAO, DOUBAN, FACEBOOK, TWITTER, GOOGLE, BAIDU, JINGDONG, LINKEDIN, IMEI }

5. 设置账号

  /// account 账号标识
  /// accountType 账号类型枚举
  /// note 同一账号类型对应一个唯一账号,覆盖操作,多账号体系请使用不同账号类型
      void setAccount(String account, AccountType accountType);

6. 删除指定账号

  /// account 账号标识
  /// accountType 账号类型枚举
      void deleteAccount(String account, AccountType accountType);

7. 删除所有账号

      void cleanAccounts();

8. 追加标签

  /// tags 标签字符串数组(标签字符串不允许有空格或者是tab字符)
      void addTags(List<String> tags);

9. 覆盖标签(清除所有标签再追加)

  /// tags 标签字符串数组(标签字符串不允许有空格或者是tab字符)
      void setTags(List<String> tags);

10. 删除指定标签

  /// tags 标签字符串数组(标签字符串不允许有空格或者是tab字符)
      void deleteTags(List<String> tags);

11. 清除所有标签

      void cleanTags();

12. 同步角标(同步角标值到TPNS,仅iOS)

  /// badgeSum 角标值
      void setBadge(int badgeSum);

13. 设置应用角标(同步到TPNS成功后用于设置应用角标数,仅iOS)

  /// badgeSum 角标值
      void setAppBadge(int badgeSum);

14. 获取 XgAndroidApi

/// 获取 XgAndroidApi 调用Android里的api接口
    XgAndroidApi getXgAndroidApi();

15. 新增用户属性

/// attributes 类型为 Map 字典(k, v字符串不允许有空格或者是tab字符)
  void upsertAttributes(Map<String, String> attributes);

16. 删除用户属性

/// attributes 类型为要删除属性 key 的字符串数组(字符串不允许有空格或者是tab字符)
  void delAttributes(List<String> attributes);

17. 更新用户属性

/// attributes 类型为 Map 字典(k, v字符串不允许有空格或者是tab字符)
  void clearAndAppendAttributes(Map<String, String> attributes);

18. 清除全部用户属性

  void clearAttributes();

回调接口说明

1 静默消息(iOS)/透传消息(Android)回调

    _onReceiveMessage 数据类型 Map<String, Object> para: iOS/Android返回不同的消息体,以双端返回kv为准

2 收到通知消息回调

    _onReceiveNotificationResponse    数据类型 Map<String, Object> para: iOS/Android返回不同的消息体,以双端返回kv为准

3 通知点击回调

    _xgPushClickAction   数据类型 Map<String, Object> para: iOS/Android返回不同的消息体,以双端返回kv为准

4 注册成功回调

    _onRegisteredDone   数据类型 String para: 注册成功信息

5 注册失败回调

    _onRegisteredDeviceToken   数据类型 String para: xgToken,注册失败如果有xgToken则返回

6 注销完成的回调

   _unRegistered   数据类型 String para:  注销成功或者失败信息

7 绑定账号/标签/用户属性回调

说明V1.2.8开始返回类型由String->Map,新增code及type标识!

   _xgPushDidBindWithIdentifier   数据类型 Map<String, Object> para: 
        key: 
            code:int类型,操作结果,0代表成功
            type: String类型,操作类型,取值为account/tag/attributes
            msg: String类型,提示信息

8 解绑账号/标签/用户属性回调

说明V1.2.8开始返回类型由String->Map,新增code及type标识!

   _xgPushDidUnbindWithIdentifier   数据类型 Map<String, Object> para: 
        key: 
            code:int类型,操作结果,0代表成功
            type: String类型,操作类型,取值为account/tag/attributes
            msg: String类型,提示信息

9 更新标签/用户属性回调

说明V1.2.8开始返回类型由String->Map,新增code及type标识!

   _xgPushDidUpdatedBindedIdentifier   数据类型 Map<String, Object> para: 
        key: 
            code:int类型,操作结果,0代表成功
            type: String类型,操作类型,取值为tag/attributes
            msg: String类型,提示信息

10 清除所有账号/标签/用户属性回调

说明V1.2.8开始返回类型由String->Map,新增code及type标识!

   _xgPushDidClearAllIdentifiers   数据类型 Map<String, Object> para:
        key: 
            code:int类型,操作结果,0代表成功
            type: String类型,操作类型,取值为account/tag/attributes
            msg: String类型,提示信息

安卓端 XgAndroidApi 接口说明

说明:XgAndroidApi 为针对安卓独立接口的内部再次封装,可以通过 XgFlutterPlugin.xgApi 直接访问,例如:

    // 调用示例:开启厂商其他推送接口
    XgFlutterPlugin.xgApi.enableOtherPush()

1. 开启其他推送

    enableOtherPush();

2. 设置小米推送的APP_ID

    setMiPushAppId({String appId});

3. 设置小米推送的APP_KEY

    setMiPushAppKey({String appKey});

4. 设置魅族推送所需appID

    setMzPushAppId({String appId});

5. 设置魅族推送所需appKey

    setMzPushAppKey({String appKey});

6. 开启Oppo通知

    enableOppoNotification();

7. 设置Oppo推送ID

    setOppoPushAppId({String appId});

8. 设置Oppo推送Key

     setOppoPushAppKey({String appKey});

9. 清空当前应用在通知栏的通知

     cancelAllNotification();

10. 配置是否关闭拉起其他 App;填入 false 为不拉起,默认为 true

     enablePullUpOtherApp({bool enable})

11. 安卓角标设置,支持华为、OPPO、vivo,其中 OPPO 需另外向厂商申请角标展示权限

     setBadgeNum({int badgeNum})

12. 设置手机应用角标归0,支持华为、OPPO、vivo,其中 OPPO 需另外向厂商申请角标展示权限

     resetBadgeNum()