Egret Runtime中白名单功能详解

Runtime中白名单的功能是为了方便开发者们调试自己游戏的需求而诞生的功能。

简单的来说,在服务器中存在一个白名单,白名单中存放着一些设备ID。每次使用runtime打开游戏的时候,服务器都会将当前设备的ID与白名单中的ID进行匹配。如果存在匹配项,则返回游戏测试版地址,如果不匹配,则返回线上的正式版地址。

这个操作非常简单,我们需要在服务器程序中添加一个入口文件,该文件用于白名单判断。那么如何编写这个入口文件呢?方法如下:

我做了一个小工具,可以方便的生成入口文件。

屏幕快照 2015-08-24 下午2.03.12.png

保证你的测试们和你当前的Mac机器在同一个局域网内,然后设定你的IP和端口,然后启动服务器,填写游戏的测试地址和正式版本地址。轻轻的点击一下start,用手机里的EgretRuntimeCheck扫描当前二维码。此时,就可以获取当前手机的Device ID。

屏幕快照 2015-08-24 下午2.06.56.png

所有的测试机扫描一遍后,点击Export就能导出PHP的入口文件。

生成的PHP文件示例如下:

<?php
$deviceId = $_REQUEST["egretDeviceId"];
$ids = array("第一台设备的ID","第二台设备的ID");
$rel = false;
foreach ($ids as $id) 
{
	if( $id == $deviceId )
	{
		$rel = true;
	}
}
if( $rel )
{
	echo '{"code_url":"http://10.0.7.73/TestGame/V2/0.2/game_code_0.2.zip","update_url":"http://10.0.7.73/TestGame/V2/0.2/"}';
}
else
{
	echo '{"code_url":"http://10.0.7.73/TestGame/V1/0.1/game_code_0.1.zip","update_url":"http://10.0.7.73/TestGame/V1/0.1/"}';
}
?>

Tip: 如果要清空当前设备ID的信息,可以点击 Clear按钮。 具体PHP文件怎么用,后台程序员一看就明白了。

下载这个小软件:http://pan.baidu.com/s/1i3JBefj 密码: m7es