2015年6月24日 星期三

Android-Parse Push 推波( Receiver )( 一 )

想必大家對推波不陌生吧
但距離上一次使用已經是1-2年前了
官方雖然已經出最新的SampleCode (AndroidStudio版本)
想必有些大大想要更精簡的版本吧

官方文件 : 連結
官方SDK : 連結

首先下載官方SDK

-----  匯入相對應的Jar -----
在SDK檔案底下找
重點是以下這兩個Jar( 只是Sample,非完整版本 ) :
1.9.2 版本
  1. bolts-android-1.2.0.jar
  2. Parse-1.9.2.jar 
  3. ParseCrashReporting-1.9.2.jar
1.10.2
  1. PPNS-1.10.2.jar
  2. compile 'com.parse:parse-android:1.10.1'
  3. compile 'com.parse.bolts:bolts-android:1.2.1'
1.10.3
    連結 : Box
-----  新增Application -----

public class MyApplication extends Application
{
    private static final String ApplicationID = "Your ID";
    private static final String ClientKey = "Your Key";

    @Override
    public void onCreate()
    {
        super.onCreate();
        Parse.initialize(this, ApplicationID, ClientKey);

        //initialized some stuff..
        
        ParsePush.subscribeInBackground("若加文字內容,代表指定接收頻道", 
            new SaveCallback()
        {

            @Override
            public void done(ParseException e)
            {
                if (null == e)
                {
                    ParseInstallation install = 
                        ParseInstallation.getCurrentInstallation();
                        
                    String token = install.getString("deviceToken");
                    //do some stuff with it...
                }
            }
        });
        ParseInstallation.getCurrentInstallation().saveInBackground();
        //some more stuff
    }
}

-----  AndroidManifest.xml 新增權限與服務 -----
  • 權限
<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" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
  • 服務與監聽
<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.ParsePushBroadcastReceiver"
     android:exported="false" >
         <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.OPEN" />
                <action android:name="com.parse.push.intent.DELETE" />
          </intent-filter>
</receiver>

  • 註冊Application
<application
    android:name=".MyApplication"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    .
    .
    .

如果遇到在Parse上錯誤
裡面有 ParseLog SDK 可以使用

Parse.setLogLevel(Parse.LOG_LEVEL_VERBOSE);

Parse.initialize(this, ApplicationID, ClientKey);

下一回會在介紹如果收到Parse Push如何處理。

參考資料 : PushService

歡迎轉載,請註明出處。


沒有留言:

張貼留言