loading...

怎样用google app engine搭建一个gtalk群

作者:sluke 发布时间:November 10, 2010 分类:资源资料

要感谢gtalkgroups这个开源项目,作者及详细说明看http://io43.com/io43.GtalkGroup/

1、从http://code.google.com/p/gtalkgroups/downloads/list下载gtalkgroup_release.tar.gz

2、解压之后有两个文件需要修改
m2ggg_config.py

root_gmail='your.mail.@gmail.com'

这一行改成自己的gmail,该帐号具有管理员权限
protect_key1='key1'
protect_key2='key2'

这两个key修改一下,随便写

app.yaml

application: your_app_name

这改成自己的app名称,如my_gtalk_groups
- url: /chatbridge

改成一个随机地址,如:
- url: /chatbridgecgdsgfsgdh

3、将这个应用上传到google app engine,添加my_gtalk_groups@appspot.com就可以了(你自己的appspot地址)。如何上传看http://code.google.com/appengine/docs/python/gettingstarted/uploading.html

需要注意的是,google app engine sdk是python2.x的,所以请安装python2.5或2.6

群应用及管理的命令如下:
UserCmd (普通用户指令)
//online
用途:显示在线人员名单
//nick
用途:设置昵称
示例://nick 你好
说明:如果群里有其他人使用相同昵称则该昵称不能设置
//setid
用途:设置FID
示例://setid hello
说明:如果群里有其他人使用相同FID则该昵称不能设置。FID只能设置一次,重设无效。
//block
用途:屏蔽某人的消息
示例://block hello
说明:后面所跟的参数为FID。上面示例所的执行结果是屏蔽了FID为hello的用户的消息。
//unblock
用途:取消屏蔽某人的消息
示例://unblock hello
说明:后面所跟的参数为FID。上面示例所的执行结果是取消屏蔽FID为hello的用户的消息。
//m
用途:给某人发送私密消息
示例://m hello helloworld
说明:后面所跟的参数为FID和内容。上面示例所的执行结果是把私密消息helloworld发送到FID为hello的这个用户。发送成功会显示OK的。目前不能发送消息给形如@***||*** 这样的外连接用户。
//showinfo
用途:显示某人的基本信息
示例://showinfo hello
说明:后面所跟的参数为FID。上面示例所的执行结果是输出FID为hello的用户的基本资料。
//stop
用途:马上停止接收群内消息,直到若干秒后恢复
示例://stop 3600
说明:后面所跟的参数为秒数。上面示例所的执行结果是在一小时(3600秒)内不接收群内消息。如果重复输入此命令,时间不会叠加,以最后的一次执行为准。如果执行//stop -1,则取消屏蔽,马上显示消息。
//continue
用途:停止屏蔽群内消息,作用等同于//stop -1 
//help
用途:输出帮助内容——指令的简单说明。

AdminCmd(管理员指令)
//whois
用途:查看某人消息
示例://whois hello
说明:参数必须为FID。使用whois可以获取用户的电邮,以供后面的其他指令作为参数用。
//blacklist
用途:将某人加入群黑名单
示例://blacklist somebody.you.want.to.disable@gmail.com
说明:参数为用户email
//pass
用途:把某人从黑名单上移除
示例://pass remove.from.blacklist@gmail.com
说明:参数为用户email
//admin
用途:设置某人为管理员
示例://admin admin.of.group@gmail.com
说明:参数为用户email
//unadmin
用途:解除某人的管理员身份
示例://unadmin not.a.admin.of.group@gmail.com
说明:参数为用户email
//add
用途:增加一个成员
示例://add new.member@gmail.com
说明:填写email,若email为已有成员,则执行指令后用户资料会被重新初始化。
//addrouterecv
用途:创建HTTP消息接收通道。
示例://addrouterecv mychannel2 hello.mypassword2 mychannel1
说明:后跟3个参数,分别是名字、密码和回路禁止。示例的执行结果是:创建一个外挂消息接收点,名字叫mychannel2,密码是hello.mypassword2,收到的消息不用重新转发给mychannel1
//addroutesend
用途:创建HTTP消息发送通道
示例://addroutesend mychannel1 hello.mypassword1 http://some.of.mychannel1.some.appspot.program
说明:后跟3个参数,分别是名字、密码和接收消息的地址。示例的执行结果是:建一个外挂消息发送器,名字叫mychannel1,密码是hello.mypassword1,消息发送到http://some.of.mychannel1.some.appspot.program上。若在服务器http://some.of.mychannel1.some.appspot.program创建同样的名字和密码(mychannel1和hello.mypassword1)的接收点,并禁止回路mychannel2,则对方会收到此聊天群发出的消息,并且不回送。
//allok
用途:通过所有没有进入群的用户
//listuser
保留,原意是提供用户列表,但是GAE后台能显示,所以没有加上

