轉移自 LogDown 原文日期 May 29, 2014 13:34,現今 Parse 官方 server 已關閉,僅提供 SDK 自架 Server
Parse 官網: https://parse.com/
它提供的不只有推播訊息,還有其他功能,例如雲端資料建置,這會在下次介紹。
SDK 和官方說明文件必須註冊後才能取得。
目前筆者主攻 Android ,所以以下都針對 Android 開發部分介紹。
進到
官方導引頁面之後,可以看到有兩個選擇,其實選哪個都沒差。
選擇空的專案,只是會讓你下載一個已經放好 SDK 的空 Android 專案。
而已存在的專案,只要把下載好的 SDK 解壓縮到專案的 libary 資料夾即可。
接下來就是程式碼的設定。
因為它的啟動是放在整個應用裡,所以要先新建一個 MyApplication.java 檔案。
MyApplication.java public class MyApplication extends android.app.Application { @Override public void onCreate() { super.onCreate(); Parse.initialize(this, applicationId, clientKey); PushService.setDefaultPushCallback(this. MainActivity.class); ParseInstallation.getCurrentInstallation().saveInBackground(); } }
applicationId 和 clientKey 在網頁裡都有提供, MainActivity 是你應用裡主要的Activity。
別忘了建立好之後在 AndroidManifest.xml 的 application 標簽裡加上去。
AndroidManifest.xml <application ...... android:name=".MyApplication" >
啟動完成再來就是設定接收 push 的部分了,請加在 AndroidManifest.xml 裡的 application 標簽之間。
com.parse.starter 的部分要替換成你的 package 。
AndroidManifest.xml <service android:name="com.parse.PushService" /> <receiver android:name="com.parse.ParseBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.USER_PRESENT" /> </intent-filter> </receiver> <receiver android:name="com.parse.GcmBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> <!-- IMPORTANT: Change "com.parse.starter" to match your app's package name. --> <category android:name="com.parse.starter" /> </intent-filter> </receiver>
最後是打開權限,加在 AndroidManifest.xml 裡的 manifest 標簽之間。一樣要注意 com.parse.starter 的部分。
AndroidManifest.xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <!-- IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below to match your app's package name + ".permission.C2D_MESSAGE". --> <permission android:protectionLevel="signature" android:name="com.parse.starter.permission.C2D_MESSAGE" /> <uses-permission android:name="com.parse.starter.permission.C2D_MESSAGE" />
就大功告成啦!