天天看點

【Android】Parse Push快速入門指南

一、準備

關于Parse的介紹,參考本文文末的連結(每月100萬條免費Push)。首先你需要建立一個Parse賬戶,然後建立一個應用,最後下載下傳SDK,解壓并将jar拷貝到libs目錄即可。

二、 在你Application類的onCreate方法中調用Parse.initialize,如下:

 import android.app.Application;

 import com.parse.Parse;

 public class MyApplication extends Application {

   public void onCreate() {

     Parse.initialize(this, "your application id", "your client key");

   }

 }

  登入并建立好應用後,點選網頁頂部的Quickstart就能進入本文的英文版本,并且已經給你填充好了applicationid和key,直接複制到程式裡面即可。

三、AndroidMainfest.xml設定

這裡設定權限、廣播、Service等。 

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<uses-permission android:name="android.permission.VIBRATE" />

 <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>

  注意别加錯地方。

四、訂閱Push通知

PushService.subscribe(this, "", YourActivity.class);

PushService.setDefaultPushCallback(this, YourActivity.class);

  注意:

a)、最後一個參數YourActivity.class,是指點選工作列推送消息時接收處理的Activity,可以從getIntent中取到推送資料,例如 :

com.parse.Channel:null 

com.parse.Data:{"alert":"test","push_hash":"098f6bcd4621d373cade4e832627b4f6"}

b)、這段代碼也可以放到Application裡面,放在Parse.initialize後面。

c)、以廣播的形式接收JSON資料:

    public class MyCustomReceiver extends BroadcastReceiver {

    private static final String TAG = "MyCustomReceiver";

      @Override

      public void onReceive(Context context, Intent intent) {

        try {

          String action = intent.getAction();

          String channel = intent.getExtras().getString("com.parse.Channel");

          JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));

          Log.d(TAG, "got action " + action + " on channel " + channel + " with:");

          Iterator itr = json.keys();

          while (itr.hasNext()) {

            String key = (String) itr.next();

            Log.d(TAG, "..." + key + " => " + json.getString(key));

          }

        } catch (JSONException e) {

          Log.d(TAG, "JSONException: " + e.getMessage());

        }

      }

    }

五、其他

a). 測試過程中發現,按照快速開發文檔,最後點Send Temp Push沒用,還以為失敗了,直接進入應用背景的Push Notifications,點選Send a push,然後就可以發送消息了。發送成功一次後,後面都很快了。

b). 注意要在背景Settings的Push notifications中啟用Client push,設定為ON即可。 

c). Parse Push支援IOS和Android的通知服務。 

d). 1.3後好像要加以下代碼:(2013-06-12更新)

ParseInstallation.getCurrentInstallation().saveInBackground(); 

六、相關文章

<a href="http://springapple.diandian.com/post/2011-12-15/12465093">Parse 是一個比較完善的專為您的IOS和Android應用而設計的後端平台</a>

繼續閱讀