浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
(以“<div class="bluetitle"><div class="services-title-text">简介</div></div> 百度iOS定位SDK支持定位防作弊功能,挖掘各类模拟定位方式对百度...”为内容创建页面)
 
 
第7行: 第7行:
  
 
<div class="devguide">
 
<div class="devguide">
<div class="leftborderbg" style="min-height:920px;"></div>
+
<div class="leftborderbg" style="min-height:950px;"></div>
 
<div class="devguideorder"><span>1</span>引入头文件</div>
 
<div class="devguideorder"><span>1</span>引入头文件</div>
 
<div class="devguidecenter">在调用定位功能的类中引入 BMKLocationComponent.h 这个头文件。
 
<div class="devguidecenter">在调用定位功能的类中引入 BMKLocationComponent.h 这个头文件。

2022年3月11日 (五) 19:27的最后版本

简介

百度iOS定位SDK支持定位防作弊功能,挖掘各类模拟定位方式对百度定位SDK内部信息的影响特征,综合多源数据分析,有效的识别模拟定位结果,为签到、运动、游戏等场景的位置真实性提供有力保障。


实现定位防作弊能力的方法如下:

1引入头文件
在调用定位功能的类中引入 BMKLocationComponent.h 这个头文件。
#import <BMKLocationkit/BMKLocationComponent.h>
2配置AK
在调用定位时,需要添加AK,需要注意的是请在 SDK 任何类的初始化以及方法调用之前设置正确的 AK。设置AK的方式如下:
[[BMKLocationAuth sharedInstance] checkPermisionWithKey:@"输入AK" authDelegate:self];
3初始化locationManager
self.locationManager = [BMKLocationManager new];
self.locationManager.delegate = self;
4单次定位

调用 BMKLocationManager 的 requestLocationWithReGeocode:withNetworkState:completionBlock: 方法,请求一次定位。

[self.locationManager requestLocationWithReGeocode:YES withNetworkState:YES completionBlock:^(BMKLocation * _Nullable location, BMKLocationNetworkState state, NSError * _Nullable error) {
        
        if (error) {
            NSLog(@"locError:{%ld - %@};", (long)error.code, error.localizedDescription);
        }
        
        NSString *result;
        if (location.location) {
            //得到定位信息,判断作弊概率
            switch (location.mockProbability) {
                case BMKMockLocationProbabilityNone:
                    result = @"当前定位信息作弊概率为0";
                    break;
                case BMKMockLocationProbabilityLow:
                    result = @"当前定位信息作弊概率为低概率";
                    break;
                case BMKMockLocationProbabilityMid:
                    result = @"当前定位信息作弊概率为中概率";
                    break;
                case BMKMockLocationProbabilityHigh:
                    result = @"当前定位信息作弊概率为高概率";
                    break;
                default:
                    break;
            }
        }
}];

5持续定位
调用BMKLocationManager提供的startUpdatingLocation方法实现。代码如下
[self.locationManager startUpdatingLocation];

5.1持续定位回调 实现BMKLocationManagerDelegate的方法

- (void)BMKLocationManager:(BMKLocationManager * _Nonnull)manager didUpdateLocation:(BMKLocation * _Nullable)location orError:(NSError * _Nullable)error {
    
    if (error) {
        NSLog(@"locError:{%ld - %@};", (long)error.code, error.localizedDescription);
    }
    
    NSString * result;
    if (location) {
        if (location.location) {
            //得到定位信息,判断作弊概率
            switch (location.mockProbability) {
                case BMKMockLocationProbabilityNone:
                    result = @"当前定位信息作弊概率为0";
                    break;
                case BMKMockLocationProbabilityLow:
                    result = @"当前定位信息作弊概率为低概率";
                    break;
                case BMKMockLocationProbabilityMid:
                    result = @"当前定位信息作弊概率为中概率";
                    break;
                case BMKMockLocationProbabilityHigh:
                    result = @"当前定位信息作弊概率为高概率";
                    break;
                default:
                    break;
            }
        }
    }
}
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消