进入官网根据相关文档下载好AnySDK  Framework
AnySDK介绍: 它并不是一款sdk,而是一个第三方平台,可以帮助你更快的接入其他sdk,比如QQ,微信登录,分享等。
此文档旨在帮助自己理清接入sdk的开发流程,让自己有一个大的方面的了解,因此只是写了大部分的目录,实际操作再去查看官方文档。

http://docs.anysdk.com/integration/client-cpp/quick-integration/

整个接入过程中,都要写全路径。极其容易写错,因此要特别注意。

把AnySDK导入cocos2d_x引擎中,步骤如下
1:选择AnySDK Framework文档并导入到工程目录
(1):查看游戏项目使用 STL 库的版本
       开发者可以在工程目录下 jni/Application.mk 文件第一行找到 STL 库类型设置,如果此处设置的是 APP_STL := gnustl_static,则表示当前工程以 GNU 静态库的方式引入使用 STL 标准库,此时应选择集成 protocols_gnustl_static 这个文件夹中的框架资源。反之,则选择相应的集成 protocols_stlport_static、protocols_c++_static 文件夹中的框架资源。
(2):在 Android 工程目录下面新建 protocols 目录,然后将上一步选择的对应版本框架目录下的 include 文件夹和 Android 文件夹拷贝到 protocols 下面
(3):将框架目录下的 res 文件夹中的所有资源文件拷贝到 Android 项目对应的文件中。

2:修改Android.mk文件配置Framework编译选项
这一步是修改游戏工程中C++代码的ndk编译配置文件Android.mk,将AnySDK提供的Framework库链接到游戏工程的库中。
(1).将 protocols 目录添加到 NDK_MODULE_PATH 环境变量中
(2).添加 AnySDK Framework 静态库声明
(3).添加库路径声明代码

3:导入框架自带的jar包并勾选export选项   --- 使用eclipse操作

4:配置 AndroidManifest.xml 添加框架需要的权限

5:初始化 AnySDK Framework
(1)初始化 JavaVM
首先,要在游戏工程加载 jni 的时候为 AnySDK framework 设置 JavaVM 引用。
先找到 JNI_OnLoad 函数,此函数是 jni 被加载时会首先被调用的函数。 以 Cocos2d-x 2.x 版本引擎为例,JNI_OnLoad 函数定义在 jni 目录下的 hellocpp/main.cpp 中
3.x版本:

#include "../../../proj.android/protocols/android/PluginJniHelper.h"  需要写全路径
using namespace anysdk::framework;
JavaVM* vm;
env->GetJavaVM(&vm);
PluginJniHelper::setJavaVM(vm);

2.x版本:

(2)在JAVA层初始化AnySDK Framework框架

(3)在 C++ 层初始化AnySDK Framework 框架

在C++层调用任何AnySDK Framework函数之前都需要调用init函数进行框架初始化,推荐在Java层初始化完成之后通知C++层初始化框架

在AppDelegate.cpp中加入如下代码:

#include "../proj.android/protocols/include/AgentManager.h"
using namespace anysdk::framework;#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID
std::string appKey = ""; "EC0BF947-8319-961E-10BB-BC9F3B9F964D";
std::string appSecret = ""; "5206485e6eb057be05fae504e4a4fc16";
std::string privateKey = ""; "21585140EC6B4DAE9067586B7C4E1B69";
std::string oauthLoginServer = "http://oauth.anysdk.com/api/OauthLoginDemo/Login.php";AgentManager::getInstance()->init(appKey, appSecret, privateKey, oauthLoginServer);
AgentManager::getInstance()->loadAllPlugins();//注释掉会崩溃
注:由于部分 SDK 在初始化时涉及到 SDK 闪屏的操作强烈建议在 onCreate 就调用 loadAllPlugins 接口(新框架在 Java 层也提供了该接口)
#endif

在主的activity中写入如下代码:

protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);PluginWrapper.init(this);
PluginWrapper.setGLSurfaceView(Cocos2dxGLSurfaceView.getInstance());
PluginWrapper.loadAllPlugins();}

(4)加载及卸载SDK插件

到此为止AnySDK就全部接入完成了,接下来只需要在游戏中调用相关的SDK即可,比如需要使用分享SDK,就在要点击的那个分享按钮上,加上相关分享代码,。
http://docs-old.anysdk.com/ShareSystem

#include "../proj.android\protocols\include\ProtocolShare.h"   类要继承ProtoColShare
using namespace anysdk::framework;#if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROIDauto _pShare1 = AgentManager::getInstance()->getSharePlugin();_pShare1->setResultListener(this);ProtocolShare* _pShare = AgentManager::getInstance()->getSharePlugin();if (!_pShare) return;std::map<std::string, std::string> info;// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用info["title"] = "ShareSDK是一个神奇的SDK";// titleUrl是标题的网络链接,仅在人人网和QQ空间使用info["titleUrl"] = "http://sharesdk.cn";// site是分享此内容的网站名称,仅在QQ空间使用info["site"] = "ShareSDK";// siteUrl是分享此内容的网站地址,仅在QQ空间使用info["siteUrl"] = "http://sharesdk.cn";// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数,iOS下直接传文件名//info["imagePath"] = "123.png";  //该图片文件需要拖入Xcode工程中info["imagePath"] = "/sdcard/test.png";// imageUrl是图片的网络路径,新浪微博,人人网,QQ空间支持此字段info["imageUrl"] = "http://www.baidu.com/img/bdlogo.png?tn=63090008_1_hao_pg";// url仅在微信(包括好友和朋友圈)中使用info["url"] = "http://sharesdk.cn";// text是分享文本,所有平台都需要这个字段info["text"] = "ShareSDK支持如微信、新浪微博、腾讯微博等社交平台";// comment是我对这条分享的评论,仅在人人网和QQ空间使用info["comment"] = "无";//微信SDK分享需要使用到的参数info["mediaType"] = "1"; //分享类型: 0-文字 1-图片 2-网址  info["shareTo"] = "2"; //分享到:0-聊天 1-朋友圈 2-收藏  _pShare->share(info);
#endif
void WelcomeScene::onShareResult(ShareResultCode ret, const char* msg)
{log("onShareResult %d", ret);switch (ret){case kShareSuccess://分享成功回调log("onShareResult success");//Director::getInstance()->end();break;case kShareFail://分享失败回调log("onShareResult fail");break;case kShareCancel://分享取消回调log("onShareResult cancel");break;case kShareNetworkError://分享网络出错回调log("onShareResult error");break;default:break;}
}

AnySDK上的操作:(打包的时候,sdk的配置可以随便写  ---  只针对分享类sdk)
http://docs.anysdk.com/rapid-experience/debug-user/

母包测试和账号获取

http://docs.anysdk.com/tool-using/package-tool/

客户端使用手册

----------------------------------------------------
SDK管理界面:渠道跟SDK是没有必然联系的。比方说你要在百度游戏这个渠道上进行上架,但是你使用的可能是360的SDK。
当然此处只是为了能更灵活的配置,正常来说百度游戏死活也不会同意你这么做。但你还是可能会使用shareDK,友盟等第三方辅助
SDK,这时便可通过本界面的勾选来配置需要使用的SDK来提升游戏的质量。

在确定了渠道以及使用的SDK之后,我们就要开始对SDK进行参数配置。

cocos2d_x之AnySDK接入流程相关推荐

  1. NR 5G UE初始接入流程

    5G UE初始接入流程 流程图 流程说明 1. UE向gNB-DU发送RRC连接请求消息. 2. gNB-DU包括RRC消息,并且如果UE被允许,则在F1AP INITIAL UL RRC MESSA ...

  2. 顺丰快递商家寄件发货接口API类型和接入流程方案【快递100接口Demo】

    顺丰快递对于商家和个人的隐私保护较为严格,对于操作频次高的用户会进行多次验证码确认信息和服务安全.如果需要大量地邮寄顺丰快递以及查询顺丰的快递物流轨迹信息,必须对接顺丰官方的寄件和查询API接口.企业 ...

  3. APP、网站等注册、登录、改密等发送验证码短信的接入流程---创蓝253云通讯

    1.登录 https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照) 3.申请签名(以公司简称或缩 ...

  4. ESP8266天猫精灵接入流程

    Blinker天猫精灵接入流程 设备上线 设置接入的设备类型 设置接入设备的auth Key 设置SSID/PSWD 或者选择 ESPTOUCH等配网方式 下载代码等待设备接入上线成功 authKey ...

  5. 以美颜sdk为例,详解sdk接入流程

    Sdk,是可用于开发面向特定平台的软件应用程序的工具包.举个例子,如果你想组装一个模型车或飞机.在构建这个模型时,需要一整套物品去组装.sdk相当于组装它们所需的工具,包括装配说明等.在这信息化时代, ...

  6. v5行为验证使用介绍(三)- 程序接入流程

    目录 v5行为验证使用介绍(一)- 试探攻击的威胁 v5行为验证使用介绍(二)- 应用管理 v5行为验证使用介绍(三)- 程序接入流程 v5行为验证使用介绍(四)- Verify5Client.jav ...

  7. 五分钟了解机智云自助接入流程

    机智云平台是致力于物联网.智能硬件云服务的开放平台.机智云专注于提供智能云服务及物联网的软硬件一体化解决方案,帮助传统硬件厂商产品升级,快速实现硬件智能化. 要实现硬件的智能化,除了硬件本身外,还需要 ...

  8. 深入理解CDC原理与Debezium数据接入流程和原理

    深入理解CDC原理与Debezium数据接入流程和原理 一.什么是WAL 二.什么是CDC 三.理解CDC客户端 四.Debezium数据接入原理 1.postgresql数据库对CDC的支持 2.p ...

  9. YS动态口令系统接入流程

    动态口令是保护用户账户的一种常见有效手段,即用户进行敏感操作(比如登录)时,需要用户提供此动态生成的口令做二次身份验证,假设用户的口令被盗,如果没有动态口令,也无法进行登录或进行敏感操作,保护了用户的 ...

  10. 百度地图安卓版详细接入流程解读(获取密钥详解)

    百度地图安卓版详细接入流程解读 一.接入Android地图SDK 1.1 功能介绍: 1.2 接入百度地图前的准备 1.1.1 访问官网,并下载开发包 1.1.2 获取开发密钥 1.1.3 项目环境搭 ...

最新文章

  1. 【Nutch2.2.1基础教程之2.2】集成Nutch/Hbase/Solr构建搜索引擎之二:内容分析
  2. Android 四大组件 —— 活动(活动的隐式跳转)
  3. kotlin 小数位数_Kotlin程序生成4位数OTP
  4. FPGA开发全攻略——ISE基本操作
  5. thinkphp3.2独立分组的建立
  6. html移动端即时翻译插件,React框架实现移动页面翻译是一种什么体验?
  7. Linux chmod命令 修改文件权限被禁止(not permitted)的解决办法
  8. Andorid检测支付宝客户端是否安装
  9. halcon物体周边毛刺检测
  10. 在Spyder 中安装第三方包
  11. 一度智信电商开网店怎么样?
  12. golang游戏服务器项目,基于Golang的游戏服务器框架cellnet开发日记(一)
  13. labview:一个采集数据的小程序
  14. ambari_HDP之mapreduce参数调优
  15. Latex导入pgf图片
  16. JavaEE1(4/23)
  17. QQ邮箱获取邮件客户端授权码
  18. Django开发个人博客网站——1、开发环境
  19. R语言箱线图添加显著性--不同水平实现方法
  20. 零基础学习CSS(10)——属性选择器

热门文章

  1. 美国恐怖故事第七季/全集American Horror Story全迅雷下载
  2. Spring Data 数据库建模最佳实践
  3. 学前端,学线下班还是丁鹿学堂或者慕课网?
  4. 外贸公司邮箱大全,选择哪个企业邮箱最好用?
  5. 搜索基础 --算法竞赛专题解析(6)
  6. #Logback入门 @FDDLC
  7. 斗鱼实时计算平台的演进
  8. Python的运行环境
  9. steam饥荒服务器为什么显示未响应,《饥荒:联机版》服务器卡顿原因分析及解决教程...
  10. BP神经网络的非线性曲线拟合和预测(未完)