Google analytics的GIF请求参数表

作者:sluke 发布时间:September 16, 2010 分类:资源资料

Google analytics与adsence整合的部分不太熟悉,不敢造次翻译,凑合看吧,有合适的翻译请留言告之,我修改本日志,方便大家查阅。
这个表说明了google analytics怎么通过gif传递统计信息,以及都能传递那些信息。

变量 描述 值示例
utmac 用于区别不同帐号的字串,所有请求中都有 utmac=UA-2202604-2
utmcc
Cookie 值,这个请求参数发送所有的cookie请求
utmcc=__utma%3D117243.1695285.22%3B%2B __utmz%3D117945243.1202416366.21.10. utmcsr%3Db%7C utmccn%3D(referral)%7C utmcmd%3Dreferral%7C utmcct%3D%252Fissue%3B%2B
utmcn Starts a new campaign session. Either utmcn or utmcr is present on any given request. Changes the campaign tracking data; but does not start a new session
utmcn=1
utmcr
Indicates a repeat campaign visit. This is set when any subsequent clicks occur on the same link. Either utmcn or utmcr is present on any given request.
utmcr=1
utmcs
浏览器的语言编码,某些浏览器不支持此项,在这种情况下会被社会设置为 "-"
utmcs=ISO-8859-1
utmdt
页面标题,是一个URL-encoded 字串 utmdt=analytics%20page%20test
utme 扩展参数 Value is encoded. Used for events and custom variables.
utmfl
Flash 版本 utmfl=9.0%20r48&
utmhn

主机名,是一个URL-encoded 字串 utmhn=x343.gmodules.com
utmipc
产品码。这是一个特定产品SKU码

utmipc=989898ajssi
utmipn
产品名称,是一个URL-encoded 字串 utmipn=tee%20shirt
utmipr
单品价格。仅美元格式
utmipr=17100.32
utmiqt
数量 utmiqt=4
utmiva
Variations on an item. For example: large, medium, small, pink, white, black, green. String is URL-encoded.
utmiva=red;
utmje
浏览器是否启用java小程序,1 为真 utmje=1
utmn
Unique ID generated for each GIF request to prevent caching of the GIF image. utmn=1142651215
utmp
当前页面的页面请求 utmp=/testDirectory/myPage.html
utmr
完整的来源页面 utmr=http://www.example.com/aboutUs/index.php?var=selected
utmsc
屏幕的颜色质量 utmsc=24-bit
utmsr
屏幕分辨率 utmsr=2400x1920&
utmt
定义请求的类型,为其中之一:event
transactionitemcustom variable。如果GIF请求中不包含这些值,则请求类型为page
utmt=event
utmtci
Billing City utmtci=San%20Diego
utmtco
Billing Country utmtco=United%20Kingdom
utmtid
Order ID, URL-encoded string. utmtid=a2343898
utmtrg
Billing region, URL-encoded string. utmtrg=New%20Brunswick
utmtsp
Shipping cost. Values as for unit and price. utmtsp=23.95
utmtst
Affiliation. Typically used for brick and mortar applications in ecommerce. utmtst=google%20mtv%20store
utmtto
总计 utmtto=334.56
utmttx
utmttx=29.16
utmul
浏览器语言 utmul=pt-br
utmwv
跟踪代码的版本 utmwv=1

一个完整的google analytics gif请求
http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&utmhn=example.com&utmcs=ISO-8859-1&utmsr=1280x1024&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r115&utmcn=1&utmdt=GATC012%20setting%20variables&utmhid=2059107202&utmr=0&utmp=/auto/GATC012.html?utm_source=www.gatc012.org&utm_campaign=campaign+gatc012&utm_term=keywords+gatc012&utm_content=content+gatc012&utm_medium=medium+gatc012&utmac=UA-30138-1&utmcc=__utma%3D97315849.1774621898.1207701397.1207701397.1207701397.1%3B...

如何为移动互联网部署Google analytics

作者:sluke 发布时间:June 21, 2010 分类:学习札记

Google Analytics使用js获取访问数据,实际上它还提供了部署在服务器端的方法,用于统计不支持js的用户访问,比如手机这样的移动设备。目前Google提供了PHP、JSP、ASP.NET及Perl的实现方式,其他语言的可以参考这些完成。

下面以PHP5为例:
1、下载Google提供的程序包
http://www.google.com/analytics/googleanalyticsformobile.zip

2、解压会发现有php的目录,ga.php是需要上传到服务器的文件,sample.php是官方提供的实例。
使用编辑器打开php1.snippet,有如下代码:

<?php
  //  Copyright 2009 Google Inc. All Rights Reserved.
  $GA_ACCOUNT = "ACCOUNT ID GOES HERE";
  $GA_PIXEL = "ga.php";
 
  function googleAnalyticsGetImageUrl() {
    global $GA_ACCOUNT, $GA_PIXEL;
    $url = "";
    $url .= $GA_PIXEL . "?";
    $url .= "utmac=" . $GA_ACCOUNT;
    $url .= "&utmn=" . rand(0, 0x7fffffff);
 
    $referer = $_SERVER["HTTP_REFERER"];
    $query = $_SERVER["QUERY_STRING"];
    $path = $_SERVER["REQUEST_URI"];
 
    if (empty($referer)) {
      $referer = "-";
    }
    $url .= "&utmr=" . urlencode($referer);
 
    if (!empty($path)) {
      $url .= "&utmp=" . urlencode($path);
    }
 
    $url .= "&guid=ON";
 
    return $url;
  }
?>

修改 $GA_ACCOUNT = "ACCOUNT ID GOES HERE"; 这一行,写入你的google analytics ID(在通常情况下是UA-XXXXXXX-X,这里要替换成MO-XXXXXXX-X,表示为移动互联网),本段代码复制需要统计的页面里(php2.snippet里的代码页需要复制到),后面会给出完整演示。

3、将ga.php上传至网站根目录。官方给出的实例如下,需要注意的是php1.snippet及php2.snippet的位置

<?php
  $GA_ACCOUNT = "MO-3845491-5";
  $GA_PIXEL = "ga.php";
 
  function googleAnalyticsGetImageUrl() {
    global $GA_ACCOUNT, $GA_PIXEL;
    $url = "";
    $url .= $GA_PIXEL . "?";
    $url .= "utmac=" . $GA_ACCOUNT;
    $url .= "&utmn=" . rand(0, 0x7fffffff);
 
    $referer = $_SERVER["HTTP_REFERER"];
    $query = $_SERVER["QUERY_STRING"];
    $path = $_SERVER["REQUEST_URI"];
 
    if (empty($referer)) {
      $referer = "-";
    }
    $url .= "&utmr=" . urlencode($referer);
 
    if (!empty($path)) {
      $url .= "&utmp=" . urlencode($path);
    }
 
    $url .= "&guid=ON";
 
    return $url;
  }
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sample Mobile Analytics Page</title>
</head>
<body>
 
Publishers content here.
<?php
  $googleAnalyticsImageUrl = googleAnalyticsGetImageUrl();
?>
<img src="<?= $googleAnalyticsImageUrl ?>" />
Testing: <?= $googleAnalyticsImageUrl ?>
</body>
</html>

需要注意的是
1、不要复制多段代码,不要同时使用js方式
2、Google analytics是通过IP判断用户地理位置,如果是手机用户,尤其是使用了服务器端渲染技术的浏览器,如opera、ucweb等,这一项统计意义不大
3、服务器资源消耗会增大
4、纯静态页面没法统计

PS:Google analytics专门为iPhone和Android提供了SDK,可以在下面的地址下载
http://code.google.com/intl/zh-CN/mobile/analytics/download.html

Google发布全球1000强网站,音乐站不多

作者:sluke 发布时间:May 28, 2010 分类:闲言碎语

http://www.google.com/adplanner/static/top1000/

如果以这份名单为准,很多结果是让人惊讶的,全球1000强里有很多是中国网站,音乐相关站点排名大致如下:

180、kugou.com(软件)
273、last.fm(社区)
315、musica.com(西班牙网站,主要是提供歌词服务)
358、beemp3.com(提供下载)
454、mp3raid.com(提供下载)
492、1ting.com(试听)
494、kuwo.cn(社区)
543、pandora.com(社区&广播)
573、windowsmedia.com
596、nhaccuatui.com
744、qq163.com(试听)
783、vietbao.vn(越南网站)
866、top100.cn(试听)
876、ilike.com(社区)
918、deezer.com(试听)
927、bomb-mp3.com(提供下载)

社区型的站点设计比较前卫,试听类的多为传统的列表形式,尤其是外国站点,那几家提供下载的站点设计很是粗糙,如此高的排名说明下载才是网络音乐的第一需求。

如何为电视设计网站

作者:sluke 发布时间:May 26, 2010 分类:学习札记

Google发布了google tv,国内的互联网电视概念也是风生水起,市面上一时间出现了很多能上网的电视机,简单整理了一下google tv的开发者指南,有理解不到位的地方,请各位指正。

原文在这里:
http://www.google.com/tv/developer/

google tv的开发者指南导图