+ -
当前位置:首页 → 问答吧 → Google GCM 问题

Google GCM 问题

时间:2014-01-18

来源:互联网

唔知多唔多师兄识用 GCM呢....我刚学写app...见用phonegap可将web转变成apps.....

我想写的app需要用到GCM....我只知基本概念....

(1) User device 要向google register...取得 device ID....
(2) 将 device ID store 到我自己建立的database server....方便日后可主动push msg to target android device
(3) 在server side 加入於google developer console 取得的 id.....

问题:
(a) 如何能在app中令device 向google取得 device id?
(b) 有些人又话要用 third party site 帮手做push的动作 e.g. www.pushwoosh.com, 但有些又话只需用google的server就可以...
(c) 有没有由头开始,完整的实作 site 可供参考? 因好多外国site 只做一部份...对於我这些新手来说....很难明白整个full picture...

万分感激~~!!

作者: steven430   发布时间: 2014-01-18

将你搜集到的资料同埋分析分享出嚟, 保证有人同你睇下个 full picture 系点.(起码有我先)
引用:原帖由 steven430 於 2013-10-21 13:09 发表
唔知多唔多师兄识用 GCM呢....我刚学写app...见用phonegap可将web转变成apps.....

我想写的app需要用到GCM....我只知基本概念....

(1) User device 要向google register...取得 device ID....
(2) 将 device ...

作者: a8d7e8   发布时间: 2014-01-18

引用:原帖由 a8d7e8 於 2013-10-21 01:16 PM 发表
将你搜集到的资料同埋分析分享出嚟, 保证有人同你睇下个 full picture 系点.(起码有我先)

谢谢师兄, 因我想用phonegap写....所以一般教学文件提到的Java GCM写法唔知是否适合我用... e.g.



我睇过既大部份教学文章都系类似 https://github.com/marknutter/GCM-Cordova 的教学文件....

所以最好能找到一些比较完整的教学....感激~~~!!!!

作者: steven430   发布时间: 2014-01-18

你用 Phonegap 系咪净系会用 Javascript/HTML/css 等等架咋??

点解你需要用 GCM? 有咩 use cases?
引用:原帖由 steven430 於 2013-10-21 13:26 发表

谢谢师兄, 因我想用phonegap写....所以一般教学文件提到的Java GCM写法唔知是否适合我用... e.g.
http:/ ...

作者: a8d7e8   发布时间: 2014-01-18

引用:原帖由 a8d7e8 於 2013-10-21 02:22 PM 发表
你用 Phonegap 系咪净系会用 Javascript/HTML/css 等等架咋??

点解你需要用 GCM? 有咩 use cases?

因为我想整既app系client 落order 订野....我会将呢个order需要既资料先存database...再push notify返我地既一班会员...

据我了解....若我只要人手push notify的话,我可以用third party 的service e.g. pushwoosh ...在它们的网页上整好notify的details...就可以用佢地既service push 出去...
但我的应用情况有点不同, 因为我既push notify 系based-on...若有client place order...server处理完就dynamic 将资料send to 会员的 android device....

(若有理解错的话, 烦请指正)

作者: steven430   发布时间: 2014-01-18

GCM 有两种连线模式: HTTP or XMPP(CCS).

如果你个系统有 database, 即系有 back-end, 咁要整个 server side service 去收 order 应该 ok?

咁净系用 GCM HTTP Connection Server 就可以 push to device.
引用:原帖由 steven430 於 2013-10-21 14:41 发表

因为我想整既app系client 落order 订野....我会将呢个order需要既资料先存database...再push notify返我地既一班会员...

据我了解....若我只要人手push notify的话,我可以用third party 的service e.g. pushwoo ...

作者: a8d7e8   发布时间: 2014-01-18

引用:原帖由 a8d7e8 於 2013-10-21 04:11 PM 发表
GCM 有两种连线模式: HTTP or XMPP(CCS).

如果你个系统有 database, 即系有 back-end, 咁要整个 server side service 去收 order 应该 ok?

