pf是指应用的来源平台。小游戏在代理到应用页面时,会在请求的GET参数中带上本参数。由平台直接传给应用,应用在使用OpenAPI时再原样传给平台即可。
目前小游戏的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);
无论是后台处理程序,还是在Web上使用JavaScript脚本获取的pf值,都必须传到开发者的服务器上,用于调用OpenAPI接口。
关于OpenAPI接口的使用,可以参考:空间·玩吧-后台接口。
特别注意:无论使用何种方式获取的pf值,在使用的时候都必须保持原样。请不要应用手动构造pf值,也不需要对平台传递的pf进行有效性校验,更不要直接在使用pf值的地方使用常量字符串,以避免应用上线多平台时需要付出额外的修改成本,导致调用某些接口时由于参数需要根据pf值生成导致传入参数不合法。