小鹅通店铺SDK Android接入说明
1、注册使用小鹅店铺,取得店铺appID 2、购买小鹅店铺sdk接入服务,取得sdkAppId
Android SDK暂时只提供aar的方式进行下载,eclipse开发等待后续升级 1、SDK文件说明: SDK内包含aar文件、sdk使用demo、sdk接入文档、sdk更新说明
将”xiaoe_shop_sdk_release_vx.x.x.aar”文件拷贝进待接入sdk的moudle下的“libs”目录下,并加入gradle依赖。若“libs”文件夹不存在,需新建该文件夹
AndroidManifest.xml里加入权限声明如下:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CAMERA"/>
AndroidManifest.xml里开启硬件加速和配置屏幕旋转,必须在加载小鹅店铺的webview所在activity上配置,如下:
<activity android:name=".XXXActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:hardwareAccelerated="true"/>
在自定义Application中对SDK进行初始化,如下:
public class XXXplication extends Application{
@Override
public void onCreate(){
super.onCreate();
//初始化SDK
XiaoEWeb.init(this, "app_id", "sdk_id", XiaoEWeb.WebViewType.X5);
}
}
参数说明: this:Context上下文参数 app_id:店铺Id sdk_id:申请嵌入SDK获取的Id type:WebView内核类型(原生:WebViewType.Android;腾讯X5内核:WebViewType.X5;建议使用腾讯X5内核)
SDK采用动态添加WebView的方式去加载网页,无需在布局文件中添加WebView,只需要在调用时指定WebView的布局容器即可。具体调用方式如下:
XiaoEWeb.with(this)
.setWebParent(webLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
.useDefaultUI()
.useDefaultTopIndicator(getResources().getColor(R.color.colorPrimaryDark))
.buildWeb()
.loadUrl(Const.SHOP_URL);
setWebParent:设置webview的父容器和LayoutParams; useCustomUI:设置自定义错误页和加载页的布局Id,若不需要自定义可直接使用useDefaultUI()方法; useDefaultTopIndicator:设置顶部进度条的样式,包括颜色和高度等 buildWeb:构建WebView loadUrl:加载网页
还可以通过下面的调用方式完成一些其他设置:
XiaoEWeb.with(this)
.setWebParent()
.useCustomUI()
.useCustomTopIndicator()
.setWebSetting()
.setUrlLoader()
.setWebUIController()
.setWebViewClient()
.setWebChromeClient()
.buildWeb()
.loadUrl()
sdk针对小鹅店铺提供如下的页面回调事件:
public class JsInteractType {
public static final int SHARE_ACTION = 1; //分享事件
public static final int LOGIN_ACTION = 2; //登录事件
public static final int LOGOUT_ACTION = 3; //登出事件
}
注册方式:通过注册JsBridgeListener实现
public interface JsBridgeListener{
void onJsInteract(int actionType, JsCallbackResponse response);
}
在监听器内通过actionType区分不同的回调事件,具体实现方式参考demo实现。
小鹅的店铺,必须需要token鉴权才能进入店铺商品详情页等业务操作或个人信息页面,(获取token的方式见API文档)获取到token后需调用下面方法进行同步:
public void sync(XEToken xeToken){}
XEToken说明:(key与value必须业务后台从小鹅sdk后台获取到的key、value一致)
public class XEToken{
private String tokenKey;
private String tokenValue;
}
将token设置进sdk,在适当的时机需清空token信息(如:退出登录)
public void syncNot(){}
为了避免内存泄漏,需要在activity或fragment的对应生命周期函数内调用webview对应的生命周期函数:
XiaoEWeb.webLifeCycle().onResume();
XiaoEWeb.webLifeCycle().onPause();
XiaoEWebwebLifeCycle().onDestroy();
为了提供对某些页面的加载速度,sdk提供了预加载实现方案(暂时只支持一级页面的预加载)
XiaoEWeb.preloadingUrl(context,url);
clearWebViewCache():清除webview加载缓存
loginCancel():退出登录
share():获取分享内容(暂只支持分享店铺首页)