6. 分享&邀请功能

6.1 分享功能

业务流程

  1. 游戏设置分享内容,并展现分享引导提示
  2. 用户分享成功之后,CP前端收到分享成功通知(目前只在微信环境下通知CP)
  3. 游戏给用户发放奖励

6.1.1 设置分享成功之后接收通知方法

CP需全局范围内定义onShareTimeline方法,以接收分享成功之后的回调。

function onShareTimeline(){
//游戏在方法内实现自身逻辑,如:提示用户分享成功,并发放奖励
}

当用户分享成功之后,sdk会调用onShareTimeline方法

6.1.2 设置分享信息

sdk方法调用(当用户点击游戏里面分享按钮的时候,CP前端调用),执行该方法1758平台会在游戏页上覆盖浮层并弹出分享引导提示。

hlmysdk.setShareInfo({
"state":"",
"type":"img", //此项可空。当且仅当type为img时,表示分享方式为图片二维码(需要联系1758运营同学特别配置);否则都认为是默认分享方式
"tipInfo":true,
"reward":[]
});

当cp调用setShareInfo的时候,平台会弹出分享提示的页面,当分享成功之后,sdk自动会去全局查找onShareTimeline这个方法,并自动去调用该方法,所以cp需要在全局范围内定义onShareTimeline方法。

参数说明

参数字段 类型 说明 必选 默认值
state string CP传递的自定义参数,用户通过分享的链接授权后,该参数会透传到CP的授权回调地址上,同时CP服务器收到的邀请结果通知接口中也会透传该参数 可选
type string 此项可空,当且仅当type为img时,表示分享方式为图片二维码(需要联系1758运营同学特别配置),否则都认为是文案分享方式 可选
tipInfo boolean true时,表示使用1758的分享提示信息页面,为false时,则CP可以自己实现提示页面 可选 true
reward Array tipInfo参数为true时有效,在提示页面上展示数组内容,(如:元宝X20) 可选

state参数类型必须为字符串格式,sdk方法会严格校验该参数类型

6.1.3 图片二维码分享功能

本功能只针对部分有需求的cp开通,若cp需要开通该功能,请联系1758运营。

  1. 准备工作:
    cp需要制作一张二维码底图 850x1240px(宽x高),右下角留空300x300px,边框距离图片右下角 20x20px,具体尺寸如下图所示,并提供给1758运营同学进行配置。

  2. 操作流程:
    用户使用分享图片二维码功能时,cp需要调用sdk方法,并传入type=img的参数,此时系统会自动生成分享的二维码图片,并在页面上展示。
    用户在微信或客户端环境下,可选择将该图片二维码分享给好友。
    好友收到二维码,长按识别后,即可进入游戏。

以下为示例图片
原始底图:

合成后的二维码图片:

6.2 邀请功能

邀请功能是在分享功能的基础上实现的。
新用户通过老用户分享出去的链接登录授权,并且该新用户为该游戏的新用户(即第一次进入该游戏)即视为邀请成功。

邀请通知每个用户只会通知一次。为方便调试,接入中的应用,不做新用户校验,直接发送邀请通知,

邀请成功后,1758服务器会在用户进入游戏之前通知CP服务器邀请成功,CP需给分享人发放邀请奖励。

邀请接口API:CP提供
需由CP在1758开放平台上配置 邀请回调地址

请求方式:
发起方:1758服务器
接收方:CP服务器
HTTP POST, x-www-form-urlencoded方式

请求参数说明

参数字段 类型 说明 是否可空 是否参与签名
appKey string 游戏的appKey
gid string 分享人的gid
inviteeGid string 被邀请人的gid
inviteeNickname string 被邀请人的昵称
inviteeAvata string 被邀请人的头像url
createTime long 当前时间戳(毫秒)
state string 分享的自定义参数
sign string 参数签名 签名方法 , 签名工具

CP收到邀请通知后,返回 success 字符串,即表示已处理完毕。
对于邀请成功的操作,1758平台只通知一次CP。如失败,不会发起重试。
对于state的解释,详见设置分享信息