android studio 之 fcm 推播服務

35
Android Studio 之 FCM 之之之之

Upload: -

Post on 16-Jan-2017

245 views

Category:

Education


7 download

TRANSCRIPT

Page 1: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 2: Android studio 之 fcm 推播服務

學習主題• 社群成立目的簡介• 自我介紹與哈啦• 功力複習• 程式實作 (Android)

• 問題與交流

Page 3: Android studio 之 fcm 推播服務

個人簡介諸葛魔斌工作室:諸葛魔斌科技創作室學歷:高應大 --- 工管系 ( 非資訊科系 )E-Mail : [email protected]官方網站: http://twcts.comFacebook : https://goo.gl/volM7Z粉絲團 : https://goo.gl/LI08wh社群 : https://goo.gl/kjCsz1Line (id) : http://goo.gl/ayGW7dLine@ : http://goo.gl/pQHjWHLine Bot : http://goo.gl/ljdxfVPlay 商店: http://goo.gl/CkVdsdApp Store : http://apple.co/1Qehd64專長: VB(VBA) 、 C# 、 Java(Android) 、 Swift(iOS) 、 PHP 、 Python 、 Conrona 、 Golang 、 Unity 、 MySQL 、 FreeBSD 、 Server 架設、 CAD 、 ……

楊政斌

Page 4: Android studio 之 fcm 推播服務

學習程式的歷程學生時期:打電動,沒有日夜的界限二專畢業:初次接觸 dBase 、 Lotus 使用 Clipper 做經銷存、應收付帳系統

工作階段 1 :接觸 Office ,開始使用 Excel(Lotus)

工作階段 2 :品保工作,自學圖表、函數、 VBA ,做出自動化品管系統興趣展開:自學 VB ,製作 ERP 系統,接觸 Linux 、 FreeBSD ,自學架設 Server

諸葛魔斌誕生

大學時期:半自學 Android App(Java) 、 C# 、 iOS App(Swift)

工作轉變:成立諸葛魔斌科技創作室,接案學習,救國團電腦資訊講師實績:

Page 5: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務Firebase 是什麼?Firebase 是一個同時支援 Android 、 iOS 及網頁的 app 雲端開發平台,協助 app 開發者在雲端快速建置後端服務,提供即時資料庫,有效縮短 app 開發時間,並幫助開發者更專注在前端的優化,這次大幅改版後主要分成一個主要核心以及三大類功能:Firebase 數據分析功能( Firebase Analytics ): 強大的無限量數據分析功能正是 Firebase 的產品核心,目前是全免費使用,有預設的 500 種事件類型,提供無上限的事件記錄,還可以自定義關鍵事件以及使用者屬性,視覺化的的儀表板( Dashboard )讓使用者一眼看到所有最重要的使用者行為和行銷活動的成效分析。

Page 6: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務1.開發 (Develop) :使用 Firebase 打造高品質的 app ,安全且高效能,提供的後端服務包含即時資料庫( Realtime database )、簡單的身分驗證模組( Authentication )、雲端訊息( Cloud Messaging )、主機( Hosting )、檔案儲存( Storage )、及遠端配置( Remote Config ),並提供 Android 測試實驗室( Test Lab for Android )以及當機報告( Crash Reporting )等讓開發者可以輕鬆測試 app 在不同的 OS 與硬體裝置下的表現,快速發現問題並確保 app 運行品質。2.成長( Grow ): Firebase 讓開發者可以輕鬆設定訊息推播系統 ( notifications )、 app 索引功能( App Indexing )、動態連結( Dynamic Links )、 email 及 sms 邀請功能( Invites )、以及與 Google AdWords 的深度整合串接 app 行為資料,讓 app 開發者能提供更精準的廣告或溝通訊息給對的目標族群。3.獲利( Earn) :與自家產品 AdMob 整合,加入廣告聯播網,輕鬆放入廣告版位,以及多元化的廣告格式,以及更清楚的追蹤機制,幫助 app 開發者輕鬆獲利。

Page 7: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務1. 事件紀錄無上限這當然是對資源有限的初期開發者最重要的事,特別是如果你的使用者數量不斷成長卻預算有限,不像 Flurry 有事件記錄的限制( 300 Events for each app ), Firebase 有 500 種預設的事件類型,而且記錄總量無上限,還有只要使用 Firebase SDK,無需編寫額外的程式碼即可自動收集的事件例如:•First_open :使用者初次開啟應用程式時•In_app_purchase :當使用者透過 iTunes 的 App Store 或 Google Play 完成應用程式內購時。產品 ID 、產品名稱、幣別和購買數量會回傳到系統做為參數。•App_update :當應用程式更新為新版本並再次啟動時。應用程式前一版的版本 ID 會回傳到系統做為參數。•App_remove (僅限 Android ):當應用程式套件移除或從 Android 裝置中「解除安裝」時•os_update :當裝置的作業系統更新為新版本時。前一個作業系統的版本 ID 會回傳到系統做為參數。•App_exception : 當應用程式當機或擲回例外狀況時。•notification_open :當使用者開啟 Firebase 雲端通訊傳送的通知時。

