XG(信鸽推送)

来源:互联网 发布:iphonex值得买吗 知乎 编辑:程序博客网 时间:2024/04/27 15:58

之前总监一直让我看看推送,想在项目里面加一个推送的功能,我也是第一次搞推送,一直都无从下手,后来总监又让我用腾讯的信鸽推送功能,让我研究一下,我花了几天,终于把它搞出来,搞出来的感觉真的是轻松多了,以下是我的总结,希望能给后者一些启示和方便。。。。。

  

信鸽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]; 


0 0
原创粉丝点击