帮助与文档

> >

1、加入SDK

首先,解压下载回来的SDK压缩包,可以看到下面的目录结构:

image2017-3-16 15-17-34

其中“MobDependency”是UMSSDK的依赖库,包含ShareSDK、SMSSDK和其他工具代码;“UMSSDK”是核心库;“UMSSDK-GUI”是一套开源的界面,包含了:登录、注册、修改密码、获取和修改用户资料等功能。

其次,将上述目录复制到您项目的工作空间,让您的项目依赖于UMSSDK-GUI。

最后,修改“AndroidManifest.xml”文件。

<!-- 添加必要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
 
<!-- 将Application修改为MobApplication,免去SDK初始化操作 -->
<application
        android:name="com.mob.MobApplication">
    <!-- 其它的activity -->
 
    <!-- UMSSDK的activity -->
    <activity
            android:name="com.mob.tools.MobUIShell"
            android:theme="@android:style/Theme.NoTitleBar"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden|adjustResize"/>
             
    <!-- 填写您从Mob开发者后台中得到的Appkey和AppSecret -->
    <meta-data android:name="Mob-AppKey" android:value="您的AppKey"/>
    <meta-data android:name="Mob-AppSecret" android:value="您的AppSecret"/>
</application>

2、代码调用

首先,有界面代码只有两个入口,都在UMSGUI类中:

方法名称 参数列表 使用说明
showLogin OperationCallback callback
        操作回调,成功后会返回一个User对象,包含当前用户的详细资
        打开登录页面,可在页面中执行注册、重置密码和第三方登录
showProfilePage 打开我的资料页面。如果此前没有登录,则会先执行登录,在登录完成后才显示资料页面

下面的代码演示了它们的使用方法:

// 先设置界面主题,不同的主题对应不同的界面风格
UMSGUI.setTheme(DefaultTheme.class);
// 打开我的资料页面。如果此前没有登录,则会先执行登录,在登录完成后才显示资料页面
UMSGUI.showProfilePage();

3、OperationCallback

OperationCallback是UMSSDK所有异步操作的结果回调,包含下面3个方法:

方法名称 参数列表 使用说明
onSuccess Object data 具体操作的结果数据 成功回调
onFailed Throwable t 具体操作的异常堆栈 错误回调
onCancel 取消回调

4、混淆处理

UMSSDK已经对代码做了混淆处理,请在您项目的混淆脚本中keep我们的代码,防止出现不可预知的错误:

-keep class com.mob.**{*;}
-keep class cn.sharesdk.**{*;}
-kepp class cn.smssdk.**{*;}