友盟+搜索

{{errorMsg}}

产品相关

Q:微社区是免费的吗


A:基础组件:Android_sdk,iOS_sdk,Rest api,各类技术文档等全部免费。


Q:微社区支持那些平台?


A:1 目前提供有Android和iOS两个平台的SDK。iOS文档链接Android文档链接
2 还提供Rest APi,开发者可用于pc,H5等平台的开发。文档链接


Q:微社区支持多媒体服务吗?


A:支持,我们采用阿里百川多媒体服务支持


Q:微社区支持图片数据存储吗


A:支持,普通开发者20G内免费


Q:微社区支持多账号管理吗


A:支持,可以在首页->管理->系统设置->子账户管理
目录下添加或者删除子账户


Q:微社区发帖机制是先发后审、还是先审后发


A:目前是先发后审,异步执行。同时也支持先审后发


Q:微社区能否批量发feed吗?


A:不建议如此,要维护社区真实性


Q:社区中的用户可以重名吗?


A: 在当前社区中,因为有At的功能,默认是不允许重名的,如果开发者希望可以重名,可以发邮件申请 wsq-support@umeng.com


技术相关

Q:微社区是开源的吗?


A:在SDK中,UI层是完全开源,数据层提供接口


Q:微社区提示非法用户名?


A: 在Android:参照com.umeng.comm.core.beans.CommUser.USERNAME_RULE值
在iOS:参照UMComUserNameType值
默认情况:长度限制2-20,仅能包含数字,字母,下划线
userNameNoRestrict时可支持的符号有:英文的:@ _ . emoji 和中文全部符号。

Q:如何获取未读取的feed数、点赞、评论数?


A: 在Android:


        CommunitySDK mCommunitySDK = CommunityFactory.getCommSDK(context);
        mCommunitySDK.fetchUserMessageCount(this,new SimpleFetchListener() {
            @Override
            public void onComplete(MessageCountResponse response) {
                //response 返回值
                /* response中config.feed_length为设置最大feed文字内容 ,msg_box是各个未读消息数,total为所有未读通知数,notice为管理员未读通知数,comment为被评论未读通知数,at为被@未读通知数,like为被点赞未读通知数*/
            }
        });

在iOS:


[UMComPushRequest requestConfigDataWithResult:^(id responseObject, NSError *error) {
    /*UMComSession单利里面 config.feed_lenght对应的UMComSession的maxFeedLength属性,message_box保存在UMComSession的unReadNoticeModel属性里面,他是UMComUnReadNoticeModel类的对象*/
    //[UMComSession sharedInstance].unReadNoticeModel 返回值
    }];


Q:编译提示ercode=1或者网络连接服务失败


A:开发者是没有在友盟微社区配置你的微社区,比如创建微社区,创建应用等。


Q:集成sdk时,找不到activity类


A:看看是否有jar包重复的情况,包含v4、ui相关的包,以及是否引用了微社区SDK的library又单独的添加了jar文件到libs中。


Q:微社区登录后报异常push文件冲突


A:这种情况是开发者使用多个阿里的jar包。所以导致UTDID的冲突,可以下载使用友盟push的不包含UTDID的jar包下载地址


Q:Caused by: java.lang.ClassNotFoundException: Didn't find class "com.***


A:其实一般分为2种情况:

1、启动activity的时候,在AndroidManifest.xml 可能压根你就忘了添加一个activity,或者说activity的包名或者名字写错了,这个犯错几率很高的

2、你的使用的class,是一个外部的JAR包,当在工程中编译使用时,发布成APK并没有包含JAR文件,所以APK在执行的时候就找不到JAR文件,会报错。

所以一定在“Order and Export”里,勾选使用的jar包。切记!


Q:微社区定位jar包与工程内其他定位包冲突


A:两种情况:
情况1 工程内使用了高德地图的SDK 删除微社区中高德jar包即可,路径/umeng_community_android_sdk_library/location/libs/Android_Location_V1.3.2.jar

