# 桌面文件夹
# 能力介绍
开发者可通过调用相关 API,创建桌面文件夹小组件,并将当前游戏添加至桌面文件夹的快捷启动列表中。
# 处理逻辑
- 小游戏客户端通过 tap.hasHomeScreenWidgetAndPinned() 接口检测桌面文件夹小组件是否已创建,并判断当前小游戏是否位于桌面文件夹列表首位。
- 若桌面文件夹小组件尚未创建,或当前小游戏未置于小组件列表首位,可适时引导用户添加或调整位置。
- 当用户确认添加操作时,调用 tap.createHomeScreenWidget() 接口,该接口将触发桌面文件夹组件的创建,并将当前小游戏置于桌面文件夹的首位。
- 根据操作结果,向用户展示相应的反馈信息。
# 最佳实践
# 第一步: 在Tap后台创建小游戏
# 第二步:提交审核并通过后,能够在Tap线上游戏中看到这个小游戏

# 第三步: 在Tap App体验该小游戏的线上版本(开发者后台扫码自测的情况下暂无法测试此功能)
# 第四步:测试查询&创建桌面快捷方式api
# API说明
# 查询api:
tap.hasHomeScreenWidgetAndPinned({
success: ({errMsg,hasWidget, isPinned}) => {
/* 查询成功回调
* @param errMsg 错误信息
* @param hasWidget 用户是否使用Tap App添加了桌面小组件
* @param isPinned 本小游戏是否在桌面小组件列表中并且是第一个
*/
},
fail: ({errMsg, errno}) => {
/* 查询失败回调
* @param errMsg 错误信息
* @param errno 错误码
*/
},
complete: ({errMsg, errno}) => {
/* 查询完成回调
* @param errMsg 错误信息
* @param errno 错误码
*/
}
})
# 创建桌面小组件并把本小游戏放在桌面小组件列表的第一个:
tap.createHomeScreenWidget({
success: ({errMsg, errno}) => {
/* 创建桌面小组件并把本小游戏放在桌面小组件列表的第一个 执行成功
* @param errMsg 错误信息
* @param errno 错误码
*/
},
fail: ({errMsg, errno}) => {
/* 创建桌面小组件并把本小游戏放在桌面小组件列表的第一个 执行失败
* @param errMsg 错误信息
* @param errno 错误码
*/
},
complete: ({errMsg, errno}) => {
/* 创建桌面小组件并把本小游戏放在桌面小组件列表的第一个 执行完成
* @param errMsg 错误信息
* @param errno 错误码
*/
}
})
# 场景使用示例:
tap.hasHomeScreenWidgetAndPinned({
success: ({errMsg,hasWidget, isPinned}) => {
if(!hasWidget || !isPinned){
tap.createHomeScreenWidget({
success: ({errMsg, errno}) => {
// todo 创建桌面快捷启动本小游戏成功,给抽奖机会/积分 等奖励
}
})
}
}
})
# 第五步:查看效果

