更新:2013/04/01
發現有很多人搜尋到這篇,C2DM已經更名為GCM(Google Cloud Messaging for Android)
幫大家到找一個比較詳細的說明及操作,大家參考吧
參考資料:
Server 這一端不管用什麼Server都可以,可以使用Google App Engine(GAE)或是PHP都可以
如果使用GAE可以參考KEN YANG http://blog.kenyang.net/2012/03/android-c2dm-sever.html
這裡主要以PHP為主,在C2DM我們需要前面提到SENDER_ID的Email和密碼
因為需要透過驗證得到Auth,透過那個Auth將訊息傳送出去,接下來實作。
我Google了一下發現有人已經有提供C2DM-PHP https://github.com/lytsing/c2dm-php
不過我使用過後發現不曉得是改版過後還是什麼問題,導致現在這個版本在讀取Auth時
會出現get auth token error錯誤,無法傳送訊息
因此我自己改寫了一下在這裡下載
我稍為節省了一個步驟,在一開始就先把基本資料輸入進去
$c2dm = new c2dm($useremail ,$useremail_passwd , $long_registration_id);
在這邊就會先去跟 https://www.google.com/accounts/ClientLogin 抓你的 auth
錯誤也會在這裡顯示
接著
$c2dm->sendMessage(1,"Hello World!!");
就可以把你的訊息傳送出去,就完成了
其中c2dm.php要注意一下 94行
'data.message' => $message //TODO: Add your data here.
data.message是data.[key],所以你Android MESSAGE_KEY_ONE 裡的字串是要一樣的
也就是說如果要改變數,PHP和Android兩邊的變數名稱要一樣
大功告成
有興趣可以到以下的參考連結:
http://blog.kenyang.net/2011/12/android-c2dm.html :)
http://blog.kenyang.net/2011/12/android-c2dm_22.html :P
http://blog.kenyang.net/2012/03/android-c2dm-sever.html :D
http://blog.kenyang.net/2012/03/android-c2dm-android.html XD
沒有留言:
張貼留言