关于iOS GangSDK的使用,为App快速集成社群公会模块
手上有一个自己开发的小游戏,想加一个家族系统活跃下游戏的氛围,想到这块儿可能会有大量的工作需要自己做,就偷了个懒去网上搜罗了一波,结果惊奇的发现居然真的有类似的服务,并且还是免费的,所以决定入坑尝试一下。这里就我使用的第三方家族系统(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快速集成社群公会模块的更多相关文章
- iOS:融云即时通讯快速集成
一.介绍 即时通讯在众多社交软件.生活软件以及教育软件中已经是必备的功能了,在当前国内,即时通讯SDK做的比较不错的有那么几家,例如环信SDK.融云SDK...,这两家做的都很不错,各有千秋吧,要是真 ...
- 【Bugly安卓开发干货分享】Android APP 快速 Pad 化实现
项目背景 采用最新版本手机 APP(之后称为 MyApp)代码,实现其 Pad 化,为平板和大屏手机用户提供更好的体验.为实现 MyApp 的 Pad 化工作,需要我们首先来了解一下 MyApp 项目 ...
- 开发者必知的几款App快速开发工具
“我有一个好创意,就差一个CTO……” ,这是今年炒的比较火的一句话. “原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了.这个有没有解决方案?” “APP版本迭代更新,都是企业的一道难 ...
- 开发者必知的8款App快速开发工具
开发者必知的8款App快速开发工具 “我有一个好创意,就差一个CTO……” “原生APP开发难度大,周期长,成本高,还没上线市场已经被占领了.” “APP版本迭代更新,都是企业的一道难关,没有一个一劳 ...
- 快速集成iOS基于RTMP的视频推流
前言 这篇blog是iOS视频直播初窥:<喵播APP>的一个补充. 因为之前传到github上的项目中没有集成视频的推流.有很多朋友简信和微博上问我推流这部分怎么实现的. 所以, 我重新集 ...
- iOS简单快速集成Cordova
如果你对于什么是Cordova还不了解,可以先移步到我另一个文章:Cordoval在iOS中的运用整理 里面有详细的介绍跟如何搭建Cordova:而本文则是要介绍JiaCordova插件,如果你有一点 ...
- 利用 Create React Native App 快速创建 React Native 应用
本文介绍的 Create-React-Native-App 是非常 Awesome 的工具,而其背后的 Expo 整个平台也让笔者感觉非常的不错.笔者目前公司是采用 APICloud 进行移动应用开发 ...
- 国内app快速生成平台对比
泰格老虎 2013-03-07 00:39:10 这是海恒CEO高鹏写的一篇国内app快速生成平台对比文章,介绍了国内快速生成APP的平台与自己平台的对比,很有参考价值. 同类网站 安米网 http ...
- 发布iOS应用程序到苹果APP STORE完整流程
参考:http://blog.csdn.net/mad1989/article/details/8167529(xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)) http ...
随机推荐
- Opencv基础课必须掌握:滑动条做调色盘 -OpenCV步步精深
滑动条做调色盘 我们来想一下这个程序需要什么,首先需要一个窗口显示一切=.=(︿( ̄︶ ̄)︿废话一样): 说到调色盘除了画板也就是窗口(默认为黑色),调色就要涉及三种颜色 红色Red(我们用R表示), ...
- Web安全学习笔记(一)
Web安全学习笔记(一): URL协议 HTTP协议 1. URL 2. HTTP协议 什么是HTTP HTTP的工作原理 HTTP报文 什么是Cookies HTTP请求方式 Referer请求的功 ...
- OpenWRT添加模块 Makefile和Config.in
添加模块编译 在网上找了一下,很多关于编译Openwrt系统的资料,不过这些事情芯片厂商提供的开发包都已经办得妥妥了,但是没有找到系统介绍的资料,添加一个包的介绍有不多,其中有两个很有参考价值: ht ...
- 使用HTML DOM 来分配事件 —— onmouseover和onmouseout ,onmousedown和onmouseup
一, onmouseover 和 onmouseout 事件 onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数. 一个小例:鼠标未在 ...
- Locust性能测试框架,从入门到精通
1. Locust简介 Locust是使用Python语言编写实现的开源性能测试工具,简洁.轻量.高效,并发机制基于gevent协程,可以实现单机模拟生成较高的并发压力. 主要特点如下: 使用普通的P ...
- 【NOIP2015提高组】Day2 T1 跳石头
题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石(不含起点和终 点的岩石).在比赛过程中,选手们将从 ...
- javascript方法的方法名慎用close
通常我们在定义了与window同名的方法时,会自动覆盖掉window同名的方法.close()方法也不例外.示例: <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- ASP.NET MVC @Html.Label的问题
在使用@Html.Lable()来显示Model的某一个字符串属性时,如果该字符串中包含".",那么就会在最终呈现时被截掉开头至"."位置的字符.什么原因尚不清 ...
- LeetCode 599. Minimum Index Sum of Two Lists (从两个lists里找到相同的并且位置总和最靠前的)
Suppose Andy and Doris want to choose a restaurant for dinner, and they both have a list of favorite ...
- Spring AOP中级——应用场景
在<Spring AOP初级——入门及简单应用>中对AOP作了简要的介绍,以及一些专业术语的解释,同时写了一个简单的Spring AOPdemo.本文将继续探讨Spring AOP在实际场 ...