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];
- XG(信鸽推送)
- react native XG推送
- 信鸽推送
- 信鸽推送
- 信鸽推送
- 信鸽推送
- 安卓信鸽推送
- 腾讯信鸽推送
- <iOS>信鸽推送
- 信鸽推送遇到问题
- iOS 信鸽推送
- 信鸽推送集成
- 信鸽推送简易示例
- iOS 信鸽推送
- 信鸽推送的集成
- 信鸽推送-10005错误
- 腾讯信鸽推送记要
- 腾讯信鸽消息推送
- ssh 连接缓慢解决方法
- 黑马程序员_Java基础_概述
- 生成某网址的二维码
- JAVA & C++ 向上转型 区别
- Nginx做前端Proxy时TIME_WAIT过多的问题
- XG(信鸽推送)
- Debian上简单的Samba文件共享服务器设置
- 分页的一些想法
- 《数据结构、算法与应用》4.(递归和非递归实现斐波那契数列)
- 将表达式作为返回值返回,简化程序:找出两个整数中最小值
- asdfasdfsd阿萨德发撒的发撒的发撒的发
- eclipse Maven配置以及使用方法
- CentOS6.4下Mysql数据库的安装与配置
- 苹果新CFO何许人也:接班早有前兆