Page 8: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務2. 支援原始資料自動匯出如果有巨量的資料處理分析需求, Firebase 有支援 BigQuery 的自動匯出功能 ( Google 雲端資料倉儲分析服務,可讓企業針對 PB 等級的資料執行類似 SQL 的分析查詢),在設定連結後,即可輕鬆存取未取樣的原始事件資料和所有參數及使用者屬性。一旦將 Firebase 應用程式連結到 BigQuery 專案, Firebase 數據分析會每日將事件資料匯出至對應的 BigQuery 資料集。 BigQuery 也可整合其他資料進行分析,像是將外部來源 ,例如顧客終身價值 (LTV) 等資料紀錄的資料加入 Fireba

Page 9: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務3. 可直接行動的分析工具•自訂目標對象( Custom Audiences ): Firebase 讓你可以按裝置、事件 (例如 session_start 或 level_up) 或使用者資源 (例如年齡、性別、語言 ) 來區隔使用者。在應用上可以推播給特定區隔,廣告上可將專案連結至 AdWords  之後,就可以將目標對象清單匯出到 AdWords ,更精準的投遞廣告,也可以和 AdMob 連結後,在 AdMob 中使用 Firebase 數據分析資料。

Page 10: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務•推播訊息( notification ):不再一定需要工程師, PM 和 行銷人員也可以學會使用 Firebase ,輕鬆設定傳送訊息與指定時間給指定目標對象或全部使用者,吸引使用者回訪應用程式、有效推廣行銷廣告活動,系統傳送訊息後,指定的用戶端裝置如果在背景執行該應用程式,就會在系統通知匣中收到通知。使用者點擊通知後,應用程式啟動器就會開啟應用程式。在自訂轉換追蹤後,也能輕鬆追蹤每一次推播的成效。

Page 11: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務•A/B Testing : Firebase 有強大的遠端設定( Remote Config )的功能可以讓使用者無須更新 APP 就可以看到新的 app 內容或外觀,開發者還可以設定只顯示更新給特定的目標對象,或甚至是隨機挑選一定比例的使用者,幫忙開發者更容易進行準確的 A/B 測試。

•動態連結 (Dynamic Links): Firebase 動態連結是應用程式中的深層連結( deep links )的進一步應用,動態連結可以設定使用者在不同 device 環境下開啟連結後觸發不同的動作, 開啟未安裝的應用程式中的動態連結,畫面上就會開啟該應用程式的 Play 商店網頁,方便使用者安裝應用程式,使用者安裝並開啟應用程式後,應用程式就會顯示深層連結抵達的內容,讓使用者體驗不中斷,因此可以針對不同行銷活動,不同目標族群設計客製化的抵達頁面,大幅提升新使用者體驗。在歸屬上,也能使用不同的動態連結,清楚掌握不同行銷渠道的成效。

Page 12: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務可能有很多朋友會問,同樣都是 Google 自己的分析產品,那老牌的 Google Analytics 不是也可以做 APP 的分析嗎?關於產品的定位和未來發展, Google 自己在官方部落格說的很清楚了:「 Firebase 分析功能現在是 Google 官方推薦針對行動分析工具的解決方案!」( Firebase Analytics is now Google’s recommended solution for mobile app analytics. )也建議大家如果同時有網站就使用 GA 做網站分析, Firebase Analytics 做 APP 分析。雖然由於產品仍然相當新,再加上免費無限的框架下,有很多功能還不盡完善,像是在儀表板缺乏時間的屬性來做進一步的篩選與分析,也沒辦法輸出成 CSV 自己做分析,需要透過 BigQuery ,還有 iOS 要等 24 小時才會有數據等等,但是相信對於資源缺乏的新創公司在考慮免費分析工具的選擇上,又兼具後端開發的功能, Firebase 仍不失為是有力的行動數據分析解決方案。

Page 13: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

https://console.firebase.google.com

Page 14: Android studio 之 fcm 推播服務

輸入專案名稱

Android Studio 之 FCM 推播服務

選擇台灣

Page 15: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 16: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 17: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 18: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 19: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 20: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 21: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 22: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 23: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Token ID綁定

Page 24: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

FCM 訊息接收服務

Page 25: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

FCM 接收警示內容

Page 26: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

權限取用判定

Page 27: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

權限取得服務

原 OnCreate 下內容

Page 28: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

點選 Notifiction

Page 29: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

發送 FCM 推播

Page 30: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

FCM 推播欄位

Page 31: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

FCM 推播欄位

訊息文字

選取程式 ( 專案 ID)

Page 32: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

Page 33: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務

FCM 推播訊息發出

Page 34: Android studio 之 fcm 推播服務

結論: 1. 使用 Google 帳號登入 FireBase

2. 產生 SHA1碼3. 產生正確的 google-services.json

6. 學習階段,務必一字一字『抄』,切勿『複製貼上』7. 大膽嘗試,好奇無罪8. 不怕失敗,學習除錯9. 勇於分享

4. 建立 FCM 接收訊息程式5. 發送訊息

Android Studio 之 FCM 推播服務

Page 35: Android studio 之 fcm 推播服務

Android Studio 之 FCM 推播服務