情况2 工程内使用了其他第三方地图SDK

  • 步骤1 需要开发者自己写一个类,重新实现Locateable接口
  • 步骤2 实现requestLocation方法,在该方法中调用第三方SDK获取地理位置信息的方法
  • 步骤3 返回地理位置信息后,然后调用mListener.onComplete(location)传给微社区
代码实例:
LocationSDKManager.getInstance().addAndUse(new NewDefaultLocationImpl());


Q:我想修改正文页的分享功能,该怎么做


A:SDK中正文页已经开源
iOS中直接修改UMComShareCollectionView类即可
Android需要通过注入的方式,继承Shareable接口,实现share方法


Q:收不到通知怎么办?


A:
iOS需要确定的几点
1 代码中注册push服务

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    [UMComMessageManager registerDeviceToken:deviceToken];
}

2 在程序启动时提示是否打开通知服务,请选择是,或者在设置中确保通知是开启状态

3 微社区对应的是友盟推送的生产环节,请确保生产环节的证书已上传并保证正确

Android:
要确保在AndroidManifest.xml中UMENG_APPKEY和UMENG_MESSAGE_SECRET字段值设置正确


Q:Android版Demo怎么运行?


A: 参照:Demo使用说明


Q:调用RestApi时提示server error?


A: 使用微社区RestApi时,调用Access Token等接口时,经常会遇到提示server error的错误,产生的原因有以下几个方面:
1 项目中使用的appkey和appsecert不匹配,导致服务器端收到加密数据后,解密失败
2 调用接口时,某些参数的字段类型错误
3 获取token时,有source_uid和source但是user_info没有name字段
4 调用接口时,某些参数值非法,例如性别的取值范围是0和1,但使用时传入的是2


Q:微社区中调用更新头像怎么使用?


A: 鉴于在微社区中图片缓存使用了百川的多媒体服务,所以在使用时会对开发者造成一些困扰,现在我们统一解释一些各个平台更新头像的方式。
1.iOS平台:
不要通过updateWithUser:completion: 方法来更新头像,请用以下方法
更新头像接口地址

// XXXX 可以是UIImage也可以是NSString形式的图片链接地址,SDK会自动识别
[UMComPushRequest updateUserIcon:XXXX response:^(NSError *error) {
            if (error == nil) {
                //更新成功
            }
        }];

2.Android平台:
不要通过updateUserProfile方法来更新头像,请用2个方法头像
更新头像接口1地址更新头像接口2地址

// 方法1 通过图片Bitmap更新头像
        CommunityFactory.getCommSDK(getContext()).updateUserProtrait(bmp,
                new SimpleFetchListener() {

                    @Override
                    public void onStart() {
                    }

                    @Override
                    public void onComplete(PortraitUploadResponse response) {
                        if (response != null && response.errCode == ErrorCode.NO_ERROR) {
                            Log.d("", "头像更新成功 : " + response.mJsonObject.toString());
                        } else {

                        }
                    }

                });
        // 方法2 通过图片链接地址更新头像
        CommunityFactory.getCommSDK(getContext()).updateUserProtrait(strUrl,
                new SimpleFetchListener() {

                    @Override
                    public void onStart() {
                    }

                    @Override
                    public void onComplete(PortraitUploadResponse response) {
                        if (response != null && response.errCode == ErrorCode.NO_ERROR) {
                            Log.d("", "头像更新成功 : " + response.mJsonObject.toString());
                        } else {

                        }
                    }

                });

3.RestApi:
情况1,开发者使用图片文件更新用户头像
第一步,获取图片Token,参照:获取图片Token
第二步,然后上传图片,获取图片链接,参照:上传图片接口
第三步,上传图片链接,更新用户头像,参照:更新头像接口

情况2,开发者使用图片URL地址更新用户头像
使用图片链接,直接更新用户头像,参照:更新头像接口

参照JAVA版DEMO:下载地址