2012年4月27日 星期五

C2DM Server(for PHP) (3)

更新:2013/04/01

發現有很多人搜尋到這篇,C2DM已經更名為GCM(Google Cloud Messaging for Android)

幫大家到找一個比較詳細的說明及操作,大家參考吧


參考資料:

http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

=========================================================================================================================================


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






沒有留言:

張貼留言