Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
程序yang
unidocs-zh
提交
f76ae8c6
U
unidocs-zh
项目概览
程序yang
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
f76ae8c6
编写于
11月 24, 2022
作者:
d-u-a
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ad-rewarded-video:更新回调示例代码
上级
d36a4103
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
70 addition
and
5 deletion
+70
-5
docs/component/ad-rewarded-video.md
docs/component/ad-rewarded-video.md
+70
-5
未找到文件。
docs/component/ad-rewarded-video.md
浏览文件 @
f76ae8c6
...
...
@@ -475,11 +475,76 @@ exports.main = async (event, context) => {
#### 用户云函数详细说明
如果业务使用了uniCloud,可以直接在云函数内部处理
1.
如果业务使用了uniCloud,可以直接在云函数内部处理
2.
没有使用uniCloud,将结果通过http发送给已有服务器
也可以将结果发送给已有业务服务器
示例代码: 用户业务系统在uniCloud
```
js
'
use strict
'
;
示例代码
const
crypto
=
require
(
'
crypto
'
);
const
db
=
uniCloud
.
database
();
const
collectionName
=
"
ad-callback-log
"
;
// 如果选择了腾讯云,需要手动预创建表
class
DB
{
static
save
(
data
)
{
return
new
DB
().
add
(
data
);
}
add
(
data
)
{
const
collection
=
db
.
collection
(
collectionName
);
const
data2
=
Object
.
assign
(
data
,
{
ad_type
:
0
,
create_date
:
new
Date
()
})
return
collection
.
add
(
data2
);
}
}
exports
.
main
=
async
(
event
,
context
)
=>
{
//event为客户端上传的参数
console
.
log
(
'
event :
'
,
event
);
const
{
path
,
queryStringParameters
}
=
event
;
const
data
=
{
adpid
:
event
.
adpid
,
platform
:
event
.
platform
,
provider
:
event
.
provider
,
trans_id
:
event
.
trans_id
,
sign
:
event
.
sign
,
user_id
:
event
.
user_id
,
extra
:
event
.
extra
,
}
// 注意::必须验签请求来源
const
secret
=
""
;
// uniad 后台开通激励视频回调后生成的 Security key
const
trans_id
=
event
.
trans_id
;
const
sign2
=
crypto
.
createHash
(
'
sha256
'
).
update
(
`
${
secret
}
:
${
trans_id
}
`
).
digest
(
'
hex
'
);
if
(
event
.
sign
!==
sign2
)
{
return
null
;
}
// 可选将回调记录保存到uniCloud,避免用户服务器没有响应时有日志可查,如果选择了保存记录需要做定时清理日志,避免日志过多影响性能
// try {
// await DB.save(data);
// } catch (e) {
// console.log(e);
// }
// 开发者在此处处理自己的回调业务,需要返回值
return
null
};
```
示例代码: 用户业务系统不在uniCloud,通过http的方式发送数据到已有服务器
```
js
'
use strict
'
;
...
...
@@ -587,8 +652,8 @@ exports.main = async (event, context) => {
// console.log(e);
// }
//
const url = "https://"; // 用户业务服务器地址,为了避免请求被伪造,必须使用签名的方式请求
//
let reuslt = await UserServer.send(url, data);
const
url
=
"
https://
"
;
// 用户业务服务器地址,为了避免请求被伪造,必须使用签名的方式请求
let
reuslt
=
await
UserServer
.
send
(
url
,
data
);
return
reuslt
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录