# 服务通知

# 服务通知授权

开发者如果需要向玩家发送服务通知,需要先让玩家进行服务通知授权。服务通知授权如下图所示:

# 服务通知

授权成功后,开发者通过调用Open API发送小程序服务通知。玩家通过IM消息查看服务通知。

点击服务通知消息后,会根据如下规则进行处理:

  • 当前玩家 在频道房、派对房,会跳转至 发送通知玩家 所在直播间后,打开小程序
  • 若发送通知的小程序为 “主播模式” 小程序,且 当前玩家 不在 发送通知玩家 所在直播间,则会跳转至 发送通知玩家 直播间后,打开小程序
  • 若发送通知的小程序为 “主播模式” 小程序,且 当前玩家发送通知玩家 在同一个直播间,则直接打开小程序
  • 若发送通知的小程序为 “用户模式” 小程序,直接打开小程序

关于小程序模式介绍,请点击查看 小程序模式

# 业务示例

比如小程序业务为竞猜类型,玩家参与竞猜,当竞猜结果公布时,需要通知玩家。此时可以发送服务通知,告知玩家竞猜结果。

当玩家参与竞猜后,可以接入服务通知授权流程。目前提供了检查订阅消息授权和授权订阅消息两个SDK,从用户体验角度出发,先调用检查订阅消息授权,当授权已过期,再调用授权订阅消息。

import React, { useCallback } from 'react';
import './index.scss';

export default function Room() {
  ...

  const subscribeMessage = useCallback(() => {
    FxExt.checkSubscribeMessageAuth().then(({ isAuth }) => {
      if (!isAuth) {
        FxExt.requestSubscribeMessage().then(() => {
          console.log('已授权订阅消息');
        });
      }
    });
  }, []);

  ...

  return (
    <>
      ...
      <button type="button" className="btn" onClick={subscribeMessage}>订阅竞猜结果</button>
      ...
    </>
  )

}