功能介绍
FEED SDK 接入外部优质新闻源(目前已接入今日头条),为C计划应用提供多样化的产品内容,增加用户打开和使用时长,以提升用户留存率。 支持返回支持FEED流广告,可用于实现快速广告变现等业务支持。
具体功能如下,可支持部分定制:
1、显示天气和日期 (可选,默认显示)
2、显示今日头条提供的 推荐、热点、视频、本地、 旅游、 美食、养生、健康、育儿、星座等30+个频道资讯。(根据业务情况可使用部分频道作为默认频道,默认提供所有频道)
3、支持接入方在指定位置加入自定义频道(提供频道名称、频道位置、跳转链接)
4、可支持用户自己编辑频道(可选,用户编辑信息仅客户端缓存,重装后显示默认频道。默认支持 )
5、支持用户管理频道,用户可不感兴趣某类内容
6、支持自定义字体大小
7、支持返回支持FEED流广告,适用需要快速变现的业务
需要定制的部分,需要在对接时提前沟通,便于我们进行相关配置
对接人:张香桃 倪梦经
接入指南
Feedsdk 数据打点依赖aio sdk,在接入此sdk 时必须同时接入aio sdk
1、配置AndroidManifest.xml和build.gradle
在 AndroidManifest.xml 中添加以下权限,如果已添加则必须再次添加:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /><!-- 适配Android8.0需要加此权限 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
在build.gradle 中添加以下依赖,如果已添加则无须再次添加:
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.google.code.gson:gson:2.6.2'
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
//RecyclerView
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
//SmartRefreshLayout
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7'
2、导入aar包
导入aar 包添加引用
版本更新记录
版本号 | 更新内容 | 发布时间 |
---|---|---|
1.0.2 | 1)提供设置字体接口 2)天气显示可后台配置式 3)支持返回支持FEED流广告 |
2019-05-13 |
1.0.3 | 更换域名 | 2019-07-09 |
repositories {
flatDir {
dirs 'libs' // feedsdk aar所在目录
}
}
dependencies {
implementation(name: 'wk_ant_feed_sdk_1.0.2', ext: 'aar')
}
3、代码接入
初始化sdk
申请APPID,同时会获得AES KEY,AES IV,MD5 KEY这些密钥,如果本身已经有,可以忽略,subAppid目前不用传 或者传""
AntNewsSDK.init(this, appid,subAppid,aeskey,aesIv,mdkey);
接入方式一:
展现页面 activity 继承 AntFeedActivity
接入方式二:
直接在自己的view 或者布局xml文件 中引用 com.lantern.antnews.widget.AntFeedView, 并在代码中 findViewById
4、适配Anroid7.0
如果您的应用需要适配Anroid7.0以及上系统,请在AndroidManifest中添加如下代码:
<provider
android:name="com.lantern.antnews.core.managers.models.provider.AntDownloadFileProvider"
android:authorities="{你工程的applicationId}.antnews.sdk.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/ant_dm_file_paths" />
</provider>
在res/xml目录下,新建一个xml文件ant_dm_file_paths,在该文件中添加如下代码
<?xml version="1.0" encoding="utf-8"?>
<paths>
<root-path
name="download"
path="." />
</paths>
5、图片加载
在接口 AntImageLoaderInterface方法onImageLoader中实现图片加载,图片加载需支持https,示例如下:
AntInterfaceManager.getInstance().setImageLoaderInterface(new AntImageLoaderInterface() {
@Override
public void onImageLoader(ImageView imageView, String url) {
// TODO:实现图片加载逻辑
}
});
6、文章列表字体大小设置
在接app初始化之前调用如下代码,, 示例如下:
//0.85 小, 1 标准大小, 1.15 大,1.3 超大 ,1.45 特大(建议字号,可自定义,fontSize 为字体倍数)
AntManager.getInstance().setFontScale((float) fontSize);
7、销毁
在退出activity 或者退出app 的时候 调用如下示例:
@Override
protected void onDestroy() {
AntNewsSDK.destroy();
super.onDestroy();
}
8、混淆proguard设置
如果应用打包时进行了混淆,"必须"加入如下混淆配置:
-keep class com.lantern.antnews.** {*;}
-keep class com.androidquery.** {*;}
9、调试
AntBuildConfig.DEBUG = true; //线上环境
AntBuildConfig.isDEBUGLOG = true;//打开调试log