消息推送(BMOB實現)


  消息推送在Android的APP中非常常用。在此記錄一個能夠輕松實現消息推送后台的實現方法。

  首先在BMOB注冊賬號、應用啥的就不好說了。直接開始說怎么實現。

  一、下載然后導入Bmob的jar包。

  二、獲取相關權限

    <permission android:protectionLevel="normal" android:name="cn.bmob.permission.push"></permission>
    <uses-permission android:name="cn.bmob.permission.push"/><!-- 添加自定義的權限-->
    <uses-permission android:name="android.permission.READ_LOGS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />

  三、注冊相關的Service和Broadcast

        <service
            android:label="PushService"
            android:name="cn.bmob.push.lib.service.PushService"
            android:process="cn.bmob.push"
            android:permission="cn.bmob.permission.push"
            android:exported="true">
            <intent-filter>
                <action android:name="cn.bmob.push.lib.service.PushService"/>
            </intent-filter>
        </service>

        <receiver android:name="cn.bmob.push.PushReceiver" >
            <intent-filter android:priority="2147483647" ><!--優先級加最高-->
                <!-- 系統啟動完成后會調用 -->
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <!-- 解鎖完成后會調用 -->
                <action android:name="android.intent.action.USER_PRESENT" />
                <!-- 監聽網絡連通性 -->
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
            </intent-filter>
        </receiver>

  四、注冊一個自己的廣播接收器用來處理推送來的消息  

public class MyPushReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(PushConstants.ACTION_MESSAGE)){
            Toast.makeText(context,intent.getStringExtra(PushConstants.EXTRA_PUSH_MESSAGE_STRING),Toast.LENGTH_SHORT).show();
        }
    }
}
        <receiver android:name=".Receiver.MyPushReceiver">
            <intent-filter>
                <action android:name="cn.bmob.push.action.MESSAGE"/>
            </intent-filter>
        </receiver>

五、啟動推送服務

在你的應用程序主Activity中調用如下方法:

    // 使用推送服務時的初始化操作
    BmobInstallation.getCurrentInstallation(this).save();
    // 啟動推送服務
    BmobPush.startWork(this, "你的AppKey");

代碼中的"你的AppKey"就是你在Bmob后台中創建的應用程序的AppKey,如果你不知道這是什么,可以參考快速入門文檔中的注冊Bmob賬號部分。

六、在web端進行推送設置

在應用面板-->消息推送-->推送設置界面中填寫包名進行保存。 

七、在web端推送消息

完成以上步驟后,你可以運行應用程序,從web推送一條消息給客戶端。 

  

  值得注意的是,這個BMOB推來的其實還是json格式的,得自己解析嘍~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM