欢迎您来到腾讯云!积分商城

腾讯云腾讯云论坛

 找回密码
 立即注册
忘了密码?

扫一扫,访问微社区

快捷导航
搜索
查看: 141231|回复: 2

[官方教程] 移动解决方案——维纳斯开发接入文档

[复制链接]

427

主题

85

好友

5488

积分

资深攻城师[LV4]

Rank: 4

云币
1869
威望
5488
发表于 2015-4-1 16:27:34 |显示全部楼层 |未分类

维纳斯开发接入文档



维纳斯框架介绍


APP —— 即移动应用的客户端软件
WNS SDK —— 指维纳斯服务在手机端的代理,即APP嵌入的SDK包
WNS —— 指维纳斯的服务器
业务后端server —— 移动应用自己的后端server


一、配置维纳斯

首选要创建一个应用,获取应用ID才能基于该应用对维纳斯控制台及SDK进行后续操作;

1.1、创建应用(必须步骤)

首先,在移动解决方案控制台创建应用


1.2、配置应用签名(必须步骤)

应用签名主要用户鉴别开发者及应用真实身份,正确填写后才能使用维纳斯;
即刻配置应用签名


1.3、配置转发规则(必须步骤)

转发规则是将指定的命令字转发到指定的服务器;
命令字支持字母、数字、英文符号点“.”,长度限3至60字符
示例:A命令字转发到112.90.8.102:8080和112.90.8.101:80,即当APP产生A命令时维纳斯将该命令字转发到112.90.8.102:8080和112.90.8.102:80服务器上

转发规则可以配置正式服务器和测试服务器,比如:你有一个线上版本在运行,又有一个新版应用小范围测试,部署在了另外的几台服务器上,可以将新增或修改的命令字转发到测试服务器上让用户体验新的服务。

监控数据将能够按照不同的命令字来查看返回码明细;


协议说明

http是http超文本传输协议
Pb是Google开发的协议编解码库,全称Google Protocol Buffer
Jce是腾讯公司自研的协议编解码库
jce和pb都是二进制协议


即刻配置转发规则


1.4、配置返回码

返回码是APP业务本身对指定命令字状态的自定义;

示例:请求图片时文件不存在,服务器返回404,对维纳斯来说与APP server之间的通信是成功的,因为App server返回了404状态,但对于业务来说404可能是失败的,此时可以专门针对获取图片时的命令字添加返回码404并归属为失败,告警、监控中都会将该失败计算在成功率内,真正结合业务自身需求来定制各环节通信的成功率,前提条件是App server必须能够返回404等状态给维纳斯。

监控能够按照不同的命令字来查看返回码明细;

即刻配置返回码

二、集成SDK

下载SDK并参考接入指引集成SDK到APP中;
1、下载iOS SDK v2.5.3 || 查看iOS SDK接入指引
2、下载Android SDK v2.5.3 || 查看Android SDK接入指引
3、下载服务端Demo v2.5.2 || 查看服务端接入指引
最新更新:
最新的维纳斯 SDK
集成通信服务

2.1、iOS SDK接入指引概述

为了描述方便,下文中以WNS代指维纳斯 iOS SDK
SDK工具包目录结构说明:

目录
说明
WnsSDK
包含WnsSDK.framework
WnsSDKDemo
示例工程
Doc
文档

代码示例

详见SDK包中的 WnsSDKDemo 目录

运行环境

适用于iOS 5.0 及以上的系统版本。

接口说明

初始化
在应用程序初始化方法中初始化WnsSDK,WsnSDK内部会自动开始建立网络通道;


发送数据

发送二进制数据:


发送HTTP数据:



iOS接入常见问题

1.应用程序工程需要包含libcrypto_64bit.a库和libssl_64bit.a库
2.字符类型参数限制长度为256字节
3.发送数据限制长度为512K字节
4.接受数据限制长度为512K字节

2.2、Android SDK接入指引概述

为了描述方便,下文中以WNS代指维纳斯 Android SDK
SDK工具包目录结构说明:

目录
说明
libs
包含wns sdk
doc
文档
WnsSDKDemo
示例工程,请阅
Tools
辅助工具
代码示例

详见SDK包中的 WnsSDKDemo 目录

运行环境

适用于Android 2.3及以上的系统版本。

使用说明

新建工程
新建eclipse工程

引入维纳斯 SDK