咁净系用 GCM HTTP Connection Server 就可以 push to device.

师兄, 我睇过有关 gcm http connection server 的official 资料 http://developer.android.com/google/gcm/http.html , 都几难明.....请问有无example可跟住做....令我可get多少少idea? 最主要系唔知点令client可向google server request registration id and store to my database server..... 烦请赐教~~~!!! 万二分感谢!!!

作者: steven430   发布时间: 2014-01-18

因为你用到phonegap, 所以真系好难搵到个complete tutorial俾你
不过我都写过phonegap+GCM, 睇下帮唔帮到你

不过有几个问题想搞清楚先:
1. 你话client place order > database stored > GCM member, 咁系咪即系A (client) > B (server) > A (Client)? 定系A (Client) > B (Server) > C (Member)?
2. 如果只系GCM, 净系用googleapis就得, 但系你写得phonegap都系想cross-platform, 咁就可能要用3rd party,
不过如果你未写过任何platform的notification, 我建议都系逐步黎
3. 有无写过phonegap plugin? 如果无就试试简单自己写个plugin, 例如: 系javascript拎android's mac address.
4. 了解reg id同sender id的分别

如有时间的话, 会回覆你的问题, 或者其他师兄都会帮到手
不过呢个function我已经系年半前写, 唔知我d knowledge岩唔岩用

作者: KeithKwong   发布时间: 2014-01-18

其中一个可行流程:

1. Client register to gcm and obtain a registrant id, store to persistent storage.
2. Client place an order to server, embed the registrant id as one of the parameter.
3. Server process all orders in batch, pushing notification message for each orders.
4. Client can receives the notification properly.

关键系点将 user identity (credential) 同 registrant id 连结埋一齐. 同埋视乎你想点处理 multiple devices, cross devices usage. 如果我用朋友部机 login 再落 order, 个 notification 应该去咗边? 有机会要你朋友同你部机都要收到, 呢样 gcm 做到.

如果你个系统本身有 login, 可在 login 前就 register GCM, 咁 login 嗰时一定有 registrant id, 就可在 database 储存 login credential 同 registrant id 的关系了.

当中有好多错误修复流程可以做, 令到在不同情况都比较合情合理同埋 user friendly. 呢啲留返俾你喇.
引用:原帖由 steven430 於 2013-10-21 23:40 发表

师兄, 我睇过有关 gcm http connection server 的official 资料 http://developer.android.com/google/gcm/http.html , 都几难明.....请问有无example可跟住做....令我可get多少少idea? 最主要系唔知点令client可向 ...

作者: a8d7e8   发布时间: 2014-01-18

引用:原帖由 KeithKwong 於 2013-10-22 12:47 PM 发表
因为你用到phonegap, 所以真系好难搵到个complete tutorial俾你
不过我都写过phonegap+GCM, 睇下帮唔帮到你

不过有几个问题想搞清楚先:
1. 你话client place order > database stored > GCM member, 咁系咪即系 ...
师兄,多谢你的回覆.....好感激!!

1. A (Client) > B (Server) > C (Member)2. 若果用third party.....是否做到: 我在database select target member (C), 发 < 4k 的message to third party server, 呢个server 就将我的message send to GCM, 最后送到我的target member 之device? 如果系咁的话....我能否skip 中间third party server 而直接将 <4k message send to GCM?
3. 我只系知可以download 人地既phonegap plugin去用.....但未识过,亦无咩信心可以自己写到个plugin.....
4. 顺便想问一下...睇下concept有无错....sender id...系当我有message 要 send to GCM帮我process....gcm就用呢个系 identify 我个apps? or this is called application id? 至於register id 是否就系 client (A) 透过我个apps 去google register既时候, google server generate出黎的一段好长既码, 用黎做push既时候 identify member (A) 的 device?


因为本人工作一向只做开network infra. 无咩做过programming....所以若有详细少少完整既教学会比较易明......many thanks!

[ 本帖最后由 steven430 於 2013-10-22 04:46 PM 编辑 ]

