手上有一个自己开发的小游戏,想加一个家族系统活跃下游戏的氛围,想到这块儿可能会有大量的工作需要自己做,就偷了个懒去网上搜罗了一波,结果惊奇的发现居然真的有类似的服务,并且还是免费的,所以决定入坑尝试一下。这里就我使用的第三方家族系统(GangSDK)做一个简单的记录,方便以后查看。

一、GangSDK介绍
GangSDK是为开发者提供的一套快速接入社群系统的开发框架,主要为了帮助开发者在自己的应用里快速构建社群系统。社群系统包含两大功能:1、为用户们提供自己的社交圈,使他们交流更方便;2、社群建设,使社群更具影响力,同时吸引更多的用户加入。

GangSDK包括三个部分:

GangCore:数据管理(所有网络请求接口管理)

GangUI:界面展示(提供的UI布局)

GangUIResource:皮肤资源(为UI提供了多套资源,可选择替换使界面显示多样化)

二、集成前准备

1、注册及创建应用,网址:http://www.gangsdk.com/statichtml/html/gangsdkmanage/myapp.html

2、下载GangSDK.zip,网址:http://www.gangsdk.com/statichtml/resource/sdk/ios/GangSDK.zip

三、开始集成
1、导入GangSDK

1>将GangSDK.zip解压后拷贝到工程文件夹(.xcodeproj文件所在目录)中去,如图:

2>通过在工程目录上的右键[Add Files to…]来添加上面拷贝进去的文件夹,如图:

2、添加依赖库

点击项目文件->选择项目target->选中Build Phase ->在Link Binary With Libraries中添加 libicucore.tbd,如图:

3、添加 -ObjC 链接符号

点击项目文件->选择项目target->选中Build Setting ->在搜索框中输入other link ,找到Other Linker Flags ->添加-ObjC,如下图:

4、添加权限

1>选中info.plist->右键选择Open as -> Source Code,如下图:

2>将下面的配置信息粘贴进去,如下图:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>NSPhotoLibraryUsageDescription</key>
<string>能够查看相册图片</string>
<key>NSCameraUsageDescription</key>
<string>拍摄照片</string>
<key>NSMicrophoneUsageDescription</key>
<string>发送语音消息</string>

5、初始化GangSDK
1>导入头文件:
#import <GangSDK/GangSDK.h>

2>调用方法:
//初始化,一般在应用一打开就进行
[[GangSDK instance] init:申请的key showDebug:是否打印日志];

一般在AppDelegate中进行,如下图:

如果想在不进入GangSDK界面前先登录GangSDK,从而收取一些即时消息等,那么在初始化后调用GangSDK的登录方法。

6、进入GangSDK界面
1>导入头文件:
#import “GangSDK+UI.h”

2>调用方法:
如果上面已经调用了登录方法,则直接调用跳转进入界面方法。

否则调用下面的登录并跳转界面方法:

[[GangSDK instance] startUI:用来跳转的controller userId:用户的唯一标识符 nickname:用户的昵称 headIconUrl:用户的头像 gameLevel:应用中用户的等级 gameRole:应用中用户的角色 extParams:额外的用户信息 success:成功回调 failure:失败回调];

如果没有自己的用户系统,可以选择下面的重载方法,GangSDK会给用户自动生成一个唯一标识符,用户会使用默认的头像,而且在用户进入GangSDK界面的时候会弹出对话框让用户自己设置一个昵称:

[[GangSDK instance] startUI:用来跳转的controller success:成功回调 failure:失败回调];

更多重载方法:
[[GangSDK instance] startUI:用来跳转的controller userId:用户的唯一标识符 nickname:用户的昵称 success:成功回调 failure:失败回调];

[[GangSDK instance] startUI:用来跳转的controller userId:用户的唯一标识符 nickname:用户的昵称 headIconUrl: 用户的头像 success:成功回调 failure:失败回调];

进入GangSDK后默认的风格如图:

如果不想用默认的界面风格,可以下载其他GangUIResource来替换旧的GangUIResource文件夹,下载地址:

详细集成文档下载地址:http://www.gangsdk.com/statichtml/html/gateway/other/ios.html?downloadType=detailed

