用 LightSpeed 做 Push Notification

更新於 發佈於 閱讀時間約 8 分鐘
轉移自 LogDown 原文日期 May 30, 2014 10:14
之前介紹過用 Parse 來做 push,這次換成另一家服務廠商。
Lightspeed 官網: http://www.lightspeedmbs.com/
它是由 arrownock 延伸而來的,專職於推播和即時訊息。
SDK 和官方說明文件必須註冊後才能取得。
目前筆者主攻 Android ,所以以下都針對 Android 開發部分介紹。
它的推播可以用 gcm 的方式也可以用 Lightspeed 自己的服務,筆者採用的是後者。

官方文件 提供的是 SDK 裡面 method 的用法。
官方導引頁面 已經有一陣子未更新,所以有些部分已不符合現況,比如說管理控制台裡面並沒有地方可以設定 Android App package 。

將下載好的 SDK ,也就是 jar 檔,放到專案的 libary 資料夾。

因為它的啟動是放在整個應用裡,所以要先新建一個 MyApplication.java 檔案。
值得注意的是: 註冊的頻道至少要有一個,否則會註冊無效。 筆者曾經痛苦的卡在這裡。

MyApplication.java public class MyApplication extends android.app.Application { @Override public void onCreate() { super.onCreate(); List channels = new ArrayList(); //must at least one channel channels.add("android"); try { /* * connection default use https, if devices not support, do this * AnPush.getInstance(getBaseContext()).setSecureConnection(false); */ AnPush.getInstance(getBaseContext()).register(channels); AnPush.getInstance(getBaseContext()).enable(); } catch (ArrownockException ex) { Log.e(TAG, ex.getMessage()); } } }

別忘了建立好之後在 AndroidManifest.xml 的 application 標簽裡加上去。

AndroidManifest.xml <application ...... android:name=".MyApplication" >

啟動完成再來就是設定接收 push 的部分了,請加在 AndroidManifest.xml 裡的 application 標簽之間。
MainActivity 的部分要換成負責接收的 Activity 全路徑,比如說: com.example.MainActivity
arrownock_key 的部分請填從網頁(路徑一般是/settings/keys)拿到的 key 。

AndroidManifest.xml <meta-data android:name="com.arrownock.push.SERVICE_TYPE" android:value="ARROWNOCK" /> <meta-data android:name="com.arrownock.APP_KEY" android:value="arrownock_key"/> <meta-data android:name="com.arrownock.push.KEEPALIVE_INTERVAL_WIFI" android:value="14" /> <meta-data android:name="com.arrownock.push.KEEPALIVE_INTERVAL_2G" android:value="4" /> <meta-data android:name="com.arrownock.push.KEEPALIVE_INTERVAL_3G" android:value="4" /> <service android:name="com.arrownock.push.PushService" /> <receiver android:name="com.arrownock.push.PushBroadcastReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.intent.action.USER_PRESENT" /> <action android:name="com.arrownock.push.PushService.MSG_ARRIVAL" /> <category android:name="android.intent.category.HOME" /> </intent-filter> <meta-data android:name="com.arrownock.push.BroadcastReceiver.ArrivalActivity" android:value="MainActivity" /> </receiver>

最後是打開權限,加在 AndroidManifest.xml 裡的 manifest 標簽之間。

AndroidManifest.xml <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" />

趕快去測試是不是已經可以收到推播啦!

留言
avatar-img
留言分享你的想法!
avatar-img
Kate的沙龍
7會員
45內容數
和 Kotlin 相關的系列文章。 給程式初學者的「Kotlin 學習系列」 給正在實戰的工程師「Kotlin 實戰系列」
Kate的沙龍的其他內容
2023/03/22
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
2023/03/22
比起說這是新技術,不如說是統一前端規格。 以前在不同框架下,類似功能的東西名字各不相同。比如輸入文字的物件,Android叫做EditText,iOS叫做UITextField,Html叫做TextBox或是input標籤。 這讓跨平台的開發者非常痛苦,痛不欲生。 而統一規格意味著,只要專心寫一套程
2022/10/23
https://discord.gg/8GRF3YsG?event=1033340341711028224 今天(10/23)晚上七點: 《老姐要用 Kotlin 寫專案》作者分享如何把小說和技術文整合在一起。 連續三年都用Kotlin參加IT邦鐵人賽的心得分享。 關於書本、鐵人賽文章、任何遇到的K
2022/10/23
https://discord.gg/8GRF3YsG?event=1033340341711028224 今天(10/23)晚上七點: 《老姐要用 Kotlin 寫專案》作者分享如何把小說和技術文整合在一起。 連續三年都用Kotlin參加IT邦鐵人賽的心得分享。 關於書本、鐵人賽文章、任何遇到的K
2022/09/08
當初第一次參賽就得獎出書,就養成了每年都參加的習慣,今年是第三年了,這次寫的是《不解題就不能離開的房間》系列。 這還滿有趣的,三十天每天只要三百字,將自己的技術寫出來分享,就有機會出書。
2022/09/08
當初第一次參賽就得獎出書,就養成了每年都參加的習慣,今年是第三年了,這次寫的是《不解題就不能離開的房間》系列。 這還滿有趣的,三十天每天只要三百字,將自己的技術寫出來分享,就有機會出書。
看更多
你可能也想看
Thumbnail
中華電信和日本電信電話公司(NTT)合作推進創新全光和無線網路(IOWN)技術,中華電信積極參與這一合作,NIT計劃開發降低耗電的光半導體,擴大了數據中心設置選擇範圍。NTT積極構建國際框架,與美國展開合作,日本政府開放了研究開發成果。
Thumbnail
中華電信和日本電信電話公司(NTT)合作推進創新全光和無線網路(IOWN)技術,中華電信積極參與這一合作,NIT計劃開發降低耗電的光半導體,擴大了數據中心設置選擇範圍。NTT積極構建國際框架,與美國展開合作,日本政府開放了研究開發成果。
Thumbnail
LINE 在台灣有許多人使用,是一天裡開啟次數最多的APP,是生活中最重要的社群平台。 但很多人不知道LINE官方有個免費推播訊息的服務LINE Notify
Thumbnail
LINE 在台灣有許多人使用,是一天裡開啟次數最多的APP,是生活中最重要的社群平台。 但很多人不知道LINE官方有個免費推播訊息的服務LINE Notify
Thumbnail
Google Maps的「藍牙隧道信標」功能已經針對 Android 用戶推出,並且已經在台灣推出[1][3]。 這項功能可以在沒有GPS信號的隧道中,透過藍牙獲得即時位置,進而進行導航。 使用者可以在「設定」>「導航設定」>「藍牙隧道信標」中授權位置信息來使用此功能[1][4]。
Thumbnail
Google Maps的「藍牙隧道信標」功能已經針對 Android 用戶推出,並且已經在台灣推出[1][3]。 這項功能可以在沒有GPS信號的隧道中,透過藍牙獲得即時位置,進而進行導航。 使用者可以在「設定」>「導航設定」>「藍牙隧道信標」中授權位置信息來使用此功能[1][4]。
Thumbnail
大家是否有過這樣的經驗:一整天的待辦事項眾多,設定了多個鬧鐘,當鬧鐘響起時,還得查看待辦事項才知道是提醒哪個事項。雖然可以透過為鬧鐘命名的方式處理這種情況,但有時候我們希望能更進一步自動化操作。在這種情況下,之前介紹過的「捷徑」功能就派上用場了。 具體操作流程如下: 設置一個鬧鐘,並設定提醒的時
Thumbnail
大家是否有過這樣的經驗:一整天的待辦事項眾多,設定了多個鬧鐘,當鬧鐘響起時,還得查看待辦事項才知道是提醒哪個事項。雖然可以透過為鬧鐘命名的方式處理這種情況,但有時候我們希望能更進一步自動化操作。在這種情況下,之前介紹過的「捷徑」功能就派上用場了。 具體操作流程如下: 設置一個鬧鐘,並設定提醒的時
Thumbnail
幫你擋廣告也擋抖音的域名伺服器
Thumbnail
幫你擋廣告也擋抖音的域名伺服器
Thumbnail
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們先來探討其中重要的一項:推播〔Push Notification。
Thumbnail
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們先來探討其中重要的一項:推播〔Push Notification。
Thumbnail
對數位遊牧的人來說網路分享的能源消耗在移動過程中是個需要留意的問題,自從換了 M1 的 Mac 之後,雖然電腦的續航力大增,但是因為沒辦法再使用 Android 手機進行網路分享,反而讓手機電力變成瓶頸,而且 wifi 基地台分享的方式產生的熱相當高,對手機也會有比較大的傷害
Thumbnail
對數位遊牧的人來說網路分享的能源消耗在移動過程中是個需要留意的問題,自從換了 M1 的 Mac 之後,雖然電腦的續航力大增,但是因為沒辦法再使用 Android 手機進行網路分享,反而讓手機電力變成瓶頸,而且 wifi 基地台分享的方式產生的熱相當高,對手機也會有比較大的傷害
Thumbnail
上面這兩個APP是Apple手機iOS常用的登山定位輔助APP: 1、「山林日誌」。 「MAPS.ME一離線地圖與導航,旅遊景點,規劃自己的路由」。 下方這三個APP是安卓系統手機常用的登山定位輔助APP: 「綠野遊蹤 - 登山、健行的好伙伴」。 「OruxMaps
Thumbnail
上面這兩個APP是Apple手機iOS常用的登山定位輔助APP: 1、「山林日誌」。 「MAPS.ME一離線地圖與導航,旅遊景點,規劃自己的路由」。 下方這三個APP是安卓系統手機常用的登山定位輔助APP: 「綠野遊蹤 - 登山、健行的好伙伴」。 「OruxMaps
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News