Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
GMPhobos
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gengmeiios
GMPhobos
Commits
387541a6
Commit
387541a6
authored
Dec 19, 2019
by
井庆林
Browse files
Options
Browse Files
Download
Plain Diff
..
parents
ba0f2e96
4ea007a8
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
29 additions
and
29 deletions
+29
-29
Phobos.m
GMPhobos/Classes/Phobos.m
+7
-12
PhobosPVProtocol.h
GMPhobos/Classes/PhobosPVProtocol.h
+1
-1
UIResponder+PhobosPV.h
GMPhobos/Classes/UIResponder+PhobosPV.h
+1
-1
UIResponder+PhobosPV.m
GMPhobos/Classes/UIResponder+PhobosPV.m
+20
-15
No files found.
GMPhobos/Classes/Phobos.m
View file @
387541a6
...
...
@@ -349,7 +349,7 @@ static dispatch_queue_t _normalQueue;
[
dict
setObject
:
page
.
pageName
forKey
:
@"page_name"
];
[
dict
setObject
:
page
.
businessId
?:
@""
forKey
:
@"business_id"
];
[
dict
setObject
:
page
.
referer
?:
@""
forKey
:
@"referrer"
];
[
dict
setObject
:
page
.
refer
erLink
?
:
@[]
forKey
:
@"refe
rer_link"
];
[
dict
setObject
:
page
.
refer
rerLink
?
:
@[]
forKey
:
@"refer
rer_link"
];
[
dict
setObject
:
@
(
0
)
forKey
:
@"fake"
];
[
dict
setObject
:
page
.
referrerId
?
:
@""
forKey
:
@"referrer_id"
];
[
dict
setObject
:
page
.
extraParam
?
:
@""
forKey
:
@"extra_param"
];
...
...
@@ -372,11 +372,12 @@ static dispatch_queue_t _normalQueue;
* @since 0.0.1
*/
-
(
NSDictionary
*
)
prepareDictionaryForEvent
:
(
NSString
*
)
eventName
attributes
:
(
NSDictionary
*
)
attributes
{
[
self
catchNullForEvent
:
eventName
attributes
:
attributes
];
NSArray
*
refererLink
=
_sharedClient
.
visibleController
.
refererLink
;
NSMutableDictionary
*
attributesParams
=
[
NSMutableDictionary
dictionaryWithDictionary
:
attributes
];
[
attributesParams
setValue
:
refererLink
?
:
@[]
forKey
:
@"referer_Link"
];
attributes
=
attributesParams
;
NSArray
*
referrerLink
=
_sharedClient
.
visibleController
.
referrerLink
;
if
(
!
[
eventName
isEqualToString
:
@"page_view"
])
{
NSMutableDictionary
*
attributesParams
=
[
NSMutableDictionary
dictionaryWithDictionary
:
attributes
];
[
attributesParams
setValue
:
referrerLink
?
:
@[]
forKey
:
@"referrer_link"
];
attributes
=
attributesParams
;
}
[
self
catchNullForEvent
:
eventName
attributes
:
attributes
];
NSMutableDictionary
*
dict
=
[[
NSMutableDictionary
alloc
]
init
];
@try
{
...
...
@@ -619,12 +620,6 @@ static dispatch_queue_t _normalQueue;
phobosLog
(
@"两个埋点outTime 时间差------%f"
,
(
fabsl
(
objOutTime
-
pageOutTime
)));
checkTimeError
=
YES
;
phobosLog
(
@"%s____数据校验失败,PV埋点可能重复"
,
__func__
);
/*
dispatch_async(dispatch_get_main_queue(), ^{
NSString *stringTitle = [NSString stringWithFormat:@"%@ PV埋点可能重复", data];
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:stringTitle message:nil delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
[alertView show];
});*/
break
;
}
}
...
...
GMPhobos/Classes/PhobosPVProtocol.h
View file @
387541a6
...
...
@@ -78,7 +78,7 @@ NS_ASSUME_NONNULL_BEGIN
/**
获取上一个页面链路的page_name link by 7.20.0 如果有此页面有page_name则添加 , 没有添加""
*/
@property
(
nonatomic
,
copy
)
NSArray
*
refererLink
;
@property
(
nonatomic
,
copy
)
NSArray
*
refer
r
erLink
;
@end
...
...
GMPhobos/Classes/UIResponder+PhobosPV.h
View file @
387541a6
...
...
@@ -16,7 +16,7 @@
-
(
void
)
initReferer
;
/**
//
只适用于链路中页面浏览PVLink
添加 refererLink 参数
//
// 适用于链路中页面浏览事件的统计
添加 refererLink 参数
*/
-
(
void
)
initRefererLink
;
...
...
GMPhobos/Classes/UIResponder+PhobosPV.m
View file @
387541a6
...
...
@@ -45,23 +45,27 @@
}
}
//
只适用于链路中页面浏览PVLink
添加 refererLink 参数
//
适用于链路中页面浏览事件的统计
添加 refererLink 参数
-
(
void
)
initRefererLink
{
if
([
self
isKindOfClass
:[
UIViewController
class
]])
{
// 分present与navigation两种情况
UIViewController
*
me
=
(
UIViewController
*
)
self
;
if
(
me
.
isPush
.
intValue
)
{
// 如果是推送进来的,结果页面的referrerLink 为空数组, 此处添加过滤。
objc_setAssociatedObject
(
self
,
@selector
(
referrerLink
),
@[],
OBJC_ASSOCIATION_RETAIN_NONATOMIC
);
return
;
}
if
(
me
.
presentingViewController
!=
nil
)
{
// app全局只有一个navigation,发现此时用navigation.topViewController presentViewController时,最终使用的是navigation弹出的
// 所以此处要判断,如果是navigation弹出,最后还是要定位到topViewController
if
([
me
.
presentingViewController
isKindOfClass
:[
UINavigationController
class
]])
{
UIViewController
*
top
=
((
UINavigationController
*
)
me
.
presentingViewController
).
topViewController
;
NSMutableArray
*
temp
RefererLink
=
[
NSMutableArray
arrayWithArray
:
top
.
refe
rerLink
];
[
temp
Referer
Link
addObject
:
top
.
pageName
];
objc_setAssociatedObject
(
self
,
@selector
(
pageLink
),
tempRefererLink
,
OBJC_ASSOCIATION_COPY
);
NSMutableArray
*
temp
Link
=
[
NSMutableArray
arrayWithArray
:
top
.
refer
rerLink
];
[
tempLink
addObject
:
top
.
pageName
];
objc_setAssociatedObject
(
self
,
@selector
(
referrerLink
),
tempLink
,
OBJC_ASSOCIATION_RETAIN_NONATOMIC
);
}
else
{
NSMutableArray
*
temp
RefererLink
=
[
NSMutableArray
arrayWithArray
:
me
.
presentingViewController
.
refe
rerLink
];
[
temp
Referer
Link
addObject
:
me
.
presentingViewController
.
pageName
];
objc_setAssociatedObject
(
self
,
@selector
(
pageLink
),
tempRefererLink
,
OBJC_ASSOCIATION_COPY
);
NSMutableArray
*
temp
Link
=
[
NSMutableArray
arrayWithArray
:
me
.
presentingViewController
.
refer
rerLink
];
[
tempLink
addObject
:
me
.
presentingViewController
.
pageName
];
objc_setAssociatedObject
(
self
,
@selector
(
referrerLink
),
tempLink
,
OBJC_ASSOCIATION_RETAIN_NONATOMIC
);
}
}
else
{
NSArray
*
navigationPool
=
((
UIViewController
*
)
self
).
navigationController
.
viewControllers
;
...
...
@@ -70,20 +74,21 @@
return
;
}
UIViewController
*
controller
=
navigationPool
[
refererIndex
];
NSMutableArray
*
temp
RefererLink
=
[
NSMutableArray
arrayWithArray
:
controller
.
refe
rerLink
];
[
temp
Referer
Link
addObject
:
controller
.
pageName
];
objc_setAssociatedObject
(
self
,
@selector
(
refer
erLink
),
tempRefererLink
,
OBJC_ASSOCIATION_COPY
);
NSMutableArray
*
temp
Link
=
[
NSMutableArray
arrayWithArray
:
controller
.
refer
rerLink
];
[
tempLink
addObject
:
controller
.
pageName
];
objc_setAssociatedObject
(
self
,
@selector
(
refer
rerLink
),
tempLink
,
OBJC_ASSOCIATION_RETAIN_NONATOMIC
);
}
}
}
-
(
void
)
setRefer
erLink
:
(
NSArray
*
)
refe
rerLink
{
objc_setAssociatedObject
(
self
,
@selector
(
refer
erLink
),
refererLink
,
OBJC_ASSOCIATION_COPY
);
-
(
void
)
setRefer
rerLink
:
(
NSArray
*
)
refer
rerLink
{
objc_setAssociatedObject
(
self
,
@selector
(
refer
rerLink
),
referrerLink
,
OBJC_ASSOCIATION_RETAIN_NONATOMIC
);
}
-
(
NSArray
*
)
refererLink
{
NSArray
*
refererLink
=
objc_getAssociatedObject
(
self
,
@selector
(
refererLink
));
return
refererLink
;
-
(
NSArray
*
)
referrerLink
{
NSArray
*
referrerLink
=
objc_getAssociatedObject
(
self
,
@selector
(
referrerLink
));
return
referrerLink
;
}
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment