BBSSDK 产品分析

简介:

产品介绍
BBSSDK主要是将论坛的一些文章,版块,帖子,评论等内容,整合到App,可以实现用户便捷获取信息,浏览阅读,该移动数据方案,也可以自动同步Discuz服务端数据,且不限制存储空间和流量。
UI自定义
BBSSDK分为简约版和时尚版两个版本,这两个版本除了展示效果的不同,功能完全一致.简约版注重UI的简洁,界面清晰利落.时尚版追求UI的炫酷,里面实现了很多毛玻璃,动画等效果.具体选择哪个版本,依据不同业务需求而定.
1
简约版
2

时尚版
主界面展示了论坛和门户两大模块.这两个模块实现不同业务功能,但并不一定全部展示.展示哪个模块由后台决定,用户可以通过后台进行手动配置.功能结构如下:
3
• 通过集成我们的SDK,你可以自己设定整个界面显示的内容,比如首页部分,该界面有资讯和论坛两个部分,如果用户有不同的业务需求,则用户可以通过后台的配置,可以隐藏或者显示指定的内容,能更好的适用于不同的业务场景。
• 由于BBSSDK中包含有多个板块内容,且每个板块内容是完全不同分类的,该用户也可以只使用板块中的一种来展示自己内容,并在改部分也有分类筛选以及按回复时间排序和按发帖时间排序等功能。
4
• 对于BBSSDK的UI界面,如果用户想使用自己独特的个性图片,则只需要更换一些具体界面的图片,具体操作步骤如下:

  1. 打开SDK文件夹下的BBSSDKUI.bundle,在改bundle下面,分为Common|Forum|Home|LBS|User 等,不同的界面会有对应界面的文件夹,存放该界面对应的图片资源
  2. 找到不同的界面下不同的分类,用户可以根据自己的需要,对具体的界面进行针对性的替换,当然,这里面还包含了公共部分
  3. 图片文件名包含@2x,@3x等后缀以适配不同屏幕清晰度,替换时需要都替换
│     
│
└───threerdParty   //三方库资源文件
│   │ MJRefresh  
│   │ SVProgressHUD  
│   │ ZSSRichEditor  
│   
└───Common       //公用部分图片资源
│   │    
│   
└───Emoji       //表情图片资源
│   │ coolmonkey  
│   │ default
|   | grapeman       
│   
└───Forum      //版块图片资源
│   │    
│   
└───Home      //主页图片资源
│   │    
│   
└───LBS      //地理位置图片资源
│   │     
│   
└───Login&Register  // 登录注册页面图片资源

• BBSSDK 可以实现自定义接口,在获取帖子列表接口中,用户可以将传入的版块id参数设置为唯一的,则请求出的数据信息就只有一种版块数据,此外,用户也可以设置selectType参数为唯一值,则数据展示也会值显示用户指定的列表信息。

/**
 获取帖子列表

 @param fid 板块id
 @param orderType 排序依据 :createdOn 按照发帖时间排序.lastPost 按照回帖时间排序。
 @param selectType displayOrder 置顶,digest 精华,heats 热门,latest 最新
 @param pageIndex 页索引
 @param pageSize 每页请求大小
 @param result 回调
 */
+ (void)getThreadListWithFid:(NSInteger)fid
                   orderType:(NSString *)orderType
                  selectType:(NSString *)selectType
                   pageIndex:(NSInteger)pageIndex
                    pageSize:(NSInteger)pageSize
                      result:(void (^)(NSArray *threadList, NSError *error))result;
                      

• 由于BBSSDK的UI是开源的,用户可以在原有UI界面的基础上进行布局设置,例如个人中心部分,用户可以值使用我们BBSSDK的用户信息,而界面可以添加其他信息,将BBSSDK中的数据作为一个单独项展示
5
• 在BBSSDK中,也可以自定义版块,由于BBSSDK中数据完全可以有后台来配置模块部分,故用户可以自己设定自己产品论坛中拥有的模块,并可以按照BBSSDK中的展示,给用户置顶版块的权限。
6
用户登录
• 用户可以使用QQ登录或者微信登录,此种方式登录后,BBSSDK会自动获取用户的基本信息,或者用户也可以使用注册的方式自己进行注册登录。一旦用户登录之后,我们的BBSSDK就会将用户的信息进行缓存记录,以方便在发帖或者评论时进行身份验证使用,代码如下:

- (void)authLoginWithOpenid:(NSString *)openid
                    unionid:(NSString *)unionid
                   authType:(NSString *)authType
                  createNew:(NSNumber *)createNew
                   userName:(NSString *)userName
                      email:(NSString *)email
                   password:(NSString *)password
                 questionId:(NSNumber *)questionId
                     answer:(NSString *)answer
                 coordinate:(BBSLocationCoordinate *)coordinate
                     result:(void(^)(BBSUser *user, id res, NSError *error))result
{
    __weak typeof(self) theContext = self;
    BBSService *service = [BBSService sharedInstance];
    [service authLoginWithAppkey:_appKey
                          openid:openid
                         unionid:unionid
                        authType:authType
                       createNew:createNew
                        userName:userName
                           email:email
                        password:password
                      questionId:questionId
                          answer:answer
                      coordinate:coordinate
                            duid:self.duid
                          apppkg:self.apppkg
                          appver:self.appver
                          sdkver:self.sdkver
                            plat:@(self.plat)
                         factory:self.factory
                           model:self.model
                          sysver:self.sysver
                          result:^(id res, BBSError *error)
     {
         BBSUser *user = nil;
         if (!error)
         {
             if ([res isKindOfClass:NSDictionary.class])
             {
                 user = [[BBSUser alloc] init];
                 [user setValueForPropertiesWithDictionary:res];
                 
                 //缓存用户信息
                 theContext.currentUser= user;
                 [theContext _saveCurrentUser];
             }
         }
         
         if (result)
         {
             result(user,res,error);
         }
     }];
}

• 在BBSSDK中,用户进行操作时,也会做一个登录的身份验证,比如在用户进行发帖、评论、浏览等操作中,验证如下:

- (void)postError:(NSError *)error title:(NSString *)title html:(NSString *)html
{
    
    if (error.code == 9001200)
    {//token失效,请重新登录
        [BBSUIContext shareInstance].currentUser = nil;
    }
    
   //code....
   
}

• 在BBSSDK中登录也接入了UCenter方案,UCenter提供同步登录、退出、注册等相关接口,可以实现用户使用一个账号,在一处登录,全站通行。
深度链接
BBSSDK的深度链接功能,主要通过ShareSDK和MobLink结合来完成,主要用于实现社区、其他App,浏览网站等不同功能模块之间的快速跳转。在BBSSDK中,BBSSDKUI对ShareSDK和MobLink采取弱引用的集成方式。通过这样方式,在集成BBSSDKUI.framework的时候,即使不添加ShareSDK和MobLink这两个模块,也不会影响其他业务功能。实现了整个项目的低耦合。
• 具体使用配置如下

  1. 申请AppKey,并引用MobLink的SDK库
  2. 在Xcode中,添加URL的Scheme
  3. 在MObLink官方配置Bundele ID,包名等信息进行生成Universal Link
  4. 将生成的Universal Link,添加到项目中的 Associated Domains 中
  5. 添加功能代码如下
+ (NSString *)MLSDKPath
{
    return @"/portal/detail";
}

- (instancetype)initWithMobLinkScene:(BBSMOBFScene *)scene;
{
    self = [super init];
    if (self)
    {
        NSDictionary *sceneDict = [scene getParams];
        self.aid = [sceneDict[@"aid"] integerValue];
    }
    return self;
}

• 等以上所需配置完毕,用户需要先分享内容到第三方App比如微信,在微信中打开分享的链接,点击访问原网页,可以看到提示步骤,并按照提示步骤进行操作,会看到如下图,点击打开即会回到用户使用BBSSDK集成的App中

7
8
签到 && 消息
• BBSSDK中提供了用户签到功能,并能查看签到的用户信息。
• 当用户发帖时,别的用户对帖子评价或者喜欢等操作,会收到消息通知,可以及时获取跟帖动态。

目录
相关文章
|
机器学习/深度学习 数据可视化 数据挖掘
第四届“泰迪杯”数据分析技能赛-赛题A:《通讯产品销售和盈利能力分析》报告
第四届“泰迪杯”数据分析技能赛-赛题A:《通讯产品销售和盈利能力分析》报告
746 0
产品分析:解决什么问题?
问出一个好问题,比给出一个好的答案更重要。分析出了利益相关者,接着就是要想产品或者服务解决了他们什么问题。如,提高效率,降低成本。
99 0
产品分析:解决什么问题?
一个实用的产品分析模型
产品分析要从"用什么方式"、解决了“谁的”“什么问题”三个维度进行分析。
98 0
一个实用的产品分析模型
|
搜索推荐
产品分析:谁是利益相关者?
产品分析的主线是,产品用什么方式,解决了谁的,什么问题。关键词:“用什么方法”,”谁的“、“什么问题”
123 0
产品分析:谁是利益相关者?
|
Web App开发 自然语言处理 监控
企业协作工具竞品分析
企业协作工具竞品分析
企业协作工具竞品分析
|
架构师 搜索推荐 算法
信息架构,互联网营销
  写几篇关于信息架构的文章,系统地输出我理解的信息架构。   写在前面的话   发了一篇关于招信息架构实习生的博客,收到不少简历。  但谈起信息架构,多数不了解,稍微了解的扯了很多很偏的东西。   随手搜索了一下,我发现了原因:  1. 《web信息架构》这本书太概念,太学术。
1145 0
互联网产品需求管理杂思2-需求收集,互联网营销
  前一篇 互联网产品需求管理思考1——统一需求管理   需求收集是进行产品需求管理的第一步。需求收集得到的各种用户需求素材是产品需求的唯一来源。可以说需求收集的质量影响着产品最终的质量。   1、需求收集目的   需求收集的目的在于:通过以市场为导向的客户需求收集,保持公司产品的核心竞争力,最终实现产品创新。
1113 0
做产品,先找准产品的定位点再开工,互联网营销
做产品前,需要先找准产品的定位。这是一句绝对正确的废话。不过我还是想要再写这篇文章,再提醒下自己。因为这个问题,基本上我应该已经算是犯了两次了。       一次是在我刚开始做产品设计1年左右的时候,山寨出生,没有人教,一边听老板的高谈阔论,一边疯狂的订阅产品相关Blog,体验一个又一个的网站。
925 0
|
UED
互联网产品需求管理思考3——洞察市场,互联网营销
  前面提到的“互联网产品需求管理思考1——统一需求管理”、“互联网产品需求管理杂思2——需求收集”分别从统一需求管理入口及需求收集的方法角度思考了怎样让产品研发与市场更加紧密结合,让需求管理过程更加高效。
1342 0
|
新零售 自然语言处理
阿里云如何在阿里电商平台每天产生的2千万条商品评价中,高效甄别出净负面评论并跟进处理的?
近年来,电商发展的如火如荼,从以淘宝为首的网购零售平台再到垂直的生鲜类等电商,中国电商市场正持续较快地增长。据消息称,手机淘宝DAU在6月18日达到2.6亿的峰值,并且从去年开始,阿里电商平台推出促进消费者评价制度,买家评价字数多,配图多的能提高分值。
4104 0