本文档描述了 APICloud 开发者如何集成 News 扩展模块(后面简称为模块),通过集成模块为 App 引入完备的信息流服务。
如果需要在信息流和资讯正文中展示广告,则需集成 AD 扩展模块。本文档默认需要展示广告,展示广告可以创造收益。
AppId:应用 id,18位 hex 字符串。【注意】调试时请使用测试 appId:ba0063bfbc1a5ad878;外发版本请替换成正式 appId,否则不会产生收益。
开发者需要在 index.html 的 apiready 函数中调用以下代码来初始化模块:
// 初始化 AdSdk,资讯中可以展现广告
var adSdk = api.require('adSdk')
adSdk.setup({
appId: APP_ID,
userId: userId, // 用户 id
debug: false // 是否调试模式,默认 false,请至少运行一次调试模式
})
var newsSdk = api.require('newsSdk')
newsSdk.setup({
appId: APP_ID,
userId: userId, // 用户 id
debug: false
})
登录时请设置 userId:
adSdk.setUserId({userId: userId})
newsSdk.setUserId({userId: userId})
退出登录请重置 userId:
adSdk.setUserId({userId: null})
newsSdk.setUserId({userId: null})
在 H5 页面中嵌入资讯信息流代码如下:
newsSdk.showNews({
margins: [0, 84, 0, 0] // [left, top, right, bottom]
})
在 H5 页面中隐藏资讯信息流代码如下:
newsSdk.hideNews()
跳转新打开的资讯信息流页面代码如下:
newsSdk.startNews({
title: "资讯" // 标题,可选
})
阅读资讯时可以显示倒计时,倒计时结束后给用户发放奖励。
配置倒计时示例代码如下:
newsSdk.configReadingCountdown({
color: "#FF0000",
bgColor: "#00FF00",
imageUrl: "https://mobi.oss-cn-shanghai.aliyuncs.com/images/redpack.png",
layout: "bottom",
margins: [0, 0, 50, 50] // [left, top, right, bottom]
}, result => {
console.log(JSON.stringify(result))
if (result.event == "onReadingStart") {
// 请按照产品需求,根据 newsUrl、newsType 判断是否启动倒计时,不给奖励可以不调用
if (1 /* ARTICLE */ == result.newsType || 2 /* VIDEO */ == result.newsType) {
newsSdk.startCountdown({
newsUrl: result.newsUrl,
countdownSeconds: 10,
scrollEffectSeconds: 3, // 滚动作用时间,到期后暂停计时,再滚动继续计时;小于等于0不滚动也不会暂停计时
rewardData: 5
});
}
} else if (result.event == "onReward") {
// 在此发放奖励,并设置奖励结果
newsSdk.setRewardResult({
newsUrl: result.newsUrl,
success: true,
rewardData: result.rewardData
})
} else if (result.event == "onReadingEnd") {
}
})