如何使用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值生成导致传入参数不合法。