关于iOS GangSDK的使用,为App快速集成社群公会模块的更多相关文章

  1. iOS:融云即时通讯快速集成

    一.介绍 即时通讯在众多社交软件.生活软件以及教育软件中已经是必备的功能了,在当前国内,即时通讯SDK做的比较不错的有那么几家,例如环信SDK.融云SDK...,这两家做的都很不错,各有千秋吧,要是真 ...

  2. 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现

    项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...

  3. 开发者必知的几款App快速开发工具

    “我有一个好创意,就差一个CTO……” ,这是今年炒的比较火的一句话. “原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了.这个有没有解决方案?” “APP版本迭代更新,都是企业的一道难 ...

  4. 开发者必知的8款App快速开发工具

    开发者必知的8款App快速开发工具 “我有一个好创意,就差一个CTO……” “原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了.” “APP版本迭代更新,都是企业的一道难关,没有一个一劳 ...

  5. 快速集成iOS基于RTMP的视频推流

    前言 这篇blog是iOS视频直播初窥:<喵播APP>的一个补充. 因为之前传到github上的项目中没有集成视频的推流.有很多朋友简信和微博上问我推流这部分怎么实现的. 所以, 我重新集 ...

  6. iOS简单快速集成Cordova

    如果你对于什么是Cordova还不了解,可以先移步到我另一个文章:Cordoval在iOS中的运用整理 里面有详细的介绍跟如何搭建Cordova:而本文则是要介绍JiaCordova插件,如果你有一点 ...

  7. 利用 Create React Native App 快速创建 React Native 应用

    本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...

  8. 国内app快速生成平台对比

     泰格老虎 2013-03-07 00:39:10 这是海恒CEO高鹏写的一篇国内app快速生成平台对比文章,介绍了国内快速生成APP的平台与自己平台的对比,很有参考价值. 同类网站 安米网 http ...

  9. 发布iOS应用程序到苹果APP STORE完整流程

    参考:http://blog.csdn.net/mad1989/article/details/8167529(xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)) http ...

随机推荐

  1. 全球多个 TOP 网站藏挖矿代码,5 亿 PC 沦为矿工

    据ZDNet报道,现在很多网站都开始在网页脚本中藏匿挖矿代码,在用户访问时偷算力用于挖矿.来自Adguard的报告称也证实,也有5亿台电脑中招. 最新最热的IT技术付费社区 IT帮 itbang.me ...

  2. Swift 算法实战之路:栈和队列

    这期的内容有点剑走偏锋,我们来讨论一下栈和队列.Swift语言中没有内设的栈和队列,很多扩展库中使用Generic Type来实现栈或是队列.笔者觉得最实用的实现方法是使用数组,本期主要内容有: 栈和 ...

  3. mysql在cmd命令下执行数据库操作

    windows+r 运行cmd命令,执行以下操作! 当mysql 数据库文件相对于来说比较大的时候,这个时候你可能在正常环境下的mysql中是导入不进去的,因为mysql数据库本身就有默认的导入文件大 ...

  4. .Net Core程序的部署(FDD与SCD)

    最近打算做一个公司的代码走查工具,思前想后觉得正好可以当作一个Core的实践机会,于是上官网看了下资料,顺便作了一下笔记方便以后查阅. 注1:这里的Core程序部署指的是.Net Core而非Asp. ...

  5. Java的绝对路径和相对路径

    Java的绝对路径和相对路径 参考:http://blog.csdn.net/u011225629/article/details/46872775 1. 绝对路径 以根部件开始的路径是绝对路径,比如 ...

  6. java笔记04: String的理解与运用

    一,“==”与equals() 运行以下代码,如何解释其输出结果? public class StringPool { public static void main(String args[]) { ...

  7. BootStrap Table使用小结

    1.在当前表格的最后新增数据 $("#data_module_table").bootstrapTable('append', data.data);//data.data---- ...

  8. 取得 iframe 容器的 URL

    检测所在窗口是否为最外层的窗口,若不是则跳脱包含它的框架 if( window !== window.top ) {    window.top.location = location; } top ...

  9. setImmediate()

    在循环事件任务完成后马上运行指定代码 以前使用   setTimeout(fn, 0);   Since browsers clamp their timers to 4ms, it really d ...

  10. JAVAscript学习笔记 js条件语句 第三节 (原创) 参考js使用表 (2017-09-14 15:55)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...