跳到主要內容

Parse SDK 做 Push Notification

Parse SDK 做 Push Notification

http://katewin.logdown.com/posts/201924-using-parse-sdk-for-push-notification
Parse 官網: https://parse.com/
它提供的不只有推播訊息,還有其他功能,例如雲端資料建置,這會在下次介紹。
SDK 和官方說明文件必須註冊後才能取得。
目前筆者主攻 Android ,所以以下都針對 Android 開發部分介紹。
進到官方導引頁面之後,可以看到有兩個選擇,其實選哪個都沒差。
選擇空的專案,只是會讓你下載一個已經放好 SDK 的空 Android 專案。

螢幕快照 2014-05-29 上午11.56.21.png
而已存在的專案,只要把下載好的 SDK 解壓縮到專案的 libary 資料夾即可。
螢幕快照 2014-05-29 下午12.44.55.png
接下來就是程式碼的設定。
因為它的啟動是放在整個應用裡,所以要先新建一個 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" />

就大功告成啦!

這個網誌中的熱門文章

正確設置404頁面及其他.505,500....

正確設置404頁面 404頁面的設置是否正確直接關係到網站粘性,而現在很多網站的錯誤頁面返回碼都是200和302,只要蜘蛛爬行錯誤頁面不是404,那麼你的404頁 面設置就是錯誤的了,這裡跟大家介紹如何正確設置404頁面。 怎麼正確設置404頁面?很多人看到這個話題可能覺得下文不屑一顧,其實你是否知道自己的404頁面有沒有設置正確呢?很多開源的cms系統和博客 系統都會帶有404頁面,你是不是覺得這樣已經ok了?不用設置了?這些想法是錯誤的,我們做優化的時候,應該測試404頁面時候生效,設置是否正 確等。下面我們詳細說明怎麼設置404頁面。 這先說一下怎麼樣的404頁面才是有效的404頁面。大家應該都知道搜索引擎是通過http狀態碼來識別網頁狀態的,那麼當蜘蛛檢索到一個錯誤鏈 接時,就需要返回404狀態碼來告訴搜索引擎,這個頁面是錯誤頁面,以後不用索取了。而如果返回200,則告訴搜索引擎這個頁面是正常頁面。 所以我們要查看網站錯誤頁面的返回碼是200還是404,而現在很多網站的404頁面返回碼是200而不是404.    那怎麼正確設置404頁面?

Mac OS X Server 架設兩個網站、兩個郵件伺服器

from:http://www.bnw.com.tw/conference/viewtopic.php?t=208 我的需求要更簡單。  朋友的工作室就兩三人而已,另外一個工作室也是兩三人。  希望有屬於自己的網站及網域名稱郵件  www.123.com   abc@123.com  

無法在Mac Os X 中移動、解除鎖定、修改或複製項目

您可能無法移動、複製或拖移項目。您可能無法解除鎖定一些項目。 秘訣 :如需刪除檔案與清空垃圾桶的說明,請另外參閲 無法清空垃圾桶或將檔案移至垃圾桶 。 本文件的主題屬於兩大常見問題之一。 秘訣 :有時無法從某個位置移動項目或將項目移至某個位置是正常的。Mac OS X 會限制某些檔案夾 (包括應用程式、程式庫以及系統) 的存取,以保持作業系統和使用者資料的完整性。 問題 1 如果您在 Mac OS X 10.2 或以上版本中試著移動檔案,然後出現訊息:「因為項目 (項目名稱) 已鎖定,所以無法完成此作業。」 如果您試著修改項目的權限,可能會出現訊息:「無法完成此作業,發生無法預期的錯誤 (錯誤碼 1)。」 如果您將一個卷宗拷貝成另一個卷宗,例如將卷宗的圖像拖移至另一個圖像上,或拖移至其所有的視窗之一,就可能會發生此問題。 問題 2 出現包含下列訊息之一的提示框: