2019-05-11|閱讀時間 ‧ 約 7 分鐘

用 Parse SDK 做 Push Notification

    轉移自 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" /> 

    就大功告成啦!
    分享至
    成為作者繼續創作的動力吧!
    © 2024 vocus All rights reserved.