client_id = TapDB_config::Ins()->gameClientId; $this->user_id = $uid; $params['channel'] = self::getPlatStr($uid); # 插入下渠道信息 $this->properties = $params; $this->name = str_starts_with($eventName, '#') ? $eventName : "#$eventName"; } public $name = ""; // 必需, 事件名,一般为 "#xxx" public $type = "track"; // 必须, 固定为 "track" public $client_id; // 必需。注意 ClientID 需要被替换成游戏的 ClientID public $user_id; // 必需。用户ID。 public $properties; // 属性值 /** * 获得用户的平台字符串 * @return string */ static function getPlatStr($uid) { if (strrpos($uid, '_') > 0) { return substr($uid, strrpos($uid, '_') + 1); # 提取平台字符串 } else { if (strlen($uid) == 32) { return "loyal"; } else { return "taptap"; } } //PS. substr() 函数返回字符串的一部分 strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。 } } /** * tapdb预定义事件 * @author gwang */ class TapDBPreEvent { /** * 事件的数据格式的构造函数 * @param string $uid * @param dic $params 属性数组 */ public function __construct($uid, $eventName, $params) { $this->client_id = TapDB_config::Ins()->gameClientId; $this->user_id = $uid; $params['channel'] = self::getPlatStr($uid); # 插入下渠道信息 $this->properties = $params; $this->name = $eventName; # 预定以事件名称一般不带# } public $name = ""; // 必需, 事件名,一般为 "#xxx" public $type = "track"; // 必须, 固定为 "track" public $client_id; // 必需。注意 ClientID 需要被替换成游戏的 ClientID public $user_id; // 必需。用户ID。 public $properties; // 属性值 public $device_id = "-"; // 设备id, 服务端上报可以传一个固定值。 /** * 获得用户的平台字符串 * @return string */ static function getPlatStr($uid) { if (strrpos($uid, '_') > 0) { return substr($uid, strrpos($uid, '_') + 1); # 提取平台字符串 } else { if (strlen($uid) == 32) { return "loyal"; } else { return "taptap"; } } //PS. substr() 函数返回字符串的一部分 strrpos() 函数查找字符串在另一字符串中最后一次出现的位置。 } }