XG(信鸽推送)
之前總監一直讓我看看推送,想在項目里面加一個推送的功能,我也是第一次搞推送,一直都無從下手,后來總監又讓我用騰訊的信鴿推送功能,讓我研究一下,我花了幾天,終于把它搞出來,搞出來的感覺真的是輕松多了,以下是我的總結,希望能給后者一些啟示和方便。。。。。
??
信鴿iOSSDK
?
開發者指南
?
?
騰訊(深圳)科技有限公司
(版權所有)
?
目錄
1.?????? 簡介... 3
2.?????? 運行環境... 3
3.?????? 功能... 3
3.1.??????? 獲取Access ID和Access Key. 3
3.2.??????? 工程配置... 4
4.?????? API接口... 4
4.1.??????? 注冊設備信息... 4
4.2.??????? 初始化Push信息... 5
4.3.??????? 設置標簽... 5
4.4.??????? 刪除標簽... 5
4.5.??????? 推送被打開效果統計... 6
4.6.??????? 注銷設備... 7?
1.??信鴿iOS SDK是一個能夠提供Push服務的開發平臺,提供給開發者簡便、易用的API接口,方便快速接入。
2.?iOS5.0 及以上版本。在程序啟動時注冊通知,參考以下代碼,
-?(void)?registerNofitication?{
[[UIApplication?sharedApplication]?registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert?|?UIRemoteNotificationTypeBadge?|?UIRemoteNotificationTypeSound)];
}
-?(BOOL)application:(UIApplication?*)application?didFinishLaunchingWithOptions:(NSDictionary?*)launchOptions
{
????[self?registerNofitication];
????return?YES;
}
3.? 功能
本SDK主要提供以下功能:
1. 注冊設備
a)??初始化設備信息(返回deviceToken)
b)??注銷設備
2. 初始化Push信息
a)??Push服務的初始化
3. 標簽(Tag)
a)??設置標簽
b)??刪除標簽
4. 效果統計
a)??推送點擊效果(app在前臺運行時)
b)??推送點擊效果(app不在前臺運行,點擊通知激活時)
3.1.???? 獲取Access ID和Access Key
前往前臺http://xg.qq.com 注冊并獲取Access ID和Access Key。
3.2.???? 工程配置
1、下載信鴿SDK壓縮包到本地并解壓;
2、創建或打開Xcode iOS工程;
3、將XGPush.h和libXG-SDK.a添加到Xcode工程;
4、添加對以下libraries的引用。包括CFNetwork.framework , SystemConfiguration.framework, CoreTelephony.framework , libz.dylib , libXG-SDK.a
?
?
4.? API接口
| 類名 | 說明 |
| XGPush | Push服務,推送效果 |
4.1.???? 注冊設備信息
在application: didRegisterForRemoteNotificationsWithDeviceToken中調用。
?? 函數原型
?? +(NSString*)registerDevice:(NSData?*)deviceToken;
?? 參數
deviceToken:
? 函數didRegisterForRemoteNotificationsWithDeviceToken的參數。
?
?? 返回值
NSString:獲取到的deviceToken字符串
?? 示例
?? -?(void)application:(UIApplication?*)application?didRegisterForRemoteNotificationsWithDeviceToken:(NSData?*)deviceToken?{
?? //注冊設備
NSString * deviceTokenStr = [XGPush registerDevice: deviceToken];
???
?? //打印獲取的deviceToken的字符串
NSLog(@"deviceTokenStr is %@",deviceTokenStr);
}
4.2.???? 初始化Push信息
在application: didFinishLaunchingWithOptions中調用startWithAppkey接口,初始化。
?? 函數原型
?? +(void)startApp:(uint32_t)appId appKey:(NSString*)appKey;
?? 參數
? appId:
通過xg.qq.com注冊app時得到的accessID。
appkey:
? 通過xg.qq.com注冊app時得到的access Key。
?
?? 返回值
無
?? 示例
?? [XGPush startApp:101 appKey:@"akey"];
4.3.???? 設置標簽開發者可以針對不同的用戶設置標簽。
函數原型
+(void)setTag:(NSString*)tag;
參數
tag:
字符串
返回值
無
示例
NSString*?tag=?@"age:10";
?[XGPush?setTag: tag];
4.4.???? 刪除標簽開發者可以刪除設置過的標簽。
函數原型
+(void)delTag:(NSString *)tag;
參數
tag:
字符串
返回值
無
示例
NSDictionary*?tag=?@"age:10";
?[XGPush?delTag: tag];
4.5.???? 推送被打開效果統計如果需要統計由信鴿推送的點擊或者打開,需要開發者在didReceiveRemoteNotification(如果沒有則按照下面的示例手動添加)中調用handleReceiveNotification , 然后在didFinishLaunchingWithOptions中調用handleLaunching。
函數原型
+(void)handleReceiveNotification:(NSDictionary*)userInfo;//app在前臺運行時
+(void)handleLaunching:(NSDictionary*)launchOptions;//app不在前臺運行時,點擊推送激活時
?
參數
事件本身默認的參數名
返回值
無
示例
-?(void)application:(UIApplication*)application?didReceiveRemoteNotification:(NSDictionary*)userInfo
{
? ?[XGPush?handleReceiveNotification:userInfo];
}
?
-?(BOOL)application:(UIApplication?*)application?didFinishLaunchingWithOptions:(NSDictionary?*)launchOptions
{
?? [XGPush?handleLaunching:launchOptions];
}
?
?
下面以iPhone4s ,iOS7的實際推送為例,介紹設備收到推送的實際情況。
l? app在前臺運行時,不彈出推送框,但是app通過代碼可以獲取到推送的消息。
l? app在后臺運行或者殺死狀態時,會彈出推送框并且可以通過代碼獲取到推送的消息。
l? app在前臺和后臺運行時,推送上報觸發的是didReceiveRemoteNotification事件。
l? app在殺死狀態時,推送上報觸發的是didFinishLaunchingWithOptions事件。
4.6.???? 注銷設備注銷設備,此臺設備不接收推送。
函數原型
+(void)unRegisterDevice;
參數
無
返回值
無
示例
?[XGPush?unRegisterDevice];?
總結
- 上一篇: Eclipse Button按钮样式简单
- 下一篇: go zap + lumberjack