Delphi APP 開發入門(七)通知與雲端推播
Delphi APP 開發入門(七)通知與雲端推播
發表時間:2014/06/18|
Delphi APP 開發入門(六)Object Pascal 語法初探 << 前情 今天教大家使用的是通知(Notification)功能,在Delphi XE6很貼心的也將通知的功能封裝成元件,只要簡單的設定屬性就可以使用了。我們以簡單的篇幅教大家快速使用程式的通知功能,在後面我們會以比較大的篇幅放在Google Cloud Messaging(GCM)搭配Kinvey的BAAS服務(Backend as a Service)實做出推播通知(Push Notification)功能。 通知Notification在Delphi XE6使用通知功能相當簡單,只要在表單上放置TNotificationCenter(通知中心)元件就可以了!接著顯示通知的方式也相當簡單。
一、馬上出現通知訊息 procedure TForm1.Button1Click(Sender: TObject); 二、排程十秒後顯示通知 procedure TForm1.Button2Click(Sender: TObject); 三、取消排程訊息 procedure TForm1.Button3Click(Sender: TObject); 執行如下 推播通知Push Notification接下來我們要談的是推播通知,當APP不在前景執行時,能夠用自己的平台或伺服器發送通知給行動的一項技術。在iOS平台上有APNS(Apple Push Notification Service),而Android平台上則叫做GCM(Google Cloud Messaging),在今天我們先以Android的GCM搭配BaaS服務Kinvey為例子。 Google Cloud Messaging1.進入網站 https://console.developers.google.com
五、點選建立新的金鑰
六、點選伺服器金鑰
七、如果沒有特別允許使用IP可以略過後按建立就行了
八、一樣要記得API金鑰 kinvey申請在行動裝置的開發領域目前有個BaaS(後端即服務:Backend as a Service)的技術概念。BaaS是指為行動裝置開發者提供整合雲端的基礎服務,像是資料/文件的儲存或是帳號管理、訊息推送、社群網路整合等…. 2.註冊帳號只要電子郵件跟密碼就行了
3.點選Individual 個人帳戶的Get Started即可
4.接著建立一個新的專案,平台的話選擇Other(其他)的REST API即可 6.接著我們要建立可以存取服務的使用者,點選上面的Addons,在Core內有Users點入 7.接著點選Add User新增使用者 8.只要輸入帳號密碼就可以,我們建立一個test使用者 9. 建立完成後可以看見使用者列表
10.接著建立待會使用的 Push Notification,一樣在Addons的目錄下有一個Messaging,裡面有一個Push
11.接著我們將剛才在Google控制台的專案編號填入Project ID、API金鑰填入API Key,接著按下Save GCM Configuration。右上角會由inactive轉為active。這樣就完成了相關的申請跟設定,不過先別關掉它。等等會再使用到! 程式開發1.我們延續剛才的通知範例,在畫面加上ListView元件,將Align設為Bottom
2.接著在畫面上放上二個元件,一個是TKinveyProvider以及TPushEvents
3.PushEvents1中的AutoActivate、AutoRegisterDevice設為True以及Provider指定KinveyProvider1
4.設定 OnPushReceived事件,在裡面的程式寫上
procedure TForm1.PushEvents1PushReceived(Sender: TObject; 5.接著在KinveyProvider1設定相關參數 6.最後開啟專案目錄下的AndroidManifest.template.xml(這個檔案是Delphi編譯過程中產生AndroidManifest.xml的範本檔。 在幾個位置加入設定 <!-- GCM connects to Google Services. --> .</intent-filter></activity> 後面加上 <receiver 接著就可以執行程式了! 可以看到程式的Listview會出現推播的訊息。
最後附上原始碼 |
按讚!加入 CodeData Facebook 粉絲群
Delphi APP 開發入門(七)通知與雲端推播的更多相关文章
- Delphi APP 開發入門(六)Object Pascal 語法初探
Delphi APP 開發入門(六)Object Pascal 語法初探 分享: Share on facebookShare on twitterShare on google_plusone_sh ...
- Delphi APP 開發入門(八)SQLite資料庫
Delphi APP 開發入門(八)SQLite資料庫 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次 ...
- Delphi APP 開發入門(五)GPS 定位功能
Delphi APP 開發入門(五)GPS 定位功能 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數 ...
- Delphi APP 開發入門(四)簡易手電筒
Delphi APP 開發入門(四)簡易手電筒 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:32 ...
- Delphi APP 開發入門(十)REST Client 開發
Delphi APP 開發入門(十)REST Client 開發 分享: Share on facebookShare on twitterShare on google_plusone_share ...
- Delphi APP 開發入門(九)拍照與分享
Delphi APP 開發入門(九)拍照與分享 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:30 ...
- Delphi APP 開發入門(三)簡易計算機
Delphi APP 開發入門(三)簡易計算機 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:68 ...
- Delphi APP 開發入門(二)Android/iOS設定,Hello World
Delphi APP 開發入門(二)Android/iOS設定,Hello World 分享: Share on facebookShare on twitterShare on google_plu ...
- Delphi APP 開發入門(一)重生的 Delphi
Delphi APP 開發入門(一)重生的 Delphi 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀 ...
随机推荐
- Linq系列(5)——表达式树之案例应用
在进入今天的正题之前,先感慨下本人的blog的人气一篇不如一篇.再加上换公司后人身自由受到了比之前大得多得多的限制,实在令本人有些郁闷.不过每次提笔写些东西跟大家分享,总是能让我感到愉悦和欣慰,希望我 ...
- 【转】C++ Incorrect Memory Usage and Corrupted Memory(模拟C++程序内存使用崩溃问题)
http://www.bogotobogo.com/cplusplus/CppCrashDebuggingMemoryLeak.php Incorrect Memory Usage and Corru ...
- Codeforces Round #311 (Div. 2) A,B,C,D,E
A. Ilya and Diplomas 思路:水题了, 随随便便枚举一下,分情况讨论一下就OK了. code: #include <stdio.h> #include <stdli ...
- 苹果使用蓝汛CDN网络分发ios8
2014年9月18日凌晨,苹果公司公布了全新的ios8系统正式版.不出所料的引发了空前高涨的"果粉"下载热潮.引爆整个苹果界. ios8被业内称为"自Ap ...
- Spring_day04--SSH框架整合过程
SSH框架整合过程 第一步 导入jar包 第二步 搭建struts2环境 (1)创建action,创建struts.xml配置文件,配置action (2)配置struts2的过滤器 第三步 搭建hi ...
- STL map 的 key 元素
在做 compiler 语义分析时, 需要用到 map<?,?> 在别人的代码上做扩展, 所以有些代码是不能动的 这时, 需要一个 map<symbol,int> 的数据结构, ...
- String、StringBuffer与StringBuilder区别
1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.String <(StringBuffer,StringBuild ...
- 第五篇:CUDA 并行程序中的同步
前言 在并发,多线程环境下,同步是一个很重要的环节.同步即是指进程/线程之间的执行顺序约定. 本文将介绍如何通过共享内存机制实现块内多线程之间的同步. 至于块之间的同步,需要使用到 global me ...
- Android之检查网络是否可用(跳转网络设置页面)
private boolean NetWorkStatus() { ConnectivityManager cwjManager = (ConnectivityManager) getSystemSe ...
- 【BZOJ2879】[Noi2012]美食节 动态加边网络流
[BZOJ2879][Noi2012]美食节 Description CZ市为了欢迎全国各地的同学,特地举办了一场盛大的美食节.作为一个喜欢尝鲜的美食客,小M自然不愿意错过这场盛宴.他很快就尝遍了美食 ...































