要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install
PathPlug 提供我们的 SDK 的两个版本。libPathPlug.a 是支持 iOS7 的高级开发者使用。从 iOS8 及以上版本,我们将以 PathPlugSDK.framework 的形式发布我们的 SDK。
自动引用计数(ARC)
PathPlug 通过 CocoaPods 可用。要安装它,只需将以下行添加到您的 Podfile 中
pod "PathPlugSDK"
或者您也可以克隆此仓库并使用位于 /Pod/ 目录下的 PathPlugSDK.framework 或 libPathPlugSDK.a 文件。
您可以在 PrefixHeader 中导入 PathPlugSDK 以便于访问(可选)
#import <PathPlugSDK/PathPlugSDK.h>
您需要两个密钥:App Key 和 App Secret。您可以从 www.pathlug.com 获取这些密钥。以下是在任何视图控制器中进行设置示例
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
// ...#import <PathPlugSDK/PathPlugSDK.h>
[[PathPlug sharedPlug] initWithAppKey:@"AppKey" andAppSecret:@"AppSecret"];
// ...
return YES;
}
PathPlugSDK 初始化一个单例对象,您可以在应用中的任何地方使用它。
PathPlug *pathPlug = [PathPlug sharedPlug];
停止 PathPlug 服务
– stopService
启动 PathPlug 服务
– startService
返回应用 beacon 的 NSArray*
– getBeaconList
添加 beacon
-(void)addBeaconToMonitoring:(Beacon*)beacon;
删除 beacon
-(void)removeBeaconFromMonitoring:(Beacon*)beacon;
您对哪些交互应该由 PathPlugSDK 处理拥有完全控制权。我们提供了控制每个交互的方法,您还可以使用单个命令启用和禁用所有 beacon。
-(void)enableHeatmap;
-(void)disableHeatmap;
-(void)enableVirtualTag;
-(void)disableVirtualTag;
-(void)enableSmartNote;
-(void)disableSmartNote;
-(void)enableAudioSign;
-(void)disableAudioSign;
-(void)enableAllBeacons;
-(void)disableAllBeacons;
assitanceRefreshInterval
virtualTagRefreshInterval
smartNoteRefreshInterval
AssitanceEnabled
HeatmapEnabled
SmartNoteEnabled
BeaconInfoEnabled
VirtualTagEnabled
dataRefreshInterval
返回封装在 Plug Data 中的音频信号交互信息
- (void)pathPlug:(id)pathPlug getAssistanceData:(id)data
当热图活跃且发生区域进入/退出动作时触发
- (void)pathPlug:(id)pathPlug getHeatmapData:(id)data forBeacon:(id)beacon
当检测到带有smartnote对象的信标时触发
- (void)pathPlug:(id)pathPlug getSmartNoteData:(id)data
返回虚拟标签交互信息,封装在Plug数据中
- (void)pathPlug:(id)pathPlug getVirtualtagData:(id)data
当从API完全下载数据并准备好使用时触发
- (void)pathPlug:(id)pathPlug isFrameworkReady:(id)result
返回信标的实时检测及其距离
- (void)pathPlug:(id)pathPlug updatedBeaconData:(id)beacon andDistance:(id)distance
我们为Treasurehunt分配了自己的管理器,以更有效处理不同的比赛和步骤。您可以通过以下方式访问它
[PathPlug sharedPlug] treasureHuntManager];
检查我们是否为当前问题设置了信标
-(void)treasureHuntManager:(TreasureHuntManager*)manager didRangeBeacon:(Beacon*)beacon;
检查我们是否从PathPlug服务器收到了奖励代码
-(void)treasureHuntManager:(TreasureHuntManager *)manager didReceiveAwardCode:(NSString*)awardCode;
您可以从后端定义的比赛中设置一个随机比赛。我们建议您为每个比赛定义两组或多组以保持用户的兴趣
-(void)setRandomContest;
控制函数
-(void)startTreasureHunt;
-(void)stopTreasureHunt;
-(void)resetTreasureHunt;
您还可以启动和停止信标的测距(如果需要的话)
-(void)startRanging;
-(void)stopRanging;
步骤控制器
-(void)moveToNextStep;
-(void)failStep;
-(void)successStep;
-(void)goToFinalStep;
您可以获取有关当前步骤的信息,用于UI和其他信息
-(TreasureHuntStep*)getCurrentStepInfo;
返回有关当前比赛的信息
-(TreasureHuntContest*)getCurrentContest;
总步骤数(用于计数器或页面指示器)
-(int)totalSteps;
检查给定的信标是否处于活动状态(高级)
-(BOOL)checkForActiveBeacon:(Beacon*)beacon;
您可以通过以下链接访问PathPlug的类文档这里
Berk Taner, [email protected]
PathPlug可在MIT许可证下使用。有关更多信息,请参阅LICENSE文件。