Commit 4e03d4f6 authored by jz's avatar jz

modify error

parent 59b4d94d
......@@ -7,7 +7,11 @@
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
extern NSString *const KprivatePolicyNotification;
typedef void (^PhobosGetIDFACompleteBlock)(NSDictionary *dict);
......@@ -29,6 +33,8 @@ typedef void (^PhobosGetIDFACompleteBlock)(NSDictionary *dict);
/// 获取UQID,同步获取取出的是默认第一次的idfv 如果没有用idfv 生成
+ (NSString *)getUQID;
/// 用户是否点击了隐私协议 点击同意之后才会获取 device_id
+ (BOOL)showPrivatePolicy;
@end
NS_ASSUME_NONNULL_END
......@@ -8,8 +8,10 @@
#import "PhobosDevice.h"
#import <AdSupport/ASIdentifierManager.h>
#import <SAMKeychain/SAMKeychain.h>
#import <GMCache/GMCache.h>
//#import <AppTrackingTransparency/AppTrackingTransparency.h>
NSString *const KprivatePolicyNotification = @"gm_popup_private_policy_notification";
//钥匙串账户
NSString *const keyChainAccount = @"com.wanmeizhensuo.ZhengXing.phobos.keychain";
//钥匙串账户 表示device_id
......@@ -25,6 +27,9 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000";
//同步获取IDFA 直接从钥匙串中获取 适配ATTrackingManagerAuthorization可使用下面方法
+ (NSString *)getIDFA {
if (![PhobosDevice showPrivatePolicy]) {
return defaultIDFA;
}
//直接从钥匙串中获取
NSString *keyChainIDFA = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
if ([self checkIdfaIsNull:keyChainIDFA]) {
......@@ -100,12 +105,18 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000";
#pragma mark - getIDFV
+ (NSString *)getIDFV {
if (![PhobosDevice showPrivatePolicy]) {
return defaultIDFA;
}
return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
}
#pragma mark - getDEVICEID
+ (NSString *)getDEVICEID {
if (![PhobosDevice showPrivatePolicy]) {
return defaultIDFA;
}
NSString *idfa = [self getIDFA];
if ([self checkIdfaIsNull:idfa]) {
idfa = [self getUQID];
......@@ -114,6 +125,9 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000";
}
+ (NSString *)getUQID {
if (![PhobosDevice showPrivatePolicy]) {
return defaultIDFA;
}
NSString *deviceId = [self getKeyChainService:DEVICEID account:keyChainAccount];
if ([self checkIdfaIsNull:deviceId]) {
deviceId = [self getIDFV];
......@@ -133,4 +147,8 @@ NSString *defaultIDFA = @"00000000-0000-0000-0000-000000000000";
+ (NSString *)getKeyChainService:(NSString *)service account:(NSString *)account {
return [SAMKeychain passwordForService:service account:account];
}
+ (BOOL)showPrivatePolicy {
return [GMCache fetchObjectAtDocumentPathWithkey:KprivatePolicyNotification];
}
@end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment