手机QQ

全部目录

如何使用pf值

什么是pf值

pf是指应用的来源平台。小游戏在代理到应用页面时,会在请求的GET参数中带上本参数。由平台直接传给应用,应用在使用OpenAPI时再原样传给平台即可。

目前小游戏的pf值有两个:

  • wanba_ts:手机QQ以及手机QQ空间平台
  • weixin:微信平台

如何获取pf值

在小游戏平台中,所有游戏访问的入口都是通过appid.urlshare.cn域名访问。在用户访问这个域名时,小游戏平台会在后台请求应用在管理端配置的地址。应用可以在收到请求时,从请求的pathname上取得pf值。

例如: 在打开appid为888的应用时,WebView中访问的地址为https://888.urlshare.cn。小游戏平台会在后台请求这个应用在管理端配置的地址:https://example.com/game/,同时在GET参数中提供包含pf的一系列参数。最终应用收到的请求将会是:https://example.com/game/?openid=****&openkey=****&pf=[wanba_ts|weixin]https://example.com/game/的处理程序可以直接从请求的pathname中取得pf的值。

开发者能够获取的完整GET参数,可以参考:空间应用#代理规则

如果应用在管理端配置的地址是一个静态页面,上面的方法虽然会在请求时带上pf值,但应用仍可能无法处理。这时开发者可以考虑在Web页面上使用JavaScript脚本获取pf值。

console.log('pf is ' + window.OPEN_DATA.pf);

如果使用pf值

无论是后台处理程序,还是在Web上使用JavaScript脚本获取的pf值,都必须传到开发者的服务器上,用于调用OpenAPI接口。

关于OpenAPI接口的使用,可以参考:空间·玩吧-后台接口

特别注意:无论使用何种方式获取的pf值,在使用的时候都必须保持原样。请不要应用手动构造pf值,也不需要对平台传递的pf进行有效性校验,更不要直接在使用pf值的地方使用常量字符串,以避免应用上线多平台时需要付出额外的修改成本,导致调用某些接口时由于参数需要根据pf值生成导致传入参数不合法。