有哪些第三方移动推送值得推荐( 二 )
推送被打开效果统计
如果需要统计由信鸽推送的点击或者打开,需要开发者在didReceiveRemoteNotification(如果没有则按照下面的示例手动添加)中调用handleReceiveNotification, 然后在didFinishLaunchingWithOptions中调用handleLaunching。
函数原型:
+(void)handleReceiveNotificationPro:(NSDictionary*)userInfo;//app在前台或者后台运行时
+(void)handleLaunchingPro:(NSDictionary*)launchOptions;//app不在运行时,点击推送激活时
参数说明:
事件本身默认的参数名
返回值:
无
示例:
-(void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary*)userInfo
{
;
}
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
;
}
三测试DEMO
APPDelegate.h
#import \u0026lt;UIKit/UIKit.h\u0026gt;
@interface AppDelegate : UIResponder \u0026lt;UIApplicationDelegate\u0026gt;
@property (strong, nonatomic) UIWindow *window;
@end
APPDelegate.m
#import "AppDelegate.h"
#import "XGPush.h"
#import "XGPushPro.h"
#import "MTA.h"
#import "MTAConfig.h"
@implementationAppDelegate
- (void)registerNofitication {
registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
;
setDebugEnable:TRUE]; //是否查看MTA调试信息
;
//初始化app
;
//推送反馈(app不在前台运行时,点击推送激活时)
;
return YES;
}
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification{
//notification是发送推送时传入的字典信息
;
//删除推送列表中的这一条
;
//;
//清空推送列表
//;
}
- (void)application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
#ifdef DEBUG
//NSLog(@"development mode");
#else
//NSLog(@"distribution mode");
#endif
//注册设备
//;
NSString * deviceTokenStr = ;
//打印获取的deviceToken的字符串
NSLog(@"deviceTokenStr is%@",deviceTokenStr);
}
- (void)application:(UIApplication *)appdidFailToRegisterForRemoteNotificationsWithError:(NSError *)err {
NSString *str = ;
NSLog(@"%@",str);
}
- (void)application:(UIApplication*)applicationdidReceiveRemoteNotification:(NSDictionary*)userInfo
{
//推送反馈(app在前台运行时) 如果是纯净版信鸽
//;
//如果是信鸽Pro,上报信息给MTA
;
}
- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about tomove from active to inactive state. This can occur for certain types oftemporary interruptions (such as an incoming phone call or SMS message) or whenthe user quits the application and it begins the transition to the backgroundstate.
推荐阅读
- 西藏首台5G网络车载移动CT仪器投用
- 医院|感染艾滋病毒初期有哪些征兆?可以自行检查吗?共用马桶会传染吗
- 玩游戏花钱最多的有哪些游戏,哪些人
- 教育|中国移动“和教育”智慧校园研讨会在通召开
- 夕阳红|南通移动:“智慧养老”手机让“夕阳红”不孤单
- 旅行|需要准备哪些物品?全面冬季出游清单,建议收藏带宝宝出门旅行
- 红米手机通过QQ空间的成功营销,给涉足社会化营销的企业有哪些启示
- 互联网在线音乐行业有哪些可能的盈利模式
- 直播会成为品牌传播的另一个途径么有哪些可行的方法感觉有戏又没头绪好捉急。
- 侧重业务逻辑的产品需求规格说明书,需要有哪些要点
