2013年5月30日星期四

看似美好的微信营销

作者头像
记者,愿意为创新的传播尽绵薄之力,并一直相信理想主义情怀才是原动力。
[核心提示] 微信是社会化关系网络,注重点对点的传播,信息到达率几乎是100%,如果你一旦关注了某个公共账号,那么订阅信息的到达率也是100%,这也意味着,你被打扰的概率也是100%。
微信从发布以来,一直在做不同的尝试,无论是从功能还是运营形态,都有所创新。尤其是从微信4.0以后的版本,带来了很多功能上的创新,包括最近推出的公共账号平台。
平台一出,各路机构纷纷入驻,无论是媒体还是各类网络服务,都纷纷在微信上开通公共账号,大有试图抢占微信制高点的意味,社会化营销家们更是迅速瞄准了具有较高质量移动用户占有率的公共平台,试图在微信上重演微博营销的热潮。更有意思的是,很多机构在微博上推广自身的微信账号,甚至包括 Talkbox 。
除了微博上的大号和机构之外,还有一些线下商家如星巴克,朝阳大悦城等也在微信公共平台上开拓疆土,试图在微信这一社交平台上构建新的营销渠道和模式,并做出一些新营销的尝试。
很多观察家认为微信的通讯工具属性更容易实现精准营销,可以提高广告或者商家的信息到达率。但是,微信真如观察家们所说,存在很高的营销价值吗?或许还言之过早。
 

看似美好的点对点营销

微信是社会化关系网络,注重点对点的传播,可以说,信息到达率几乎是100%,也就是说,当你关注了某个公共账号,订阅信息的到达率也是100%,而且由于微信本身的通讯属性,信息的传播几乎是实时的,如果你关注了很多个公共账号,那么你所面临的将不仅仅是二十种不同的信息来源,它们还可能成为二十种不同的信息干扰。此时,微信可能从当初的通讯工具,变成你的困扰。
每天看新闻、看微博、看Apps,你已经接收到大量信息了,你还需要微信给你带来的信息过载吗?

期望过高的营销平台

从营销角度来说,关键在于平台的规模效应和关注度,在于受众越多越好、传播越快越好,信息的传播和流动速度决定营销结果的好坏,但微信的本质在于一个沟通工具,从这个角度来说,微信用来做客服似乎更符合他的工具属性。
再者,众多企业和社会化营销家们试图在微信上重演微博营销的热潮,从微信的场景和需求上来说也不能得到满足。
李开复在微博上能短期内就聚集大量粉丝的原因在于开复本身所具备的影响力和名人效应,所以在微博上只是名人效应的另一种体现,换到微信上依旧会有一大群的拥笃,只是平台的转移和粉丝群的扩散,但如果普通人群想借助微信平台做出新的效果,在微博的公众平台上都无法实现的目标,在微信上也很难。毕竟,你的属性跟你在什么平台无关。
毕竟,对大多数人来说:你是屌丝在哪儿都是屌丝,无论是微博还是微信。所以,别对微信的营销价值期望过高。

被滥用的推送

推送⇔信息过载?

微信的信息传达方式通过实时推送来完成,推送不会让用户遗漏任何信息。然而,所有事情都有一个度,一旦推送被滥用,相对传统互联网环境下的推送或软件弹窗对用户的影响来说,会更为严重:

1:无法逃避的困扰

在移动互联网时代,人们对手机的依赖远远大于电脑,电脑不是时时刻刻开着,而手机每天伴随用户的时间平均超过10小时,手机成为用户联络外界的主要通道,所以,当所有的推送都集中在手机展现的时候,带来的干扰多余信息的传递,并且无法避免。

2:额外流量费用

对于传统互联网用户来说,无须为流量多花钱,而对于多以流量计费的移动互联网用户来说,推送要耗费大量的流量,并且多数情况是在用户不知情的情况下,所以,对用户的影响不只是心情上,还会带来大量额外的费用。

前车之鉴

