Parse SDK 做 Push Notification
http://katewin.logdown.com/posts/201924-using-parse-sdk-for-push-notification
目前筆者主攻 Android ,所以以下都針對 Android 開發部分介紹。
進到官方導引頁面之後,可以看到有兩個選擇,其實選哪個都沒差。
選擇空的專案,只是會讓你下載一個已經放好 SDK 的空 Android 專案。
而已存在的專案,只要把下載好的 SDK 解壓縮到專案的 libary 資料夾即可。
![螢幕快照 2014-05-29 下午12.44.55.png](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_ssvaaF0wt99Ek1g8mWLKWQ6QzHyK2xSwA3CLxvQn1L0jsjUK3K6OnWMDsKyz4DOeTPhwfYyAzSubpaIQIvhUvllkw0ORsyB1WEUxNfuKVT02IZO8W2rjPoTwmLx2tdHDb5x3gbFZtONe0KCloMFJ6180N7jqAChQTLwMNKvX2VA4EGXmWk8EYx4_jVTsGxo1gu9R_dQZ5zcnOehDtPBxXACP7w-x7Tr48J0M4Ia-HTjYks2DwZ4ehVt-etPnhTzsPZ_YzLgInjfQ=s0-d)
接下來就是程式碼的設定。
接下來就是程式碼的設定。
因為它的啟動是放在整個應用裡,所以要先新建一個 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 標簽裡加上去。
<application
......
android:name=".MyApplication"
>
啟動完成再來就是設定接收 push 的部分了,請加在 AndroidManifest.xml 裡的 application 標簽之間。
com.parse.starter
的部分要替換成你的 package 。<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
的部分。<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" />
就大功告成啦!