作者: steven430   发布时间: 2014-01-18

引用:原帖由 a8d7e8 於 2013-10-22 03:21 PM 发表
其中一个可行流程:

1. Client register to gcm and obtain a registrant id, store to persistent storage.
2. Client place an order to server, embed the registrant id as one of the parameter.
3. Server ...
我心目中的app...包含以下角色:
A - 会落order的 client
B - 处埋order, client info, member info, push msg to GCM 的 server
C - 收order request 的 members

我最想做到既流程系:
Client A 先reg. their device to google server, get 到 register ID 后,我要save 起佢到 Server B, 在database 内找出合适的 Member C (可能有成几十至一百个), 之后将message 连同target device 的 "register id" send to GCM server, GCM server 就会根据 device id send out, 咁我的 target Member C 就会将到notify (甚至device已离开我个app都可以收到notify)....

以上的flow有问题吗? 最想就系搵到每一part的example.....不过....我都靠我自己搵有点难....故上黎向各师兄求救....

作者: steven430   发布时间: 2014-01-18

唔知你无睇定睇唔明我o翕乜.....

答返你问题算:

>问题:
>(a) 如何能在app中令device 向google取得 device id?

你搵到个 GCM-Cordova phonegap plugin 做咗了


>(b) 有些人又话要用 third party site 帮手做push的动作 e.g. www.pushwoosh.com, 但有些又话只需用google的server就可以...

pushwoosh 可能 supports both Android and IOS. 只讲 Android, 只需用 Google 的 server 就可以亦都啱.

>(c) 有没有由头开始,完整的实作 site 可供参考? 因好多外国site 只做一部份...对於我这些新手来说....很难明白整个full picture...

有时 full picture 就系由 fragments 逐啲逐啲砌出嚟. 莫讲新手, 老手如我都系咁.

如果睇完官网都唔明, 即系有啲嘢唔需要知, 因为弹性实在太大, 你想点都得.

怕玩 puzzle O徒时间? 净系空想唔砌先O徒时间. Puzzle 就系砌下砌下最后变成 whole picture.
引用:原帖由 steven430 於 2013-10-22 17:04 发表

我心目中的app...包含以下角色:
A - 会落order的 client
B - 处埋order, client info, member info, push msg to GCM 的 server
C - 收order request 的 members

我最想做到既流程系:
Client A 先reg. thei ...

作者: a8d7e8   发布时间: 2014-01-18

引用:原帖由 a8d7e8 於 2013-10-22 05:29 PM 发表
唔知你无睇定睇唔明我o翕乜.....

答返你问题算:

>问题:
>(a) 如何能在app中令device 向google取得 device id?

你搵到个 GCM-Cordova phonegap plugin 做咗了


>(b) 有些人又话要用 third party ...
师兄.....当然有睇你的回覆....

1. Client register to gcm and obtain a registrant id, store to persistent storage. <- persistent storage 是否指store 在 client mobile device?
2. Client place an order to server, embed the registrant id as one of the parameter.
3. Server process all orders in batch, pushing notification message for each orders. <- 意思是否我的database server send message and registrant id to google gcm server, then, gcm server push the message to target devices?
4. Client can receives the notification properly.无错.....我都觉得要试下开始砌code...之后相信会遇到不少问题...到时再请教大家......但请问以上4 parts...有无website 可介绍.....我可以慢慢follow 黎做.......? Many thanks ah~!!!

[ 本帖最后由 steven430 於 2013-10-23 12:49 PM 编辑 ]

作者: steven430   发布时间: 2014-01-18

引用:原帖由 steven430 於 2013-10-23 02:27 发表

<- persistent storage 是否指store 在 client mobile device?
Yes, 详情睇 http://developer.android.com/google/gcm/client.html
引用:<- 意思是否我的database server send message and registrant id to google gcm server, then, gcm server push the message to target devices?
Yes, 问题系我见你用咗 "Client" 同 "Member" 呢两个名词.

你做 sourcing 呀?

Client 系 customer, 用 android device
Member 系 supplier, 用 android device

customer 要货, 通知有呢只货的 suppliers...........

你个 case 咪系最好既 example 囉, 又唔讲出来.

咁即系起码有两套 apps 啦? 一套 for Client, 一套 for Member?

作者: a8d7e8   发布时间: 2014-01-18

引用:原帖由 a8d7e8 於 2013-10-23 01:20 PM 发表
Yes, 详情睇 http://developer.android.com/google/gcm/client.html


Yes, 问题系我见你用咗 "Client" 同 "Member" 呢两个名词.

你做 sourcing 呀?

Client 系 customer, 用 android device
Member ...
师兄, 其实我公司业务类似 sourcing.....当客户有request落order...我地要尽快帮佢找出适合的supplier....因为公司资源问题....无专登请programmer...老细见我系负责IT (虽然其实我只系负责 network infra.)....咪叫我试下.....

师兄...唔好意思, 因为始终关乎公司业务...不能公开太多运作上的流程....我明白若能清楚讲所以info.会比较好...但我老细怕俾对手抄桥....

至於...是否应该用2个apps做...我之前未详细谂.....听你咁讲...好似真系用2套apps 会比较合理喎.....

最后, 师兄提供的link其实我都有睇过....但想问下....若我想用phonegap....呢个page所教既方法...系咪会唔arm 用?

Many thanks!!!

作者: steven430   发布时间: 2014-01-18

:O:O:O:O
你老细一方面惊俾人抄, 另一方面想抄人.

唯有睇下 keith 兄帮唔帮到你啦.
引用:原帖由 steven430 於 2013-10-23 23:21 发表

师兄, 其实我公司业务类似 sourcing.....当客户有request落order...我地要尽快帮佢找出适合的supplier....因为公司资源问题....无专登请programmer...老细见我系负责IT (虽然其实我只系负责 network infra.)....咪 ...

作者: a8d7e8   发布时间: 2014-01-18

1. 我唔系太明点解要3rd party server? 系因为迟d有机会写ios, 所以想跳多步先? 如果只系android device, 只要将reg_id+msg curl去GCM就得.
3. 我谂你要试下写左plugin先, 因为即使俾你搵到how-to tutorial, 都系完成左个task就算, 之后仲有好多exception handling要自己搞.
4. 基本概念对, 不过sender id != application id

其实睇左你之后d回覆, 如果公司资源问题, 点解仲要写apps? 简单email已经解决左你个问题. 就算俾你写到个apps出黎, 你仲要处理version的问题, 你公司俾唔俾到2.x - 4.3的device你做testing, bug fix?
你又有无信心如果有bug report, 可以短时间之内解决? 你d客应该唔会等到你用1个星期去fix

如果你仍然要写, 不如你试下逐个task写, 有问题再上黎问啦, 如果俾个complete solution俾你我要收钱嫁

作者: KeithKwong   发布时间: 2014-01-18

引用:原帖由 a8d7e8 於 2013-10-24 11:43 AM 发表
:O:O:O:O
你老细一方面惊俾人抄, 另一方面想抄人.

唯有睇下 keith 兄帮唔帮到你啦.

haha...都唔系既.....佢又唔系想抄人....只系叫我study一下....我又完全唔识...咪唯有周围问人law.....好彩呢度有师兄俾意见....

作者: steven430   发布时间: 2014-01-18

引用:原帖由 KeithKwong 於 2013-10-24 12:54 PM 发表
1. 我唔系太明点解要3rd party server? 系因为迟d有机会写ios, 所以想跳多步先? 如果只系android device, 只要将reg_id+msg curl去GCM就得.
3. 我谂你要试下写左plugin先, 因为即使俾你搵到how-to tutorial, 都系完 ...
无错...其实最后想support 埋 ios...所以先决定用phonegap唔使学2样language.....

我都明逐个task写会好d....正如另一师兄讲....点都要开始试下先.....睇下遇到咩问题...再上黎问各位师兄! 谢谢!

作者: steven430   发布时间: 2014-01-18

热门下载

更多