如何使用pf值

什么是pf值

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

特别注意:pf值在使用的时候都必须保持原样。请不要应用手动构造pf值,也不需要对平台传递的pf进行有效性校验,更不要直接在使用pf值的地方使用常量字符串,同时也不要以pf值来区分不同客户端,区分不同的客户端请以window.OPEN_DATA.qua.app区分,参考全局变量,以避免应用上线多平台时需要付出额外的修改成本,导致调用某些接口时由于参数需要根据pf值生成导致传入参数不合法。

目前小游戏的pf值分平台和来源两部分,以.分割,例如wanba_ts.9、weixin.95,含义如下:

来源
wanba_ts 手机QQ以及手机QQ空间平台
weixin 微信平台
平台
9 玩吧结合版
91 玩吧独立版
92 合作
93 微端
94 宠物
95 校园应用
96 情侣空间
97 PK小游戏
98 pc
99 微信
100 触屏版
101 腾讯视频-微信
102 腾讯视频-QQ
103 手Q阅读
104 广点通
105 厘米秀
106 个性化
107 微端——新登录态版本
108 广点通微端——新登录态版本
109 腾讯新闻网页版
110 小程序
111 企鹅电竞-QQ
112 企鹅电竞-微信
113 心悦俱乐部-QQ
114 心悦俱乐部-微信
115 天天快报-微信
116 天天快报-互联
117 手Q动漫
118 腾讯新闻-QQ
119 腾讯新闻-微信
120 微端-微信
121 广点通微端-微信
122 手Q管家
123 腾讯充值公众号
124 波洞空间微端
125 QQ浏览器-QQ
126 QQ浏览器-微信
127 腾讯游戏管家-QQ
128 腾讯游戏管家-微信
129 QQ会员
130 浏览器微端
131 腾讯视频微端
132 天天快报微端
133 腾讯新闻微端
134 企鹅电竞微端

如何获取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值来区分不同客户端,区分不同的客户端请以window.OPEN_DATA.qua.app区分,参考全局变量,以避免应用上线多平台时需要付出额外的修改成本,导致调用某些接口时由于参数需要根据pf值生成导致传入参数不合法。