推送是把双刃剑,推送用得好可以让信息有效传播,如果用的差,那就会招致用户反感甚至卸载,最典型的例子莫过于不久前新浪微博的新浪微博奥运版。
新浪微博的奥运版及后续版本上,默认加了很多机制上无法关闭的推送:
这是让最让用户难以接受的,偶尔的信息推送能有效的传达信息,但是无休无止的推送就是扰民了。由于北京与伦敦之间存在8个小时的时差,大部分的奥运比赛都是在夜里和凌晨进行,而新浪微博默认很“贴心”的为用户开通了“奥运早晚报”和“金牌快报”的提醒功能,中国队每次夺金时微博都会积极的给你推送消息,请注意,这是多数用户都在熟睡的半夜,其扰民程度可想而知。最后很多用户弃用官方微博客户端,转向了第三方微博客户端。
 

微信:垃圾短信的阴影之外

回到微信的推送机制,由于微信的推送是实时的,并且以点对点的传播方式进行推送,所以在微信官方无法管控公共平台信息的推送时间的情况下,微信公共平台的消息跟普通的用户之间的消息推送呈现方式并无差别。当推送提示响起时,用户无法判断是来源于好友的信息还是来源于公共账号所推送的内容,这很容易对用户造成信息过载,微信原本承担的只是社交属性里的沟通工具,现在却变成一个不需要的通知中心,这对用户来说的极其不好的体验。而当有一天用户被推送扰到忍无可忍的时候,那估计这个应用的生命周期也快要完结了。
任何以牺牲用户体验为代价的手段和功能都会被淘汰,用户体验才是永恒不变的需求。
想到曾经很流行的垃圾短信(现在依然流行),当手机应用越来越广泛的时候,随之而来的垃圾收费骚扰短信也数不胜数,垃圾短信无处不在,已经成了忍无可忍的毒瘤,极客公园曾经也写过关于垃圾短信的文章《防通讯骚扰的云计算》,是从软件本身结合云端服务来打击垃圾短信,但是现状是垃圾短信依然无孔不入并依旧被用户所诟病。如果微信公共平台被滥用,那不排除最终会被当做垃圾信息的来源而惨遭卸载的命运。
当然,腾讯也不是不知道推送机制的缺陷,已经有证据表明微信的推送机制已经在测试公共账号推送的消息不进行打扰或有效提示,只提示个人用户接收到的消息,如果此事属实,那也能从侧面证明微信已经意识到推送机制可能给用户带来的困扰,并想办法将微信公共账号推送对用户带来的打扰降到最小。
微信营销,看起来很美,但路还长。
除非特别声明,极客观察均为极客公园原创报道,转载请注明作者及原文链接。
原文地址:
http://www.geekpark.net/read/view/163113

防通讯骚扰的云计算


作者头像
记者,愿意为创新的传播尽绵薄之力,并一直相信理想主义情怀才是原动力。
[核心提示] 传统的骚扰电话解决方案是基于本地的黑名单机制,但是这种方式局限性很大, 骚扰号码没有规律可循,无法类似 E-mail 那种 bayes(贝叶斯)的自我学习功能,扩展性也很差。搜狗号码通在本地基础上加入了云的概念,即通过搜索蜘蛛的抓取分析建立一个“号码云”。
搜狗近日上架一款号码辅助识别软件——号码通,通过抓取互联网中的公开电话信息,建立起海量号码数据库,让诈骗,中介,推销等骚扰号码无处遁形。软件还专门设计“标记”功能,每一个用户都可以对陌生的骚扰号码进行分类标记,同时每个用户对骚扰号码的评价将分享给其他用户,彻底摆脱接到骚扰电话后的自认倒霉的无奈,让层出不穷的骚扰电话彻底歇菜。充分利用智慧众包,让那些漏网的骚扰电话瞬间陷入人民战争的汪洋大海之中。

号码的云计算

传统的骚扰电话解决方案是基于本地的黑名单机制,但是这种方式局限性很大, 骚扰号码没有规律可循,无法类似 E-mail 那种 bayes(贝叶斯)的自我学习功能,扩展性也很差。这个已经是标配技术。搜狗号码通在本地基础上加入了云计算的概念,即通过搜索蜘蛛的抓取分析建立一个“号码云”,这也是搜狗基于搜索引擎做号码通的出发点,相当于防通讯骚扰的云计算。它的好处是让 APP 客户端很轻,直接和“号码云”交换匹配即可。
(部分内容来源于知乎

釜底抽薪之道

骚扰诈骗电话要真正的杜绝,还是要从根源下手,通信运营商从源头来做,根据呼叫记录,自动找出异常呼叫,进行跟踪和查处,从源头打击,不过,遗憾的是,垃圾电话和垃圾短信符合运营商短期利益,要真正的釜底抽薪,还需要一点时间。

题外话——众包

号码通的核心功能在于通过用户的标记来识别骚扰电话,再将用户的标记数据共享到服务器,操作模式和方法类似于搜狗输入法的流行词库一样,都是运用大众的智慧共建数据库,实现分享。无独有偶,Google 旗下的 Google Books 也借用了民众的力量去完成纸质书的数字化。Google Books 扫描了几十万本纸质书,通过 Google 实验室项目reCAPTCHA ,扫描后的图片被裁减成一个个单词片段,用于网站防止机器注册时显示的验证码,人们在输入验证码的同时不知不觉就完成了图书数字化过程。世界各地图书馆有很多受损的古籍,页面泛黄、纸张脆弱,OCR 是无能无力的,它无法识别褪色的和模糊的文本,而人类在这方面有卓越的表现。reCAPTCHA 将我们输入的验证码正确识别后,拼接、排版,在化整为零中就完成了古籍的数字化。
当然,有人可能会提到防骚扰红名单,但是,红名单是你用的吗?
 
除非特别声明,极客观察均为极客公园原创报道,转载请注明作者及原文链接。
原文地址:
http://www.geekpark.net/read/view/157278

微信营销就是挂个“美人头”



ugmbbc发布于 2013-05-29 07:02:26|5776 次阅读 稿源:北京晨报      


“培训一上午,就是老师带着百余人一起拿着手机‘摇一摇’和‘捡瓶子’。”某摄影工作室的张晓日前花费数千元参加了为期一天半的微信营销培训,令他 没想到的是,被命名为“知名营销大师”的第一讲,竟是普及微信的使用方法。记者了解到,由于微信这一新的传播渠道的兴起,继微博营销之后,不少企业开始对 微信营销趋之若鹜,在这样的市场需求下,大批培训机构也雨后春笋般地出现了。

“培训就是教骗人”

“上了一天半的培训,根本没收获。培训就是教我们如何骗人。”张晓是第一次花钱学习新媒体营销,却没想到几千元打了水漂,得到的竟然是这样低级的培训内容。

张晓是个80后,觉得像他们这样的摄影工作室如果从微信下手,利用手机的特点定位区域营销,应该会有不错的效果,但是一时间又不知道该如何做起。在得知有微信营销这样的培训后,张晓抱着很大的希望报名了。

“培训课开始就是讲如何使用微信,从最基础的功能讲起,一个使用说明书就说了整整一上午。”张晓失望地说,“我觉得我玩微信都比老师玩得好。”

而下午的培训,更是令张晓“大开眼界”。“老师讲了如何发广告信息,但实际上就是骗人。”张晓告诉记者。

“首先用户可以重新申请一个QQ号,之后再申请微信,最重要的是将微信头像设置成为美女头像,之后利用‘摇一摇’等功能添加更多的好友后,向这些人发送你想推送的广告信息。”

在张晓看来,讲师讲的所谓的“专业内容”,几乎都是从网上抄来的。记者随后特意加了几个微信营销QQ群,发现不少培训机构所用的培训资料存在雷同,内容泛泛。而如果想进一步了解如何针对自己企业进行微信营销,则需要缴纳更昂贵的费用。

传统企业很买账

“为期两天的培训,费用8800元。”记者在网上搜索,并根据留下的联络方式采访发现,像张晓这种为期一到两天,费用从两三千到万元的微信营销培训机构,目前在市场上十分活跃和普遍,而以微信等营销为“噱头”进行的1年打包价的市场价则高达数万元以上。

不 过记者了解到,不少传统企业对于这种培训却相当买账。例如,不久前,网友“他叫孟宪君”爆料:杭州一家小公司,用电话邀请传统企业参加他们的微信营销会 议,一场就做到100多万。内容就是帮传统企业注册开通公共账号、刷粉认证、代运营之类,忽悠企业签约1年,打包价8万元。

中小企业更是微信营销的狂热追随者。张晓告诉记者,在他参加的微信营销培训班中,原价每年7万多元的微信营销打包价格打折到3万多,吸引了相当一批小企业现场讲价、签单。

对此,不少正在参与或有意进行微信营销的人士认为,如果能够切切实实帮助企业打理好这些内容,还是相当有吸引力的。晨报记者 孙雨

■专家说法

微信营销效果被扩大化了

对于微信营销的火热,有业内人士认为,现在一些针对微信营销的报道或是案例分析,将微信营销的效果扩大化了。同时,由于微信用户不断快速增长,大大刺激了传统企业尝试微信营销的积极性。

互联网分析师钱皓认为,传统企业信息化落后,对社会化营销、移动互联网等新科技认知存在代沟,通过会议营销的包装和忽悠,刺激传统企业对微博、微信等的代运营需求,这和10年前给传统企业做网站、卖域名是老瓶装新酒的同类型的事。晨报记者 孙雨

■链接

企业营销要用微信认证公众账号

记者从微信方面了解到,企业进行微信营销,就要获得一个微信认证公众账号。

第一步:企业可以先申请一个微信公众账号;

第二步,如果公众账号的订阅用户达到500人,或该公众账号是新浪微博、腾讯微博的认证用户则可以进一步申请为认证公众账号。

企业可以通过微博、网站等途径,推广自己的微信公众号的二维码,获取更多订阅用户,扩大影响力、可以通过后台的用户分组和地域控制,实现精准的消息推送等。

2013年5月29日星期三

Android图书下载





中文图书:

Google_Android手机游戏设计达人讲座

http://u.115.com/file/bh0mhw49#

51CTO下载-Google_Android手机游戏设计达人讲座.pdf



Google_Android_SDK开发范例大全

http://u.115.com/file/aqacq4kt#

Google_Android_SDK开发范例大全.pdf



Android高级编程

http://u.115.com/file/aqaci1rr#

Android高级编程.pdf



ANDROID_2.0游戏开发实战宝典

http://u.115.com/file/cloeu7ss#

ANDROID_2.0游戏开发实战宝典.pdf



Google.Android开发入门与实战

http://u.115.com/file/bh0m6lv7#

Google.Android开发入门与实战.pdf



Android应用框架原理与程序设计】高焕堂

http://u.115.com/file/e6rj3w5x#

Android应用框架原理与程序设计】高焕堂.pdf



Android应用开发详解

http://u.115.com/file/dn9kdyo1#

Android应用开发详解.pdf



大话企业级android开发

http://u.115.com/file/e6rj3hqp#

51CTO下载-大话企业级android开发.pdf



[Android系统原理及开发要点详解].(韩超,梁泉)

http://u.115.com/file/bh0m68cp#

[Android系统原理及开发要点详解].(韩超,梁泉).扫描版pdf




英文图书:

Professional_Android__Application_Development

http://u.115.com/file/e6rj66vq#

Professional_Android__Application_Development.pdf



Pro_Android_Games

http://u.115.com/file/cloelh38#

Pro_Android_Games.pdf



Pro_Android_Media

http://u.115.com/file/aqacqdzt#

Pro_Android_Media.pdf



Beginning_Android_Games.2011

http://u.115.com/file/bh0mh2k7#

Beginning_Android_Games.2011.pdf



android_essensial

http://u.115.com/file/e6rj6bsx#

android_essensial.pdf



Wrox.Professional.Android.2.Application.Development.2010

http://u.115.com/file/bh0mhs1r#

Wrox.Professional.Android.2.Application.Development.2010.pdf



Learn.Java.for.Android.Development

http://u.115.com/file/aqacg9ht#

[android.开发书籍].Learn.Java.for.Android.Development.pdf


Beginning.Android.2

http://u.115.com/file/bh0m74mv#

[android.开发书籍].Beginning.Android.2.(Apress,.2010,.1430226293).pdf


Practical.Android.Projects

http://u.115.com/file/aqaciux5#

[android.开发书籍].Practical.Android.Projects.pdf


[Android.游戏开发入门](美)Mario.Zechner.插图版

http://u.115.com/file/cloeu0k8#

[Android.游戏开发入门](美)Mario.Zechner.插图版.pdf


Hello.Android.3rd.Edition

http://u.115.com/file/e6rj3g02#

[android.开发书籍].Hello.Android.3rd.Edition.pdf


Pro.Android.3(第1版)

http://u.115.com/file/e6rj3adm#

[Pro.Android.3(第1版)].(Pro.Android.3).S.Komatineni&D.MacLean&S.Hashimi.文字版.pdf


使用HTML,CSS,JavaScript开发Android应用程序

http://u.115.com/file/aqacixtt#

[使用HTML,CSS,JavaScript开发Android应用程序].(Building.Android.Apps.with.HTML.CSS.and.JavaScript).Jonathan.Stark.文字版.pdf


Android.User.Interface.Development.Beginners.Guide.Feb.2011

http://u.115.com/file/bh0m6y77#

[android.开发书籍].Android.User.Interface.Development.Beginners.Guide.Feb.2011.pdf


Beginning_Android_Games.2011

http://u.115.com/file/dn9kdiz2#

Beginning_Android_Games.2011.pdf

老鹰主机+Godaddy域名


准备搭建自己的网站,Godaddy是全球域名注册排名第一的服务商,去Godaddy购买域名是一个非常不错的选择,它性价比是非常高的,要注意买的时候一定要找优惠码,这可使价格便宜不少呢!虽然是英文界面,但实际注册起来并不麻烦的,建议在网上找找相关的注册教程,非常多的。另外Godaddy是支持我们国内的支付宝的,当然如果有PalPay或国外某些支付工具的话会更好,因为很多优惠是不支持支付宝,而那些价格会更加低廉。

在主机方面,为什么我不选择Godaddy的主机呢,在网上看到很多评论说Godaddy的容易被封,我去看了一下,在价格方面也是相对高点的,而老鹰主机提供商,据说国内访问速度不错,也很稳定,性价比也很高,我买的是basic主机,第一年注册使用优惠码优惠50%,人民币折合是124块多,45G月流量,3000M空间,无限MySQL数据库等,具体可以上官网去看看的。网址为:http://www.hawkhost.com/Shared/compare  ,我使用的优惠码是whts50v2,这款basic主机是共享IP的,如果你需要独立IP的话可以另行购买的,也不贵。支付方式上,老鹰主机现在也支持我们国内的支付宝了。开通后不久(我等了一个小时左右)就会收到来自老鹰主机的邮件, 这个时候你的主机就可以正常使用了。

使用Godaddy的域名的时候,绑定到老鹰主机上有两种方法的,一种是登录到老鹰主机的CPanel面板,点击Stats,下面就会有共享IP地址,然后到Godaddy的控制面板,将域名解析到这个IP即可。另外一种方式是修改域名的DNS,将其DNS修改成老鹰主机的DNS即可。老鹰主机的DNS是ns1.hawkhost.com和ns2.hawkhost.com,在你购买完老鹰主机后,会发一封邮件通知你的,里面有DNS,后面的CPanel面板里也有。

微信公众平台消息接口开发(3)


上面那篇讲了翻译宝宝,调用有道翻译的接口,现在开发天气宝宝,调用的接口是中国气象网的,这个返回给用户的信息是图文信息。
先了解下中国气象网的api,其实只是一条url,即http://m.weather.com.cn/data/城市代码.html,如http://m.weather.com.cn/data/101280101.html,其中的101280101是城市代码,可以在浏览器输入这条url,看看返回什么数据。
{
 "weatherinfo": {
 "city": "广州",
 "city_en": "guangzhou",
 "date_y": "2013年2月27日",
 "date": "",
 "week": "星期三",
 "fchh": "11",
 "cityid": "101280101",
 <!-- 从今天开始到第六天的每天的天气情况,这里的温度是摄氏温度 -->
 "temp1": "25℃~19℃",
 "temp2": "24℃~19℃",
 "temp3": "25℃~13℃",
 "temp4": "22℃~11℃",
 "temp5": "16℃~9℃",
 "temp6": "20℃~11℃",
 <!-- 从今天开始到第六天的每天的天气情况,这里的温度是华氏温度 -->
 "tempF1": "77℉~66.2℉",
 "tempF2": "75.2℉~66.2℉",
 "tempF3": "77℉~55.4℉",
 "tempF4": "71.6℉~51.8℉",
 "tempF5": "60.8℉~48.2℉",
 "tempF6": "68℉~51.8℉",
 <!-- 天气描述 -->
 "weather1": "阴",
 "weather2": "阴",
 "weather3": "阴转小雨",
 "weather4": "小雨",
 "weather5": "阴转晴",
 "weather6": "晴",
 <!-- 天气描述图片序号 -->
 "img1": "2",
 "img2": "99",
 "img3": "2",
 "img4": "99",
 "img5": "2",
 "img6": "7",
 "img7": "7",
 "img8": "99",
 "img9": "2",
 "img10": "0",
 "img11": "0",
 "img12": "99",
 "img_single": "2",
 <!-- 图片名称 -->
 "img_title1": "阴",
 "img_title2": "阴",
 "img_title3": "阴",
 "img_title4": "阴",
 "img_title5": "阴",
 "img_title6": "小雨",
 "img_title7": "小雨",
 "img_title8": "小雨",
 "img_title9": "阴",
 "img_title10": "晴",
 "img_title11": "晴",
 "img_title12": "晴",
 "img_title_single": "阴",
 <!-- 风速描述 -->
 "wind1": "微风",
 "wind2": "微风",
 "wind3": "微风转北风4-5级",
 "wind4": "北风4-5级转3-4级",
 "wind5": "微风",
 "wind6": "微风",
 <!-- 风速级别描述 -->
 "fx1": "微风",
 "fx2": "微风",
 "fl1": "小于3级",
 "fl2": "小于3级",
 "fl3": "小于3级转4-5级",
 "fl4": "4-5级转3-4级",
 "fl5": "小于3级",
 "fl6": "小于3级",
 <!-- 今天穿衣指数 -->
 "index": "舒适",
 "index_d": "建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。",
 <!-- 48小时穿衣指数 -->
 "index48": "舒适",
 "index48_d": "建议着长袖T恤、衬衫加单裤等服装。年老体弱者宜着针织长袖衬衫、马甲和长裤。",
 <!-- 紫外线及48小时紫外线 -->
 "index_uv": "最弱",
 "index48_uv": "最弱",
 <!-- 洗车 -->
 "index_xc": "较适宜",
 <!-- 旅游 -->
 "index_tr": "适宜",
 <!-- 舒适指数 -->
 "index_co": "舒适",
 "st1": "26",
 "st2": "18",
 "st3": "25",
 "st4": "18",
 "st5": "26",
 "st6": "9",
 <!-- 晨练 -->
 "index_cl": "较适宜",
 <!-- 晾晒 -->
 "index_ls": "不太适宜",
 <!-- 过敏 -->
 "index_ag": "极不易发"
 }
 }
返回的是json格式的数据,至少返回的数据是什么意思,我也已注明。

在根目录下建立一个weather_code.php文件,里面主要是存储各城市的城市名和对应的城市代码,是一个数组,下面只显示部分数据:

<!--?php $weather_code = array(     '北京' =--> 101010100,
    '重庆' => 101040100,
    '上海' => 101020100,
    '天津' => 101030100,
    '澳门' => 101330101,
    '香港' => 101320101,
    '合肥' => 101220101,
    '蚌埠' => 101220201,
    '芜湖' => 101220301,
    '淮南' => 101220401,
    '马鞍山' => 101220501,
    '安庆' => 101220601,
    '宿州' => 101220701
);
在index.php文件里,新建一个获取天气信息的方法,如下:
/**
 * getWeather
 * @param $keyword
 * @return unknown
 */
function getWeather($keyword) {
    include 'weather_code.php';
    $code=$weather_code[$keyword];
    $url="http://m.weather.com.cn/data/".$code.".html";

    $file=file_get_contents($url);
    $obj=json_decode($file);
    $weatherinfo = $obj -> weatherinfo;
    $city = $weatherinfo -> city;
    $temp1=$weatherinfo->temp1;
    $temp2=$weatherinfo->temp2;
    $temp3=$weatherinfo->temp3;
    $img1=$weatherinfo->img1;
    $img2=$weatherinfo->img3;
    $img3=$weatherinfo->img5;
    $weather1=$weatherinfo->weather1;
    $weather2=$weatherinfo->weather2;
    $weather3=$weatherinfo->weather3;
    $wind1=$weatherinfo->wind1;
    $wind2=$weatherinfo->wind2;
    $wind3=$weatherinfo->wind3;
    $index=$weatherinfo->index;
    $index_d=$weatherinfo->index_d;
    $date_y=$weatherinfo->date_y;
    $week=$weatherinfo->week;
    $array = array(
            array("title"=>$city."  ".$week."  ".$temp1."  ".$weather1,"des"=>"testdes","pic"=>"http://api.itcreating.com/weather/image.jpg"),
            array("title"=>$index_d,"des"=>"testdes"),
            array("title"=>date("Y年m月d日")."  ".$temp1."  ".$weather1."  ".$wind1,"des"=>"testdes","pic"=>"http://api.itcreating.com/weather/images/".$img1.".png"),
            array("title"=>date("Y年m月d日",strtotime("+1 day"))."  ".$temp2."  ".$weather2."  ".$wind2,"des"=>"testdes","pic"=>"http://api.itcreating.com/weather/images/".$img2.".png"),
            array("title"=>date("Y年m月d日",strtotime("+2 day"))."  ".$temp3."  ".$weather3."  ".$wind3,"des"=>"testdes","pic"=>"http://api.itcreating.com/weather/images/".$img3.".png"),

    );
    return $array;
}
这方法很简单,通过传入城市名,然后获取该城市的城市代码,接着通过中国气象网api发送请求,再将中国气象网返回的数据通过PHP的JSON解析函数json_decode将JSON格式的数据解析为PHP的关联数组,最后将我们需要的信息取出来再封装成数组。

注释掉$wechatObj->responseMsg();

在$wechatObj->responseMsg()下面加入$wechatObj->responseImgMsg();并新建一个responseImgMsg方法,如下:


public function responseImgMsg()
    {
        //get post data, May be due to the different environments
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
        //extract post data
        if (!empty($postStr)){
            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
            $fromUsername = $postObj->FromUserName;
            $toUsername = $postObj->ToUserName;
            $keyword = trim($postObj->Content);
            $time = time();
            $textHaderTpl = "
                    <![CDATA[%s]]>
                    <![CDATA[%s]]>
                    %s
                    <![CDATA[news]]>

                    %d

                    ";
            $textContentTpl = "
<![CDATA[%s]]>
                    <![CDATA[%s]]>
                    <![CDATA[%s]]>
                    <![CDATA[%s]]>

                    ";
            $textFooterTpl = "

                    1

                    ";
            if(!empty( $keyword ))
            {
                $msgType = "news";
                // 判断是否首次关注
                if ( $keyword == "Hello2BizUser" ) {

                }else {
                    $array = getWeather($keyword);
                    $resultHaderStr = sprintf($textHaderTpl, $fromUsername, $toUsername, $time, count($array));
                    foreach ($array as $key => $value) {
                        $resultContentStr .= sprintf($textContentTpl, $value['title'], $value['des'], $value['pic'], $value['url']);
                    }
                    $resultFooterStr = sprintf($textFooterTpl);
                    echo $resultStr = $resultHaderStr,$resultContentStr,$resultFooterStr;
                }
            }else{
                echo "Input something...";
            }
        }else {
            echo "";
            exit;
        }
    }
要返回图文消息的,就要使用数组这种方式将将消息输出。
源码已在github上托管,可以上去下载,地址:https://github.com/hxxy2003/Weather-weixin