欢迎来到人人网开放平台 人人网首页
登录/创建账户

目录

[编辑] 校内手机开放平台

校内手机开放平台允许应用集成和增强校内网的核心手机服务,它主要包括两个方面:

  1. 应用可在手机校内网(m.xiaonei.com)上以个人主页应用栏和canvas pages的形式展现;
  2. 应用可以使用校内网的SMS(短信服务)通过文本短信直接与用户交互。

用户将可以与已安装的应用交互并通过网站和短信服务添加新应用。

[编辑] 校内手机开放平台:Wap

XNML允许应用在手机校内网的个人主页应用栏和canvas pages上集成。 xn:mobile 标签允许应用在手机校内(m.xiaonei.com)中集成使用 。

[编辑] XHTML个人主页(即将推出)

为了在手机设备上更好地显示个人主页,手机站点的个人主页是精简版的。通过使用xn:mobile标签将应用集成到个人主页。渲染个人主页XNML时, xn:mobile标签内的所有内容将会被渲染并呈现在m.xiaonei.com上。 这些内容不会显示在普通的站点上,同时,xn:mobile标签外的个人主页内容将不会在手机校内网上显示。

[编辑] XHTML Canvas 页面

校内网允许应用开发者在手机校内网上开发应用,或者为校内上已有的应用在手机校内上做一套呈现。

手机校内上开发XNML型应用的原理与在www校内网上基本相同,区别是你需要在canvas页代码的最外层加上xn:mobile标签,只有在xn:mobile标签内部、且支持mobile的XNML标签才会被渲染,否则其将会别忽略。另外手机校内网上的应用入口是http://mapps.renren.com/yourappname ,与其对应的www校内网上的应用入口是http://apps.renren.com/yourappname


为了帮助开发者识别用户是否利用移动设备,校内代理服务器会在转发canvas页面请求时加入一个签名参数。当校内网代理服务器识别出用户浏览器为手机(或者用户访问mapps.renren.com时),在转发给第三方应用服务器的POST请求中会加入xn_sig_mobile参数(值为1),注意这个很重要。这样应用就可以判断是将www上canvas页、还是将wap上的canvas页呈现给用户了。当然第三方应用可以不关心xn_sig_mobile参数,而在每个页面里都加入面向手机的XNML代码,嵌入在xn:mobile标签里,XNML解析引擎会根据当前用户的浏览环境渲染相应的内容。

[编辑] Wap设置

为了方便app将wap服务与www服务解耦和,我们允许wap服务单独设置callback url等属性,具体请参考编辑应用属性功能。

[编辑] 一些开发原则

在手机设备有限的处理速度/带宽和(或者)不同浏览器限制下,为了保证更好的用户体验, xn:mobile标签内的内容被限制为所有 XNML 标签的子集。需要特殊说明的是,xn:mobile标签内可以使用XNCSS但是不能使用XNJS。
手机应用应避免图片,和高级CSS的大量使用。Openwave XHTML Moble Profile的参考资料和实例可以参考网站: http://developer.openwave.com/documentation/xhtml_mp_css_reference/
开发者XNML测试控制台可以用来测试 xn:mobile 内容的展现。注意在手机模式使用测试控制台时一定要将标签 xn:mobile 包含。如前所述,xn:mobile标签外的内容将不会被显示。

[编辑] 校内手机开放平台: SMS (稍后推出)

校内手机开放平台为应用提供了通过SMS(短消息服务)与校内用户直接交互的方法,包括应用发送消息给用户和用户通过文本消息响应消息两种方式。

[编辑] 策略

  • 1.用户从应用接受SMS的详细opt-in:
    • a. 在拓展的权限授权页面参阅在线的 opt-in。为了使SMS支持用户,应用将定向用户到 http://www.xiaonei.com/authorize.php?api_key=your_api_key&v=1.0&ext_perm=sms
    • b.通过SMS直接进行离线opt-in,如在用户产生消息内容中所述的尚未安装的应用发送一个查询,如果用户尚未注册手机版校内网或应用,请求将被缓存,当用户确认了该操作时(注册了手机版校内网和应用)请求将传送到相应页面。
  • 2.设计的限制 :
    • a.应用应该明确地注册SMS功能(capabilities),在应用的属性部分此项以”mobile capabilities”被标识
    • b.“单五,多用户的路由”(Single-v.Multiple-User Routing): 校内网禁止多用户路由,即每个消息必须只能发送给一个用户。
    • c.节流:校内网在应用发送SMS能力上做了如下的节流限制。应用将被一个全局的限制所限制:每日一个选择接受SMS的用户所有应用流量和1MT(Mobile Terminated, or a message sent to a mobile phone)的和的全局限制所限制。对直接发送给应用1MT的响应的消息的响应被那些这个限制没有限制的允许,
    • d.应用的消息取决于用户定义的SMS通知的全局限制(如特定时间和每日的限制),这些限制对响应用户产生的消息时不适用。
    • e.应用产生的SMS消息仅被允许以m.xiaonei.com作为前缀url
  • 3.Opt-out(卸载):
    • a.用户可以随时在校内网移动控制面板或应用编辑设置页面禁用应用的SMS。
    • b.用户也可以通过以下任何方法禁用SMS:
      • 1)通过点击”Stop”或者”Off”按钮响应来自校内网应用的消息
      • 2)在校内网手机控制面板将移动文本(Mobile Texts)设置为”Off”
      • 3)卸载校内网移动应用

[编辑] API (稍后推出)

[编辑] 用户产生消息

用户可直接通过产生形式为app_canvas_name<query> (to the FBOOK shorcode(32665)的文本消息向应用查询.而且,如果应用提前发送了消息并请求了会话,任何用户响应了这个消息将会被直接发送给应用.这个事件将通过带以下参数的post方法发送给应用的回调地址:

  • xn_sig_sms - 值为1说明这是一个SMS回调
  • xn_sig_user - 调用回调地址的用户 id
  • xn_sig_message - 消息字符串(从前面提到的头部(header)中析取)
  • xn_sig_sms_id - 如果应用响应消息这个会话id将被使用.一个会话id(session id)和每一个用户id 一一对应
  • xn_sig_sms_new_user - 如果近期内用户离线时通过sms安装了应用,该值为1

应用有1分钟响应消息的时间,超过这个时间会话将失效。

[编辑] 应用产生消息

[编辑] sms.canSend(uid uid)

被用来决定被uid标识的用户对这个应用能否使用SMS。需要一个激活的会话,并且唯一被推荐为在某些条件下禁止那些元素或者选项方面的设计基础。

Code Returns
0 成功
270 该用户没有SMS权限
852 用户达到了配额(未经请求的消息)
853 这个时期用户不接受SMS
854 超过了应用每日的 SMS 配额/评分限制


[编辑] sms.send(uid uid, string message, i32 session_id, bool req_session)

将参数中的message发送给用户.不需要激活的会话,可以被异步发送。

“session_id”被用来标识应用是否响应用户产生的消息. 如果应用期待用户直接回复SMS,”req_session”被用来请求一个会话,这样一个session id 便被产生并被(for its book keeping)传回给应用.如果session id 没有被请求, 消息将被发送给用户, 在没有相应保证下消息的产生码和消息的任何回复将被传输给外部特定的消息.
如果成功并且req_session为假(false),或者session_id被创建了,则返回0

Error Throws
1 未知异常
270 权限不允许用户有SMS
850 无效的session_id、过期的session(响应的消息)
851 SMS长度不合法
852 用户已经达到配额
854 超过了应用每日SMS的配额/评分限制
855 用户没有注册校内网移动条款(XiaoNei Mobile Texts)
856 用户关闭了SMS通知
857 SMS应用被移动经营商禁止

[编辑] 工作流程

  • 通知
    • 应用不请求会话直接调用SMS.send方法
    • 消息发送到用户
  • 会话
    • 应用调用 SMS.send 并请求会话
    • 消息被发送到用户
    • 应用返回用来跟踪状态的会话id
    • 用户可能或可能不响应消息,这个循环继续
  • 用户请求
    • 用户使用 app_canvas_name<query> to FBOOK(32665)发送消息息给应用
    • 带有会话id的消息被传送到应用的回调地址
    • 应用利用被给的会话id在有效期内回复
    • 消息被发送到用户
  • 安装
    • 用户向尚未安装的应用或安装了未授权SMS访问的应用发送消息
    • 消息被缓存,SMS确认被发送给用户
    • 如果用户执行了确认操作,被缓存的消息传递给应用,应用被安装并对用户允许SMS。否则没有任何操作发生


[编辑] 手机应用开发者指南

  • 开发者要遵守 Mobile Marketing Association (MMA)提供的指南以避免不必要的劳动。请参考这个文档获取详细的指南信息。
  • 违背开发者服务条款的开发者将被终止参与开放平台的权限。