将/libs下的库文件保持目录结构复制到工程主目录中,如下图:

图 1 wns sdk配置


注意:工程里不要使用libs/armeabi-v7a 和 libs/x86方式添加两种类型的so,请把so添加到assets/lib/**对应的目录下面,然后使用Native.prepareLibForBuildAndLoad()方法代替System.loadLibrary()加载so;部分rom自身问题,非sdk限制。


配置androidmanifest.xml

权限
维纳斯需要使用的系统权限如下图(可参考示例工程):

图 2 维纳斯 权限

配置维纳斯服务(重要)

注册Service:

图 3 配置维纳斯服务


注意:进程名“:wns”为维纳斯服务使用,请不要占用


注册心跳计时接收器,如下图:

应用有推送需求则需要注册广播接收器:

初始化

初始化全局上下文
实现android.app.Application,假设命名为MyBaseApplication,在AndroidManifes.xml中配置实现:

在MyBaseApplication.onCreate()中初始化维纳斯全局上下文:

初始化app信息
启动维纳斯服务


注意:务必保证只在主进程调用以上初始化方法


设置测试环境
见上图setDebugIp方法的调用,允许应用设置调试环境。
监听应用前后台状态通知sdk(重要)



Android接入常见问题

1.不要混淆sdk
2.只能在主进程中使用WnsService,否则报错;
3.维纳斯日志目录:/sdcard/tencent/wns/logs/<package-name>;
  没有sd卡会存储到内存data/data/ <package-name> /files/tencent/wns/logs/


2.3、服务端接入指引

下载服务端Demo v2.5.2 ,并按照指引部署到服务端


2.4、返回码说明

iOS、Android返回码一样

返回码
说明
0
请求成功
1
调用接口参数错误
2
网络连接失败
3
网络连接超时
4
数据发送失败
5
数据发送超时
6
数据接收失败
7
数据接收超时
8
待发送的数据打包失败
9
接收到的数据解包失败
10
系统错误
11
后台服务错误
10000
业务过载,可能的原因是业务服务失败太多,wns暂停访问业务
10001
业务回包超时,wns后台等待业务回包时间1秒左右,超时没有响应
10002
业务服务关闭连接,wns后台在接收完业务响应包之前,业务服务关闭连接
10003
解包失败,从业务返回的数据包,wns服务无法解析
10100
sdk验证失败,验证app的bundle id(ios)或签名(android)失败,需要管理台配置
10101
cmd不符合命名规范
10102
cmd路由失败,对应的cmd没有在管理台配置路由


其他问题如何获取设备ID

iOS用户绑定接口

iOS调试类接口

Android-获取终端ID

正式地址与测试地址的区别及用法

正式地址:线上正在运行的APP Server;
测试地址:功能有修改、新增的APP Server;
维纳斯支持同时使用正式地址和测试地址,并且会将该命令字同时转发到正式和测试服务器地址,如果没有正式或测试地址可以留空,但必填一项。
例如:
1、如果对老版本APP的命令字对应的后台功能进行了升级,暂未部署到线上正式服务器,只部署到了新的服务器上,此时将新服务器地址加到如图所示的测试服务器地址栏即可:

例如:只有正式服务器IP


有正式也有测试服务器IP


2、如果新版APP新增了一个命令字,且还处在测试阶段,可以只写测试服务器地址,以后部署到正式服务器后可以在正式服务器处填写正式服务器地址;

只有测试服务器地址



0

主题

0

好友

74

积分

小白[LV1]

Rank: 1

云币
34
威望
8
发表于 2015-4-8 21:17:24 |显示全部楼层
小女在这里学习了,希望大家都多多和我交流指导我,我一个刚刚毕业的学生,怀着一个创业梦,新人小白一个,希望大家都加我教教我,带带我,一起来支持腾讯云,让她带领我们一起达到理想的彼岸!
回复

使用道具 举报

5

主题

0

好友

673

积分

程序猿[LV2]

Rank: 2Rank: 2

云币
691
威望
165
发表于 2015-4-9 17:31:48 |显示全部楼层
好复杂啊,作为一个互联网达人,必须都稍懂一些
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册
您需要登录后才可以发帖 QQ登录

联系我们|腾讯云平台|积分商城|腾讯云官方论坛    

GMT+8, 2018-7-18 15:01 , Processed in 1.192593 second(s), 29 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部